diff --git a/.gitignore b/.gitignore index eea51eb2fe..ae027c181e 100644 --- a/.gitignore +++ b/.gitignore @@ -1,8 +1,11 @@ - + .vscode/ .idea/ +.config/ .vs/ */.DS_Store .DS_Store ck3-tiger.conf + +.config/ diff --git a/common/accolade_types/04_ep2_maa_attributes.txt b/common/accolade_types/04_ep2_maa_attributes.txt index 307eb4ce6b..b07388733d 100644 --- a/common/accolade_types/04_ep2_maa_attributes.txt +++ b/common/accolade_types/04_ep2_maa_attributes.txt @@ -2352,7 +2352,7 @@ caster_attribute = { has_elven_heritage_trigger = yes has_cultural_pillar = heritage_demonic is_culture_or_parent_culture_trigger = { CULTURE = culture:dalaranian } - has_innovation = innovation_archmage + has_innovation = innovation_archmagi has_innovation = innovation_hag has_innovation = innovation_chaosborn has_innovation = innovation_hexer diff --git a/common/activities/activity_types/adult_education.txt b/common/activities/activity_types/adult_education.txt index 78d0499b73..fa24dc9e34 100644 --- a/common/activities/activity_types/adult_education.txt +++ b/common/activities/activity_types/adult_education.txt @@ -822,6 +822,23 @@ desc = activity_cost_hostile_faith_desc } } + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add = { + value = 0 + add = { + value = medium_piety_value + multiply = feast_activity_cost_discount_max_value + } + desc = game_concept_wc_spell_vernal_solstice + } + } } } } diff --git a/common/activities/activity_types/feast.txt b/common/activities/activity_types/feast.txt index 7ec6530e31..657dd17548 100644 --- a/common/activities/activity_types/feast.txt +++ b/common/activities/activity_types/feast.txt @@ -1064,6 +1064,29 @@ activity_feast = { desc = law_legacy_1_name } } + # Warcraft + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add = { + value = 0 + add = { + value = feast_activity_cost + add = { + value = feast_activity_cost + multiply = activity_cost_scale_by_era + subtract = feast_activity_cost + } + } + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } + } #court.8140 if = { limit = { @@ -4312,7 +4335,51 @@ activity_feast = { } on_enter_passive_state = { - trigger_event = feast.7002 + # Warcraft + if = { + limit = { + this = scope:host + has_character_modifier = wc_conjure_feast_modifier + } + trigger_event = wc_magic_spell_events.0300 + } + else = { + trigger_event = feast.7002 + + scope:activity = { + if = { + limit = { + has_variable = selected_refreshment + } + var:duration = { + save_scope_as = duration + } + if = { + limit = { + var:selected_refreshment = flag:food + } + root = { + add_character_modifier = { + modifier = wc_conjure_food_modifier + days = wc_current_spell_duration + } + } + } + else_if = { + limit = { + var:selected_refreshment = flag:drink + } + root = { + add_character_modifier = { + modifier = wc_conjure_drink_modifier + days = wc_current_spell_duration + } + } + } + } + } + } + # End Warcraft } on_enter_active_state = { diff --git a/common/activities/activity_types/hunt.txt b/common/activities/activity_types/hunt.txt index 6e20c533b0..a769b3c3b1 100644 --- a/common/activities/activity_types/hunt.txt +++ b/common/activities/activity_types/hunt.txt @@ -224,6 +224,28 @@ desc = law_legacy_1_name } } + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add = { + value = 0 + add = { + value = hunt_activity_base_cost + add = { + value = hunt_activity_base_cost + multiply = activity_cost_scale_by_era + subtract = hunt_activity_base_cost + } + } + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } + } if = { limit = { has_character_flag = free_hunt diff --git a/common/activities/activity_types/pilgrimage.txt b/common/activities/activity_types/pilgrimage.txt index f4ec327c62..59f912241f 100644 --- a/common/activities/activity_types/pilgrimage.txt +++ b/common/activities/activity_types/pilgrimage.txt @@ -795,6 +795,17 @@ desc = imaginary_friend_pilgrimage_discount } } + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } #court.8140 if = { limit = { diff --git a/common/activities/activity_types/tour.txt b/common/activities/activity_types/tour.txt index bf3a80ad30..3f7acb2951 100644 --- a/common/activities/activity_types/tour.txt +++ b/common/activities/activity_types/tour.txt @@ -544,6 +544,17 @@ subtract = 50 desc = activity_cost_scale_by_era_desc } + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add = { + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } + } # Some people get one free. if = { limit = { factor_zero_if_entitled_to_freebie_activity_trigger = yes } @@ -905,7 +916,17 @@ on_start = { scope:host = { - add_prestige = medium_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } } is_valid = { @@ -968,7 +989,17 @@ on_start = { scope:host = { - add_prestige = major_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = massive_prestige_gain + } + else = { + add_prestige = major_prestige_gain + } } } @@ -1154,7 +1185,17 @@ on_start = { scope:host = { - add_prestige = 30 + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } } @@ -1230,7 +1271,17 @@ on_start = { scope:host = { - add_prestige = medium_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } } @@ -1282,7 +1333,17 @@ on_start = { scope:host = { - add_prestige = major_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = massive_prestige_gain + } + else = { + add_prestige = major_prestige_gain + } } } @@ -2350,6 +2411,20 @@ add = 25 } } + if = { + limit = { + scope:activity = { + location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + + } + } + change_variable = { + name = tour_success_var + add = 15 + } + } # Creates a list of every vassal you plan to visit and sets a character flag on them so they are unavailable and cannot plan activities/travel every_activity_phase_location = { diff --git a/common/activities/activity_types/tournament.txt b/common/activities/activity_types/tournament.txt index 5f7b70cdf5..51cf848ce9 100644 --- a/common/activities/activity_types/tournament.txt +++ b/common/activities/activity_types/tournament.txt @@ -1046,6 +1046,28 @@ desc = tournament_activity_cost_discount_barracks_desc } } + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add = { + value = 0 + add = { + value = tournament_base_cost + add = { + value = tournament_base_cost + multiply = activity_cost_scale_by_era + subtract = tournament_base_cost + } + } + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } + } # Some people get one free. if = { limit = { factor_zero_if_entitled_to_freebie_activity_trigger = yes } @@ -1535,7 +1557,17 @@ on_start = { scope:host = { - add_prestige = medium_prestige_value + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } } @@ -4110,7 +4142,17 @@ highest_held_title_tier = tier_duchy } } - add_prestige = minor_prestige_value + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = medium_prestige_gain + } + else = { + add_prestige = minor_prestige_gain + } } else_if = { # If liege is a king limit = { @@ -4118,10 +4160,30 @@ highest_held_title_tier = tier_kingdom } } - add_prestige = medium_prestige_value + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } else = { # If liege is an emperor - add_prestige = major_prestige_value + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = massive_prestige_gain + } + else = { + add_prestige = major_prestige_gain + } } } } diff --git a/common/activities/activity_types/wedding.txt b/common/activities/activity_types/wedding.txt index 8e88100521..6cce5cbe9a 100644 --- a/common/activities/activity_types/wedding.txt +++ b/common/activities/activity_types/wedding.txt @@ -687,6 +687,21 @@ desc = ep2_activities_legacy_2_name } } + if = { + limit = { + scope:province ?= { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add = { + value = root.base_wedding_cost + multiply = 3 + multiply = feast_activity_cost_discount_max_value + desc = game_concept_wc_spell_vernal_solstice + } + } # Some people get one free. if = { limit = { @@ -1829,7 +1844,17 @@ # Vassal Opinion and Option bonuses wedding_good_option_effect = yes scope:host = { - add_prestige = medium_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = major_prestige_gain + } + else = { + add_prestige = medium_prestige_gain + } } # keep synced with the cost of the option if = { diff --git a/common/buildings/wc_special_buildings.txt b/common/buildings/wc_special_buildings.txt index 5383a6c6a9..88add156d9 100644 --- a/common/buildings/wc_special_buildings.txt +++ b/common/buildings/wc_special_buildings.txt @@ -2683,7 +2683,7 @@ cosmic_observatory = { is_enabled = { OR = { culture = { - has_innovation = innovation_archmage + has_innovation = innovation_archmagi } scope:holder = { faith.religion = { is_in_family = rf_shadow } diff --git a/common/casus_belli_types/00_civil_war.txt b/common/casus_belli_types/00_civil_war.txt index ad897bfc5c..074ac7079d 100644 --- a/common/casus_belli_types/00_civil_war.txt +++ b/common/casus_belli_types/00_civil_war.txt @@ -851,7 +851,7 @@ populist_war = { limit = { has_character_flag = peasant_faction_random_peasant } - death = { + override_death_effect = { death_reason = death_vanished } } diff --git a/common/character_interaction_categories/00_character_interaction_categories.txt b/common/character_interaction_categories/00_character_interaction_categories.txt index d24b8885e3..23d549bf1d 100644 --- a/common/character_interaction_categories/00_character_interaction_categories.txt +++ b/common/character_interaction_categories/00_character_interaction_categories.txt @@ -60,18 +60,24 @@ interaction_category_religion = { desc = "RELIGIOUS_ACTIONS" } -interaction_category_uncategorized = { +# Warcraft +interaction_category_wc_magic = { index = 11 + desc = "WC_MAGIC_ACTIONS" +} + +interaction_category_uncategorized = { + index = 12 default = yes desc = "UNCATEGORIZED_ACTIONS" } interaction_debug_main = { - index = 12 + index = 13 desc = "DEBUG_MAIN" } interaction_debug_admin = { - index = 13 + index = 14 desc = "interaction_debug_admin" } diff --git a/common/character_interactions/00_courtier_and_guest_interactions.txt b/common/character_interactions/00_courtier_and_guest_interactions.txt index 4d501f04b7..f0ea9a7bdf 100644 --- a/common/character_interactions/00_courtier_and_guest_interactions.txt +++ b/common/character_interactions/00_courtier_and_guest_interactions.txt @@ -1161,6 +1161,11 @@ invite_to_court_interaction = { exists = scope:recipient.host has_relation_scourge_damned = scope:recipient.host } + modifier = { + add = -1000 + desc = MAGIC_VOID_LEADER_REASON + scope:recipient = { has_character_flag = is_void_leader } + } # Warcraft scourge_interaction_modifiers = yes diff --git a/common/character_interactions/00_grant_titles_interaction.txt b/common/character_interactions/00_grant_titles_interaction.txt index 442921eebb..361ff09fbf 100644 --- a/common/character_interactions/00_grant_titles_interaction.txt +++ b/common/character_interactions/00_grant_titles_interaction.txt @@ -17,6 +17,7 @@ grant_titles_interaction = { is_shown = { NOT = { scope:actor = scope:recipient } + NOT = { scope:recipient = { has_character_flag = is_void_leader } } # Warcraft scope:actor = { NOT = { government_has_flag = government_is_landless_adventurer diff --git a/common/character_interactions/00_heir.txt b/common/character_interactions/00_heir.txt index eb7caa3498..d64af3dc20 100644 --- a/common/character_interactions/00_heir.txt +++ b/common/character_interactions/00_heir.txt @@ -36,6 +36,7 @@ designate_heir_interaction = { NOR = { scope:recipient = scope:actor.designated_heir scope:recipient = scope:actor + scope:recipient = { has_character_flag = is_void_leader } # Warcraft } trigger_if = { limit = { diff --git a/common/character_interactions/00_marriage_interactions.txt b/common/character_interactions/00_marriage_interactions.txt index d54e4b8374..a6a9885b93 100644 --- a/common/character_interactions/00_marriage_interactions.txt +++ b/common/character_interactions/00_marriage_interactions.txt @@ -762,6 +762,12 @@ arrange_marriage_interaction = { # Warcraft scourge_marriage_modifiers = yes + + modifier = { + add = -1000 + desc = MAGIC_VOID_LEADER_REASON + scope:recipient = { has_character_flag = is_void_leader } + } } # If you want the AI to set these options then it needs to be hooked into the code as well @@ -1554,6 +1560,18 @@ marry_off_interaction = { # Warcraft scourge_marriage_modifiers = yes + + modifier = { + add = -1000 + desc = MAGIC_VOID_LEADER_REASON_SECONDARY + scope:secondary_recipient = { has_character_flag = is_void_leader } + } + + modifier = { + add = -1000 + desc = MAGIC_VOID_LEADER_REASON_SECONDARY_ACTOR + scope:secondary_actor = { has_character_flag = is_void_leader } + } } send_option = { diff --git a/common/character_interactions/00_prison_interactions.txt b/common/character_interactions/00_prison_interactions.txt index e1edc411bf..be3c70f4a9 100644 --- a/common/character_interactions/00_prison_interactions.txt +++ b/common/character_interactions/00_prison_interactions.txt @@ -865,6 +865,11 @@ # Warcraft scourge_interaction_modifiers = yes + modifier = { + add = -1000 + desc = MAGIC_VOID_LEADER_REASON + scope:recipient = { has_character_flag = is_void_leader } + } } # AI @@ -4111,6 +4116,49 @@ release_from_prison_interaction = { } } + # Lobotomize + if = { + limit = { scope:lobotomize = yes } + scope:recipient = { + add_character_flag = { + flag = is_being_tortured + months = 6 # Players in MP can keep the event window open... + } + } + + blind_castrate_and_disfigure_effect = yes #Stress & dread + + scope:recipient = { + add_trait = incapable + trigger_event = { + id = wc_magic_spell_events.9000 + months = { 3 12 } + } + } + + custom_tooltip = { + text = lobotomized_tooltip + } + + torture_blind_castrate_disfigure_opinion_effect = { VERB = lobotomized } + + scope:actor = { + trigger_event = { + id = prison.1050 + days = 1 + } + } + + # If we're a clan this interaction affects unity + add_clan_unity_interaction_effect = { + CHARACTER = scope:actor + TARGET = scope:recipient + VALUE = major_unity_loss + DESC = clan_unity_abelarding.desc + REVERSE_NON_HOUSE_TARGET = no + } + } + # No Demands Added if = { limit = { @@ -4800,6 +4848,8 @@ release_from_prison_interaction = { object = scope:recipient scope:blind = no scope:castrate = no + # Warcraft + scope:lobotomize = no } } } @@ -4827,6 +4877,8 @@ release_from_prison_interaction = { object = scope:recipient scope:disfigure = no scope:castrate = no + # Warcraft + scope:lobotomize = no } } } @@ -4858,6 +4910,36 @@ release_from_prison_interaction = { object = scope:recipient scope:disfigure = no scope:blind = no + # Warcraft + scope:lobotomize = no + } + } + } + + + # Warcraft + send_option = { + flag = lobotomize + localization = "RELEASE_LOBOTOMY" + is_shown = { + scope:actor = { + is_adult = yes + has_perk = shadow_magic_tree_2_perk_7 + } + scope:recipient = { + is_adult = yes + } + } + is_valid = { + scope:recipient = { + is_incapable_trigger = no + } + custom_description = { + text = "release_prisoner_disfigure_blind_castrate_condition" + object = scope:recipient + scope:disfigure = no + scope:blind = no + scope:castrate = no } } } @@ -6317,6 +6399,17 @@ torture_interaction = { value = flag:poetry } } + # Warcraft + 14 = { + trigger = { + scope:actor = { has_perk = death_magic_tree_1_perk_6 } + } + save_scope_value_as = { + name = torture_method + value = flag:magic + } + } + # End Warcraft } #They have a secret I want to know about diff --git a/common/character_interactions/wc_debug_interactions.txt b/common/character_interactions/wc_debug_interactions.txt index 7c96cb7ee5..e3774ceee0 100644 --- a/common/character_interactions/wc_debug_interactions.txt +++ b/common/character_interactions/wc_debug_interactions.txt @@ -67,4 +67,63 @@ break_union_interaction = { } } auto_accept = yes +} +wc_change_elemental_goodwill_interaction = { + category = interaction_debug_main + use_diplomatic_range = no + ignores_pending_interaction_block = yes + + common_interaction = yes + + is_shown = { + debug_only = yes + } + + send_name = "Change Elemental Goodwill" + + send_option = { flag = flag_fire localization = "debug_fire" } + send_option = { flag = flag_water localization = "debug_water" } + send_option = { flag = flag_air localization = "debug_air" } + send_option = { flag = flag_earth localization = "debug_earth" } + send_option = { flag = flag_remove localization = "debug_lower_elemental" } + + send_options_exclusive = no + + on_accept = { + scope:recipient = { + if = { + limit = { always = scope:flag_fire } + if = { + limit = { always = scope:flag_remove } + wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = subtract } + } + else = { wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = add } } + } + if = { + limit = { always = scope:flag_water } + if = { + limit = { always = scope:flag_remove } + wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = subtract } + } + else = { wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = add } } + } + if = { + limit = { always = scope:flag_air } + if = { + limit = { always = scope:flag_remove } + wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = subtract } + } + else = { wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = add } } + } + if = { + limit = { always = scope:flag_earth } + if = { + limit = { always = scope:flag_remove } + wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = subtract } + } + else = { wc_change_amount_element_favour_effect = { ELEMENT = elemental_fire VALUE = 50 CHANGE = add } } + } + } + } + auto_accept = yes } \ No newline at end of file diff --git a/common/character_interactions/wc_magic_interactions.txt b/common/character_interactions/wc_magic_interactions.txt new file mode 100644 index 0000000000..9e50e78e24 --- /dev/null +++ b/common/character_interactions/wc_magic_interactions.txt @@ -0,0 +1,841 @@ +# wc_magic_cast_spell_interaction = { +# common_interaction = yes +# use_diplomatic_range = yes +# category = interaction_category_wc_magic +# icon = wc_spellbook_icon + +# is_shown = { +# scope:actor = { +# is_magic_user_trigger = yes +# can_cast_another_spell_trigger = yes +# } +# } + +# on_accept = { +# scope:actor = { +# set_global_variable = { +# name = spellbook_open +# value = yes +# } +# set_variable = { +# name = spellbook_type_cast +# value = yes +# } +# custom_tooltip = wc_magic_cast_spell_interaction_tt +# set_variable = { name = spell_recipient value = scope:recipient } +# } +# scope:recipient = { +# custom_tooltip = wc_magic_cast_spell_interaction_tt_r +# } +# } + +# auto_accept = yes +# } + +# wc_magic_stop_channeling_spell_interaction = { + +# } + +wc_magic_fire_shield_interaction = { + send_name = wc_magic_fire_shield_interaction_name + category = interaction_category_wc_magic + icon = wc_spellbook_icon + common_interaction = yes + + populate_recipient_list = { + scope:recipient = { + if = { + limit = { + exists = primary_spouse + primary_spouse = { + NOT = { + has_character_modifier = wc_fire_shield_modifier + } + } + } + primary_spouse = { + add_to_list = characters + } + } + every_relation = { + type = friend + limit = { + NOT = { + has_character_modifier = wc_fire_shield_modifier + } + } + add_to_list = characters + } + every_relation = { + type = best_friend + limit = { + NOT = { + has_character_modifier = wc_fire_shield_modifier + } + } + add_to_list = characters + } + every_relation = { + type = lover + limit = { + NOT = { + has_character_modifier = wc_fire_shield_modifier + } + } + add_to_list = characters + } + } + } + + auto_accept = yes + + hidden = yes + + on_accept = { + scope:secondary_recipient = { + custom_tooltip = wc_twin_flame_character_effect_tt + } + hidden_effect = { + scope:actor = { + set_variable = { + name = fire_shield_secondary_target + value = scope:secondary_recipient + } + } + } + } +} + +wc_spell_reflect_character_interaction = { + common_interaction = yes + use_diplomatic_range = yes + category = interaction_category_wc_magic + icon = icon_spellbook + desc = wc_spell_reflect_interaction_desc + + is_shown = { + always = yes + } + + hidden = yes + + on_accept = { + scope:actor = { + set_variable = { name = true_target value = scope:secondary_recipient } + remove_variable = reflect_interaction + remove_variable = reflect_interaction_character + remove_variable = current_scheme + remove_variable = landed_only + change_variable = { + name = scheme_reflect_count + subtract = 1 + } + trigger_event = { + on_action = on_scheme_reflect_regeneration + years = 10 + } + + if = { + limit = { + exists = scope:reveal_scheme + scope:reveal_scheme = yes + } + + scope:scheme = { + expose_scheme = yes + } + } + } + } + + populate_recipient_list = { + scope:actor = { + every_courtier = { + add_to_list = characters + } + every_vassal = { + add_to_list = characters + } + } + + every_in_list = { + list = characters + if = { + limit = { + scope:actor = { + has_variable = landed_only + } + } + + if = { + limit = { + is_landed = no + } + + remove_from_list = characters + } + } + } + } + + send_options_exclusive = no + + send_option = { + is_shown = { always = yes } + current_description = wc_spell_reflect_character_interaction_reveal_desc + flag = reveal_scheme + localization = wc_spell_reflect_character_interaction_reveal + starts_enabled = { always = no } + can_be_changed = { NOT = { scope:scheme = { is_scheme_exposed = yes } } } + } + + auto_accept = yes + + ai_frequency = 1 + + ai_potential = { + has_variable = reflect_interaction + has_variable = reflect_interaction_character + } + + ai_targets = { + ai_recipients = vassals + max = 10 + } + ai_targets = { + ai_recipients = courtiers + max = 10 + } + + ai_will_do = { + base = 100 + + modifier = { + factor = 0 + scope:actor = { + has_variable = landed_only + } + scope:secondary_recipient = { + is_landed = no + } + } + } +} + +wc_spell_reflect_artifact_interaction = { + common_interaction = yes + use_diplomatic_range = yes + category = interaction_category_wc_magic + icon = icon_spellbook + desc = wc_interaction_reflect + + target_type = artifact + target_filter = actor_artifacts + + is_shown = { + always = yes + } + + hidden = yes + + can_be_picked_artifact = { + scope:actor = { + any_character_artifact = { + this = scope:target + } + } + } + + on_accept = { + scope:actor = { + set_variable = { name = true_target value = scope:target } + remove_variable = reflect_interaction + remove_variable = reflect_interaction_artifact + remove_variable = current_scheme + change_variable = { + name = scheme_reflect_count + subtract = 1 + } + trigger_event = { + on_action = on_scheme_reflect_regeneration + years = 10 + } + + if = { + limit = { + exists = scope:reveal_scheme + scope:reveal_scheme = yes + } + + scope:scheme = { + expose_scheme = yes + } + } + } + } + + send_options_exclusive = no + + send_option = { + is_shown = { always = yes } + current_description = wc_spell_reflect_character_interaction_reveal_desc + flag = reveal_scheme + localization = wc_spell_reflect_character_interaction_reveal + starts_enabled = { always = no } + can_be_changed = { NOT = { scope:scheme = { is_scheme_exposed = yes } } } + } + + auto_accept = yes + + ai_frequency = 1 + + ai_potential = { + has_variable = reflect_interaction + has_variable = reflect_interaction_artifact + } + + ai_targets = { + ai_recipients = vassals + max = 10 + } + ai_targets = { + ai_recipients = courtiers + max = 10 + } + + ai_will_do = { + base = 100 + + modifier = { + factor = 0 + scope:actor = { + has_variable = landed_only + } + scope:secondary_recipient = { + is_landed = no + } + } + } +} + +wc_spell_reflect_cancel_interaction = { + common_interaction = yes + use_diplomatic_range = yes + category = interaction_category_wc_magic + icon = icon_spellbook + desc = wc_interaction_reflect + + is_shown = { + always = yes + } + + hidden = yes + + on_accept = { + scope:actor = { + set_variable = cancel_scheme + remove_variable = reflect_interaction + remove_variable = reflect_interaction_cancel + remove_variable = current_scheme + change_variable = { + name = scheme_reflect_count + subtract = 1 + } + trigger_event = { + on_action = on_scheme_reflect_regeneration + years = 10 + } + + if = { + limit = { + exists = scope:reveal_scheme + scope:reveal_scheme = yes + } + + scope:scheme = { + expose_scheme = yes + } + } + } + } + + send_options_exclusive = no + + send_option = { + is_shown = { always = yes } + current_description = wc_spell_reflect_character_interaction_reveal_desc + flag = reveal_scheme + localization = wc_spell_reflect_character_interaction_reveal + starts_enabled = { always = no } + can_be_changed = { NOT = { scope:scheme = { is_scheme_exposed = yes } } } + } + + auto_accept = yes + + ai_frequency = 1 + + ai_potential = { + has_variable = reflect_interaction + has_variable = reflect_interaction_cancel + } + + ai_targets = { + ai_recipients = vassals + max = 10 + } + ai_targets = { + ai_recipients = courtiers + max = 10 + } + + ai_will_do = { + base = 100 + } +} + +wc_magic_give_disease_interaction = { + send_name = wc_magic_give_disease_interaction_name + desc = wc_magic_give_disease_interaction_name + category = interaction_category_wc_magic + icon = wc_spellbook_icon + common_interaction = yes + + auto_accept = yes + + hidden = yes + + send_options_exclusive = yes + + send_option = { + localization = ill + flag = ill + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = ill } + } + } + } + send_option = { + localization = dysentery + flag = dysentery + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = dysentery } + } + } + } + send_option = { + localization = consumption + flag = consumption + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = consumption } + } + } + } + send_option = { + localization = great_pox + flag = great_pox + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = great_pox } + } + } + } + send_option = { + localization = leper + flag = leper + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = leper } + } + } + } + send_option = { + localization = lovers_pox + flag = lovers_pox + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = lovers_pox } + } + } + } + send_option = { + localization = measles + flag = measles + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = measles } + } + } + } + send_option = { + localization = pneumonic + flag = pneumonic + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = pneumonic } + } + } + } + send_option = { + localization = smallpox + flag = smallpox + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = smallpox } + } + } + } + send_option = { + localization = typhus + flag = typhus + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = typhus } + } + } + } + send_option = { + localization = frost_fever + flag = frost_fever + is_shown = { + scope:actor = { + has_perk = death_magic_tree_1_perk_3 + } + } + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = frost_fever } + } + } + } + send_option = { + localization = blood_plague + flag = blood_plague + is_shown = { + scope:actor = { + has_perk = death_magic_tree_3_perk_2 + } + } + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = blood_plague } + } + } + } + send_option = { + localization = crypt_fever + flag = crypt_fever + is_shown = { + scope:actor = { + has_perk = death_magic_tree_2_perk_5 + } + } + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = crypt_fever } + } + } + } + send_option = { + localization = void_sickness + flag = void_sickness + is_shown = { + scope:actor = { + has_perk = shadow_magic_tree_1_perk_2 + } + } + is_valid = { + scope:recipient = { + can_contract_disease_trigger = { DISEASE = void_sickness } + } + } + } + + on_accept = { + if = { + limit = { + scope:ill = yes + } + save_scope_value_as = { name = disease value = flag:ill } + } + else_if = { + limit = { + scope:dysentery = yes + } + save_scope_value_as = { name = disease value = flag:dysentery } + } + else_if = { + limit = { + scope:consumption = yes + } + save_scope_value_as = { name = disease value = flag:consumption } + } + else_if = { + limit = { + scope:great_pox = yes + } + save_scope_value_as = { name = disease value = flag:great_pox } + } + else_if = { + limit = { + scope:leper = yes + } + save_scope_value_as = { name = disease value = flag:leper } + } + else_if = { + limit = { + scope:lovers_pox = yes + } + save_scope_value_as = { name = disease value = flag:lovers_pox } + } + else_if = { + limit = { + scope:measles = yes + } + save_scope_value_as = { name = disease value = flag:measles } + } + else_if = { + limit = { + scope:pneumonic = yes + } + save_scope_value_as = { name = disease value = flag:pneumonic } + } + else_if = { + limit = { + scope:smallpox = yes + } + save_scope_value_as = { name = disease value = flag:smallpox } + } + else_if = { + limit = { + scope:typhus = yes + } + save_scope_value_as = { name = disease value = flag:typhus } + } + else_if = { + limit = { + scope:frost_fever = yes + } + save_scope_value_as = { name = disease value = flag:frost_fever } + } + else_if = { + limit = { + scope:blood_plague = yes + } + save_scope_value_as = { name = disease value = flag:blood_plague } + } + else_if = { + limit = { + scope:crypt_fever = yes + } + save_scope_value_as = { name = disease value = flag:crypt_fever } + } + hidden_effect = { + scope:actor = { + remove_variable = give_disease_interaction + set_variable = { + name = give_disease_type + value = scope:disease + } + } + } + show_as_tooltip = { + if = { + limit = { + scope:actor = { + has_perk = death_magic_tree_2_perk_8 + } + } + random_list = { + 10 = { + scope:recipient = { + increase_wounds_effect = { REASON = magic } + } + } + 90 = { + + } + } + } + } + custom_tooltip = wc_give_disease_character_effect_tt + } +} + +wc_magic_epidemic_interaction = { + send_name = wc_magic_epidemic_interaction_name + desc = wc_interaction_disease + category = interaction_category_wc_magic + icon = wc_spellbook_icon + common_interaction = yes + + auto_accept = yes + + hidden = yes + + send_options_exclusive = yes + + send_option = { + localization = smallpox + flag = smallpox + } + send_option = { + localization = bubonic_plague + flag = bubonic_plague + } + send_option = { + localization = typhus + flag = typhus + } + send_option = { + localization = consumption + flag = consumption + } + send_option = { + localization = measles + flag = measles + } + send_option = { + localization = dysentery + flag = dysentery + } + send_option = { + localization = ergotism + flag = ergotism + } + send_option = { + localization = frost_fever + flag = frost_fever + is_shown = { + scope:actor = { + has_perk = death_magic_tree_1_perk_3 + } + } + } + send_option = { + localization = blood_plague + flag = blood_plague + is_shown = { + scope:actor = { + has_perk = death_magic_tree_3_perk_2 + } + } + } + send_option = { + localization = crypt_fever + flag = crypt_fever + is_shown = { + scope:actor = { + has_perk = death_magic_tree_2_perk_5 + } + } + } + send_option = { + localization = void_sickness + flag = void_sickness + is_shown = { + scope:actor = { + has_perk = shadow_magic_tree_1_perk_2 + } + } + } + + on_accept = { + if = { + limit = { + scope:smallpox = yes + } + save_scope_value_as = { name = disease value = flag:smallpox } + } + else_if = { + limit = { + scope:bubonic_plague = yes + } + save_scope_value_as = { name = disease value = flag:bubonic_plague } + } + else_if = { + limit = { + scope:consumption = yes + } + save_scope_value_as = { name = disease value = flag:consumption } + } + else_if = { + limit = { + scope:measles = yes + } + save_scope_value_as = { name = disease value = flag:measles } + } + else_if = { + limit = { + scope:dysentery = yes + } + save_scope_value_as = { name = disease value = flag:dysentery } + } + else_if = { + limit = { + scope:ergotism = yes + } + save_scope_value_as = { name = disease value = flag:ergotism } + } + else_if = { + limit = { + scope:typhus = yes + } + save_scope_value_as = { name = disease value = flag:typhus } + } + else_if = { + limit = { + scope:frost_fever = yes + } + save_scope_value_as = { name = disease value = flag:frost_fever } + } + else_if = { + limit = { + scope:blood_plague = yes + } + save_scope_value_as = { name = disease value = flag:blood_plague } + } + else_if = { + limit = { + scope:crypt_fever = yes + } + save_scope_value_as = { name = disease value = flag:crypt_fever } + } + else_if = { + limit = { + scope:void_sickness = yes + } + save_scope_value_as = { name = disease value = flag:void_sickness } + } + scope:actor.var:epidemic_recipient.title_province = { + show_as_tooltip = { + switch = { + trigger = scope:disease + + flag:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = major } } + flag:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = major } } + flag:consumption = { create_epidemic_outbreak = { type = consumption intensity = major } } + flag:measles = { create_epidemic_outbreak = { type = measles intensity = major } } + flag:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = major } } + flag:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = major } } + flag:typhus = { create_epidemic_outbreak = { type = typhus intensity = major } } + flag:frost_fever = { create_epidemic_outbreak = { type = frost_fever intensity = major } } + flag:blood_plague = { create_epidemic_outbreak = { type = blood_plague intensity = major } } + flag:crypt_fever = { create_epidemic_outbreak = { type = crypt_fever intensity = major } } + flag:void_sickness = { create_epidemic_outbreak = { type = void_sickness intensity = major } } + } + } + } + hidden_effect = { + scope:actor = { + remove_variable = epidemic_interaction + set_variable = { + name = epidemic_type + value = scope:disease + } + } + } + } +} \ No newline at end of file diff --git a/common/combat_phase_events/00_commander_phase_events.txt b/common/combat_phase_events/00_commander_phase_events.txt index 3d280d24fd..40a4df1297 100644 --- a/common/combat_phase_events/00_commander_phase_events.txt +++ b/common/combat_phase_events/00_commander_phase_events.txt @@ -34,7 +34,93 @@ add = 2000 ai_should_get_extreme_conqueror_bonuses = yes } + # Warcraft + modifier = { + add = 20000 # Should always happen + has_character_modifier = wc_empowered_water_elemental_modifier + scope:combat_side = { + has_maa_of_type = water_elemental + } + NOT = { + scope:combat_side.enemy_side.side_commander = { + has_character_modifier = wc_empowered_water_elemental_enemy_modifier + } + } + } + # End Warcraft + } + + # Warcraft + effect = { + if = { + limit = { + has_character_modifier = wc_empowered_water_elemental_modifier + scope:combat_side = { + has_maa_of_type = water_elemental + } + NOT = { + scope:combat_side.enemy_side.side_commander = { + has_character_modifier = wc_empowered_water_elemental_enemy_modifier + } + } + } + + scope:combat_side.enemy_side.side_commander = { + add_character_modifier = { + modifier = wc_empowered_water_elemental_enemy_modifier + days = 50 + } + } + } + if = { + limit = { + has_perk = death_magic_tree_3_perk_7 + } + random_list = { + 10 = { + scope:combat_side.enemy_side.side_commander = { + # Send the toast telling the player if they have been wounded. + root = { + send_interface_toast = { + title = wc_mark_of_blood_commander_modifier + left_icon = root + right_icon = prev + + prev = { + add_character_modifier = { + modifier = wc_mark_of_blood_commander_modifier + months = 1 + } + } + } + } + } + } + 10 = { + scope:combat_side.enemy_side = { + random_side_knight = { + root = { + send_interface_toast = { + title = wc_mark_of_blood_knight_modifier + left_icon = root + right_icon = prev + + prev = { + add_character_modifier = { + modifier = wc_mark_of_blood_knight_modifier + months = 1 + } + } + } + } + } + } + } + 80 = { } + } + } } + # End Warcraft } commander_wounded = { @@ -75,12 +161,25 @@ commander_wounded = { } modifier = { factor = 2 - has_trait = brave + # Warcraft + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + # Warcraft + has_trait_with_flag = lower_chance_of_dying_in_combat } + # Warcraft + modifier = { + factor = 0.5 + has_perk = death_magic_tree_3_perk_4 + } + # End Warcraft + modifier = { + factor = 0 + has_trait_with_flag = unkillable + } + # End Warcraft } effect = { @@ -189,11 +288,23 @@ commander_maimed = { } modifier = { factor = 2 - has_trait = brave + # Warcraft + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + # Warcraft + has_trait_with_flag = lower_chance_of_dying_in_combat + } + # Warcraft + modifier = { + factor = 0.5 + has_perk = death_magic_tree_3_perk_4 + } + # End Warcraft + modifier = { + factor = 0 + has_trait_with_flag = unkillable } } @@ -322,11 +433,13 @@ commander_killed = { } modifier = { factor = 2 - has_trait = brave + # Warcraft + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + # Warcraft + has_trait_with_flag = lower_chance_of_dying_in_combat } modifier = { factor = 4 @@ -335,6 +448,34 @@ commander_killed = { rank = 3 } } + # Warcraft + modifier = { + factor = 0.8 + has_character_modifier = wc_frost_armor_modifier + } + modifier = { + factor = 0.9 + has_character_modifier = wc_divine_purpose_modifier + } + modifier = { + factor = 0 + has_character_modifier = wc_divine_shield_modifier + } + # End Warcraft + modifier = { + factor = 0 + has_trait_with_flag = unkillable + } + # Warcraft + modifier = { + factor = 0.95 + is_knight = yes + exists = liege + liege = { + has_perk = order_magic_tree_3_perk_4 + } + } + # End Warcraft } effect = { diff --git a/common/combat_phase_events/00_knight_phase_events.txt b/common/combat_phase_events/00_knight_phase_events.txt index f3a1f0d695..d708f08ec6 100644 --- a/common/combat_phase_events/00_knight_phase_events.txt +++ b/common/combat_phase_events/00_knight_phase_events.txt @@ -8,6 +8,39 @@ modifier = { add = nothing_chance_value } nothing_chance_modifiers = yes } + + # Warcraft + effect = { + if = { + limit = { + has_perk = death_magic_tree_3_perk_7 + } + random_list = { + 10 = { + scope:combat_side.enemy_side = { + random_side_knight = { + root = { + send_interface_toast = { + title = wc_mark_of_blood_knight_modifier + left_icon = root + right_icon = prev + + prev = { + add_character_modifier = { + modifier = wc_mark_of_blood_knight_modifier + months = 1 + } + } + } + } + } + } + } + 90 = { } + } + } + } + # End Warcraft } knight_berserker_attack = { @@ -608,6 +641,13 @@ knight_wounded = { } } } + + # Warcraft + modifier = { + factor = 0.5 + has_perk = death_magic_tree_3_perk_4 + } + # End Warcraft } effect = { @@ -812,6 +852,13 @@ knight_maimed = { } } } + + # Warcraft + modifier = { + factor = 0.5 + has_perk = death_magic_tree_3_perk_4 + } + # End Warcraft } effect = { @@ -1119,6 +1166,46 @@ knight_killed = { } } } + + #Warcraft + modifier = { + factor = 0.9 + has_character_modifier = wc_divine_purpose_modifier + } + modifier = { + factor = 0.8 + has_character_modifier = wc_frost_armor_modifier + } + modifier = { + factor = 0.9 + has_character_modifier = wc_divine_purpose_modifier + } + modifier = { + factor = 0 + has_character_modifier = wc_divine_shield_modifier + } + modifier = { + factor = 0 + has_trait_with_flag = unkillable + } + modifier = { + factor = 0.95 + is_knight = yes + exists = liege + liege = { + has_perk = order_magic_tree_3_perk_4 + } + } + modifier = { + factor = 2 + # Warcraft + has_trait_with_flag = higher_chance_of_dying_in_battle + } + modifier = { + factor = 0.5 + # Warcraft + has_trait_with_flag = lower_chance_of_dying_in_combat + } } effect = { @@ -1216,6 +1303,47 @@ knight_killed = { target = root } } + # Warcraft + scope:enemy_knight = { + if = { + limit = { + has_perk = death_magic_tree_3_perk_3 + target_has_injury_trigger = yes + } + random_list = { + 50 = { + remove_injury_effect = { REDUCE_SEVERITY = yes } + } + 50 = { } + } + } + } + root.liege = { + if = { + limit = { + has_perk = death_magic_tree_1_perk_7 + } + if = { + limit = { + has_trait = being_undead + } + add_character_modifier = { + modifier = wc_death_pact_modifier + months = 3 + } + } + every_knight = { + limit = { + has_trait = being_undead + } + add_character_modifier = { + modifier = wc_death_pact_modifier + months = 3 + } + } + } + } + # End Warcraft override_death_killer_effect = { death_reason = death_battle killer = scope:enemy_knight } } } diff --git a/common/council_tasks/00_court_chaplain_tasks.txt b/common/council_tasks/00_court_chaplain_tasks.txt index 6183dd78ed..45fa49b3ac 100644 --- a/common/council_tasks/00_court_chaplain_tasks.txt +++ b/common/council_tasks/00_court_chaplain_tasks.txt @@ -463,6 +463,14 @@ task_conversion = { desc = minimum_conversion } } + #Warcraft + if = { + limit = { scope:councillor_liege = { has_perk = light_magic_tree_1_perk_2 } } + add = { + value = scope:councillor.court_chaplain_fabricate_claim_divine_service_perk + desc = COURT_CHAPLAIN_FABRICATE_CLAIM_DIVINE_SERVICE_PERK + } + } if = { limit = { scope:councillor_liege = { @@ -1071,6 +1079,13 @@ task_fabricate_claim = { desc = COURT_CHAPLAIN_FABRICATE_CLAIM_INNOVATION_BONUS_EXPANSIONISM } } + if = { + limit = { scope:councillor.liege = { has_perk = light_magic_tree_1_perk_2 } } + add = { + value = scope:councillor.court_chaplain_fabricate_claim_divine_service_perk + desc = COURT_CHAPLAIN_FABRICATE_CLAIM_DIVINE_SERVICE_PERK + } + } if = { limit = { exists = scope:county diff --git a/common/court_positions/types/wc_court_positions.txt b/common/court_positions/types/wc_court_positions.txt index 44d4213c07..1f416787e7 100644 --- a/common/court_positions/types/wc_court_positions.txt +++ b/common/court_positions/types/wc_court_positions.txt @@ -301,3 +301,310 @@ scrollsage_court_position = { } } +court_mage_court_position = { + max_available_positions = 1 + category = court_position_category_special + + opinion = { + value = regular_court_position_opinion + } + + # How high the aptitude has to be to reach the 5 different modifier levels + aptitude_level_breakpoints = { 20 40 60 80 } + + aptitude = { + value = 5 + add = { + value = learning + multiply = 1.25 + max = 50 + desc = court_position_skill_learning + } + # Magic + add = { + value = { + add = wc_level_1_magic_trait_count + multiply = 1 + } + multiply = 10.5 + desc = court_position_magic_level_1 + } + add = { + value = { + add = wc_level_2_magic_trait_count + multiply = 2 + } + multiply = 10.5 + desc = court_position_magic_level_2 + } + add = { + value = { + add = wc_level_3_magic_trait_count + multiply = 3 + } + multiply = 10.5 + desc = court_position_magic_level_3 + } + add = { + value = { + add = wc_level_4_magic_trait_count + multiply = 4 + } + multiply = 10.5 + desc = court_position_magic_level_4 + } + add = { + value = { + add = wc_level_5_magic_trait_count + multiply = 5 + } + multiply = 10.5 + desc = court_position_magic_level_5 + } + # Mystic + if = { + limit = { has_trait = lifestyle_mystic } + add = { + value = 5 + if = { + limit = { + has_trait_xp = { trait = lifestyle_mystic value >= 50 } + } + add = 5 + } + if = { + limit = { + has_trait_xp = { trait = lifestyle_mystic value >= 100 } + } + add = 5 + } + desc = court_position_mystic_1_trait + } + } + } + + is_shown = { } + + revoke_cost = { + prestige = { + value = major_court_position_prestige_revoke_cost + # Set to 0 with Dynasty Perk Inner Circle + if = { + limit = { + exists = dynasty + dynasty = { has_dynasty_perk = fp2_coterie_legacy_1 } + + employs_court_position = court_mage_court_position + any_court_position_holder = { + type = court_mage_court_position + exists = dynasty + house = prev.house + } + } + multiply = 0 + } + if = { + limit = { + exists = this + is_ai = yes + } + multiply = 0 + } + } + } + + salary = { + gold = { + value = 0.75 + # Set to 0 with Dynasty Perk Inner Circle + if = { + limit = { + scope:liege = { + exists = dynasty + dynasty = { has_dynasty_perk = fp2_coterie_legacy_1 } + + employs_court_position = court_mage_court_position + any_court_position_holder = { + type = court_mage_court_position + exists = dynasty + house = prev.house + } + } + } + multiply = { + value = 0.0 + desc = inner_circle_salary_mod + format = "BASE_VALUE_FORMAT_DECIMALS_MINUS_POSITIVE" + } + } + if = { + limit = { + scope:liege = { + employs_court_position = court_mage_court_position + any_court_position_holder = { + type = court_mage_court_position + scope:liege = { + has_hook_of_type = { + type = obligation_hook + target = prev + } + } + } + } + } + multiply = { + value = 0.5 + desc = obligation_hook_salary + } + } + } + round = no + } + + # Is this an available position for this court? (root is court owner) + valid_position = { } + + is_shown_character = { + scope:employee = { + is_courtier_of = scope:liege + is_imprisoned = no + } + } + + valid_character = { + } + + is_powerful_agent = yes + + scaling_employer_modifiers = { + terrible = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_terrible_value + #wc_base_mana_value = wc_base_mana_cp_terrible_value #in mana code + } + poor = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_poor_value + #wc_base_mana_value = wc_base_mana_cp_poor_value + } + average = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + #wc_base_mana_value = wc_base_mana_cp_average_value + } + good = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + #wc_base_mana_value = wc_base_mana_cp_good_value + } + excellent = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_excellent_value + #wc_base_mana_value = wc_base_mana_cp_excellent_value + } + } + + base_employer_modifier = { + } + + modifier = { + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_light_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_good_value + #wc_base_mana_value = wc_base_mana_cp_good_value + } + + on_court_position_received = { + court_mage_title_accepted_effect = yes + } + on_court_position_revoked = { + court_mage_title_revoked_effect = yes + } + on_court_position_invalidated = { + court_mage_title_invalidated_effect = yes + } + custom_employer_modifier_description = wc_magi_spells_tt + custom_employer_modifier_description = wc_magi_mana_apt_tt + # Scripted value to determine whether an AI will hire/fire a position or not. Hires over 0, fires under -50. Look in _court_positions.info for more extensive documentation! + candidate_score = { + value = 50 + add = scope:base_value + add = court_position_candidate_score_base_value + add = court_position_candidate_aptitude_value + scope:liege = { + if = { + limit = { + OR = { + AND = { + exists = primary_heir + primary_heir = { + is_adult = no + is_courtier_of = scope:liege + } + } + any_child = { + count >= 3 + is_adult = no + is_courtier_of = scope:liege + } + } + } + add = 20 + } + if = { + limit = { + has_perk = pedagogy_perk + } + add = 50 + } + } + add = court_position_debt_considerations_value + } +} \ No newline at end of file diff --git a/common/culture/innovations/wc_cultural_maa_innovations.txt b/common/culture/innovations/wc_cultural_maa_innovations.txt index 072dbe73c4..4e2941f644 100644 --- a/common/culture/innovations/wc_cultural_maa_innovations.txt +++ b/common/culture/innovations/wc_cultural_maa_innovations.txt @@ -113,18 +113,19 @@ innovation_taming_the_skies = { ### MAA TECHS ####Tribal -innovation_archmage = { +innovation_archmagi = { group = culture_group_regional culture_era = culture_era_tribal icon = @archmage potential = { - can_unlock_innovation_archmage_trigger = yes + can_unlock_innovation_archmagi_trigger = yes } custom = unlock_maa_archmage flag = global_maa + flag = shunned_acane_openly_learnable } diff --git a/common/culture/innovations/wc_magic_innovations.txt b/common/culture/innovations/wc_magic_innovations.txt new file mode 100644 index 0000000000..23f5efe566 --- /dev/null +++ b/common/culture/innovations/wc_magic_innovations.txt @@ -0,0 +1,23 @@ +Order_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_order_magic.dds" } +disorder_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_disorder_magic.dds" } +life_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_life_magic.dds" } +death_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_death_magic.dds" } +light_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_light_magic.dds" } +shadow_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_shadow_magic.dds" } +elemental_fire_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_elemental_fire_magic.dds" } +elemental_water_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_elemental_water_magic.dds" } +elemental_air_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_elemental_air_magic.dds" } +elemental_earth_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_elemental_earth_magic.dds" } +physical_magic = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/icons/icon_physical.dds" } +Order_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/order_magic_lifestyle.dds" } +disorder_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/disorder_magic_lifestyle.dds" } +life_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/life_magic_lifestyle.dds" } +death_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/death_magic_lifestyle.dds" } +light_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/light_magic_lifestyle.dds" } +shadow_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/shadow_magic_lifestyle.dds" } +elemental_fire_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/elemental_fire_magic_lifestyle.dds" } +elemental_water_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/elemental_water_magic_lifestyle.dds" } +elemental_air_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/elemental_air_magic_lifestyle.dds" } +elemental_earth_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/elemental_earth_magic_lifestyle.dds" } +physical_magic_bg = { group = culture_group_military culture_era = culture_era_tribal potential = { always = no } icon = "gfx/interface/illustrations/lifestyles_background/physical_lifestyle.dds" } + diff --git a/common/customizable_localization/00_health_custom_loc.txt b/common/customizable_localization/00_health_custom_loc.txt index ba69638aae..120959b9eb 100644 --- a/common/customizable_localization/00_health_custom_loc.txt +++ b/common/customizable_localization/00_health_custom_loc.txt @@ -95,6 +95,24 @@ EventTitleDisease = { trigger = { scope:disease_type = flag:bubonic_plague } localization_key = trait_bubonic_plague } + # Warcraft + text = { + trigger = { scope:disease_type = flag:frost_fever } + localization_key = trait_frost_fever + } + text = { + trigger = { scope:disease_type = flag:crypt_fever } + localization_key = trait_crypt_fever + } + text = { + trigger = { scope:disease_type = flag:blood_plague } + localization_key = trait_blood_plague + } + text = { + trigger = { scope:disease_type = flag:void_sickness } + localization_key = trait_void_sickness + } + # End Warcraft } GetYoungMiddleAgedOld = { diff --git a/common/customizable_localization/00_maa_custom_loc.txt b/common/customizable_localization/00_maa_custom_loc.txt index 06aefac5dc..afa851d8a6 100644 --- a/common/customizable_localization/00_maa_custom_loc.txt +++ b/common/customizable_localization/00_maa_custom_loc.txt @@ -161,7 +161,7 @@ GetRegionalSkirmisherMAA = { } text = { trigger = { culture = { has_innovation = innovation_undead_tactics } } - localization_key = ghoul + localization_key = ghoul_maa } text = { trigger = { culture = { has_innovation = innovation_gladiator } } diff --git a/common/customizable_localization/wc_general_custom_loc.txt b/common/customizable_localization/wc_general_custom_loc.txt index c74e25b3e2..e6e275d408 100644 --- a/common/customizable_localization/wc_general_custom_loc.txt +++ b/common/customizable_localization/wc_general_custom_loc.txt @@ -180,4 +180,94 @@ GetFirstNamePossessiveOrMy = { fallback = yes localization_key = ROOT_GetFirstNamePossessive } +} +GetMagicSecretColloquialism = { + type = secret + + text = { + trigger = { secret_type = secret_light_magic_user } + localization_key = "secret_light_magic_user.colloquialism" + } + text = { + trigger = { secret_type = secret_shadow_magic_user } + localization_key = "secret_shadow_magic_user.colloquialism" + } + text = { + trigger = { secret_type = secret_life_magic_user } + localization_key = "secret_life_magic_user.colloquialism" + } + text = { + trigger = { secret_type = secret_death_magic_user } + localization_key = "secret_death_magic_user.colloquialism" + } + text = { + trigger = { secret_type = secret_order_magic_user } + localization_key = "secret_order_magic_user.colloquialism" + } + text = { + trigger = { secret_type = secret_disorder_magic_user } + localization_key = "secret_disorder_magic_user.colloquialism" + } + + + text = { + trigger = { secret_type = secret_elemental_fire_magic_user } + localization_key = "secret_elemental_fire_magic_user.colloquialism" + } + # text = { + # trigger = { secret_type = secret_elemental_fire_spirit_magic_user } + # localization_key = "secret_elemental_fire_spirit_magic_user.colloquialism" + # } + # text = { + # trigger = { secret_type = secret_elemental_fire_decay_magic_user } + # localization_key = "secret_elemental_fire_decay_magic_user.colloquialism" + # } + + + text = { + trigger = { secret_type = secret_elemental_water_magic_user } + localization_key = "secret_elemental_water_magic_user.colloquialism" + } + # text = { + # trigger = { secret_type = secret_elemental_water_spirit_magic_user } + # localization_key = "secret_elemental_water_spirit_magic_user.colloquialism" + # } + # text = { + # trigger = { secret_type = secret_elemental_water_decay_magic_user } + # localization_key = "secret_elemental_water_decay_magic_user.colloquialism" + # } + + + text = { + trigger = { secret_type = secret_elemental_air_magic_user } + localization_key = "secret_elemental_air_magic_user.colloquialism" + } + # text = { + # trigger = { secret_type = secret_elemental_air_spirit_magic_user } + # localization_key = "secret_elemental_air_spirit_magic_user.colloquialism" + # } + # text = { + # trigger = { secret_type = secret_elemental_air_decay_magic_user } + # localization_key = "secret_elemental_air_decay_magic_user.colloquialism" + # } + + + text = { + trigger = { secret_type = secret_elemental_earth_magic_user } + localization_key = "secret_elemental_earth_magic_user.colloquialism" + } + # text = { + # trigger = { secret_type = secret_elemental_earth_spirit_magic_user } + # localization_key = "secret_elemental_earth_spirit_magic_user.colloquialism" + # } + # text = { + # trigger = { secret_type = secret_elemental_earth_decay_magic_user } + # localization_key = "secret_elemental_earth_decay_magic_user.colloquialism" + # } + + text = { + trigger = { always = no } + fallback = yes + localization_key = "SECRET_MAGIC_USER_colloquialism" + } } \ No newline at end of file diff --git a/common/customizable_localization/wc_lifestyles_custom_loc.txt b/common/customizable_localization/wc_lifestyles_custom_loc.txt new file mode 100644 index 0000000000..d04fc7d404 --- /dev/null +++ b/common/customizable_localization/wc_lifestyles_custom_loc.txt @@ -0,0 +1,2070 @@ +GetWCMagicalLifestyleHighlightPercentage = { + type = character + + text = { + trigger = { has_trait = magic_good_3 } + + localization_key = wc_lifestyle_highlight_magic_good_3_percentage_line + } + text = { + trigger = { has_trait = magic_good_2 } + + localization_key = wc_lifestyle_highlight_magic_good_2_percentage_line + } + text = { + trigger = { has_trait = magic_good_noninheritable } + + localization_key = wc_lifestyle_highlight_magic_good_noninheritable_percentage_line + } + text = { + trigger = { has_trait = magic_good_1 } + + localization_key = wc_lifestyle_highlight_magic_good_1_percentage_line + } +} +GetWCMagicalLifestyleHighlightTrait = { + type = character + + text = { + trigger = { has_trait = magic_good_3 } + + localization_key = get_wc_mag_lif_hl_magicgood_3 + } + text = { + trigger = { has_trait = magic_good_2 } + + localization_key = get_wc_mag_lif_hl_magicgood_2 + } + text = { + trigger = { has_trait = magic_good_noninheritable } + + localization_key = get_wc_mag_lif_hl_magicgood_noninheritable + } + text = { + trigger = { has_trait = magic_good_1 } + + localization_key = get_wc_mag_lif_hl_magicgood_1 + } +} + +GetWCMagicalLifestyleLightMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_light_magic_5 } + + localization_key = "wc_light_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_light_magic_4 } + + localization_key = "wc_light_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_light_magic_3 } + + localization_key = "wc_light_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_light_magic_2 } + + localization_key = "wc_light_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_light_magic_1 } + + localization_key = "wc_light_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_light_magic } } + + localization_key = "wc_light_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleShadowMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_shadow_magic_5 } + + localization_key = "wc_shadow_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_shadow_magic_4 } + + localization_key = "wc_shadow_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_shadow_magic_3 } + + localization_key = "wc_shadow_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_shadow_magic_2 } + + localization_key = "wc_shadow_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_shadow_magic_1 } + + localization_key = "wc_shadow_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_shadow_magic } } + + localization_key = "wc_shadow_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleDisorderMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_disorder_magic_5 } + + localization_key = "wc_disorder_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_disorder_magic_4 } + + localization_key = "wc_disorder_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_disorder_magic_3 } + + localization_key = "wc_disorder_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_disorder_magic_2 } + + localization_key = "wc_disorder_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_disorder_magic_1 } + + localization_key = "wc_disorder_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_disorder_magic } } + + localization_key = "wc_disorder_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleOrderMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_order_magic_5 } + + localization_key = "wc_order_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_order_magic_4 } + + localization_key = "wc_order_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_order_magic_3 } + + localization_key = "wc_order_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_order_magic_2 } + + localization_key = "wc_order_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_order_magic_1 } + + localization_key = "wc_order_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_order_magic } } + + localization_key = "wc_order_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleLifeMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_life_magic_5 } + + localization_key = "wc_life_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_life_magic_4 } + + localization_key = "wc_life_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_life_magic_3 } + + localization_key = "wc_life_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_life_magic_2 } + + localization_key = "wc_life_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_life_magic_1 } + + localization_key = "wc_life_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_life_magic } } + + localization_key = "wc_life_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleDeathMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_death_magic_5 } + + localization_key = "wc_death_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_death_magic_4 } + + localization_key = "wc_death_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_death_magic_3 } + + localization_key = "wc_death_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_death_magic_2 } + + localization_key = "wc_death_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_death_magic_1 } + + localization_key = "wc_death_magic_next_trait_level_is_2" + } + text = { + trigger = { NOT = { has_trait = wc_lifestyle_death_magic } } + + localization_key = "wc_death_magic_next_trait_level_is_1" + } +} + +GetWCMagicalLifestyleElementalFireMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_elemental_fire_magic_5 } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_fire_spirit_magic_5 } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_fire_decay_magic_5 } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_fire_magic_4 } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_fire_spirit_magic_4 } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_fire_decay_magic_4 } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_fire_magic_3 } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_fire_spirit_magic_3 } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_fire_decay_magic_3 } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_fire_magic_2 } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_fire_spirit_magic_2 } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_fire_decay_magic_2 } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_fire_magic_1 } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_fire_spirit_magic_1 } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_fire_decay_magic_1 } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_2" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_spirit_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_decay_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleElementalWaterMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_elemental_water_magic_5 } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_water_spirit_magic_5 } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_water_decay_magic_5 } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_water_magic_4 } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_water_spirit_magic_4 } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_water_decay_magic_4 } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_water_magic_3 } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_water_spirit_magic_3 } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_water_decay_magic_3 } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_water_magic_2 } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_water_spirit_magic_2 } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_water_decay_magic_2 } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_water_magic_1 } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_water_spirit_magic_1 } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_water_decay_magic_1 } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_2" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_spirit_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_decay_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleElementalAirMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_elemental_air_magic_5 } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_air_spirit_magic_5 } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_air_decay_magic_5 } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_air_magic_4 } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_air_spirit_magic_4 } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_air_decay_magic_4 } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_air_magic_3 } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_air_spirit_magic_3 } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_air_decay_magic_3 } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_air_magic_2 } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_air_spirit_magic_2 } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_air_decay_magic_2 } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_air_magic_1 } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_air_spirit_magic_1 } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_air_decay_magic_1 } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_2" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_spirit_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_decay_magic_next_trait_level_is_1" + } +} +GetWCMagicalLifestyleElementalEarthMagicNextTraitForPerks = { + type = character + + text = { + trigger = { has_trait = user_of_elemental_earth_magic_5 } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_earth_spirit_magic_5 } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_earth_decay_magic_5 } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_last" + } + text = { + trigger = { has_trait = user_of_elemental_earth_magic_4 } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_earth_spirit_magic_4 } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_earth_decay_magic_4 } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_5" + } + text = { + trigger = { has_trait = user_of_elemental_earth_magic_3 } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_earth_spirit_magic_3 } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_earth_decay_magic_3 } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_4" + } + text = { + trigger = { has_trait = user_of_elemental_earth_magic_2 } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_earth_spirit_magic_2 } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_earth_decay_magic_2 } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_3" + } + text = { + trigger = { has_trait = user_of_elemental_earth_magic_1 } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_earth_spirit_magic_1 } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_2" + } + text = { + trigger = { has_trait = user_of_elemental_earth_decay_magic_1 } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_2" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_spirit_magic_next_trait_level_is_1" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_decay_magic_next_trait_level_is_1" + } +} + +GetWCMagicalLifestyleElementalFireMagicCurrentFavor = { + type = character + + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_current_favor_neutral" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_current_favor_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_current_favor_decay" + } +} +GetWCMagicalLifestyleElementalFireMagicSpiritFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } } } + + localization_key = "wc_elemental_fire_magic_spirit_favor_not_spirit" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } } + + localization_key = "wc_elemental_fire_magic_spirit_favor_spirit" + } +} +GetWCMagicalLifestyleElementalFireMagicDecayFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } } } + + localization_key = "wc_elemental_fire_magic_decay_favor_not_decay" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } } + + localization_key = "wc_elemental_fire_magic_decay_favor_decay" + } +} +GetWCMagicalLifestyleElementalFireMagicSpiritFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_decay_to_spirit" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_magic_trait_0_switch_to_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_magic_trait_0_switch_to_neutral" + } +} +GetWCMagicalLifestyleElementalFireMagicDecayFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_5_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_4_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_3_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_2_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_fire_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + } + + localization_key = "wc_elemental_fire_magic_trait_1_switch_from_decay_to_neutral" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_magic_trait_0_switch_to_decay" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_fire TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + } + } + + localization_key = "wc_elemental_fire_magic_trait_0_switch_to_neutral" + } +} + +GetWCMagicalLifestyleElementalWaterMagicCurrentFavor = { + type = character + + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_current_favor_neutral" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_current_favor_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_current_favor_decay" + } +} +GetWCMagicalLifestyleElementalWaterMagicSpiritFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } } } + + localization_key = "wc_elemental_water_magic_spirit_favor_not_spirit" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } } + + localization_key = "wc_elemental_water_magic_spirit_favor_spirit" + } +} +GetWCMagicalLifestyleElementalWaterMagicDecayFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } } } + + localization_key = "wc_elemental_water_magic_decay_favor_not_decay" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } } + + localization_key = "wc_elemental_water_magic_decay_favor_decay" + } +} +GetWCMagicalLifestyleElementalWaterMagicSpiritFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_water_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_decay_to_spirit" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_magic_trait_0_switch_to_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_magic_trait_0_switch_to_neutral" + } +} +GetWCMagicalLifestyleElementalWaterMagicDecayFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_water_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_5_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_4_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_3_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_2_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_water_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_water_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + } + + localization_key = "wc_elemental_water_magic_trait_1_switch_from_decay_to_neutral" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_magic_trait_0_switch_to_decay" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_water TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + } + } + + localization_key = "wc_elemental_water_magic_trait_0_switch_to_neutral" + } +} + +GetWCMagicalLifestyleElementalAirMagicCurrentFavor = { + type = character + + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_current_favor_neutral" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_current_favor_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_current_favor_decay" + } +} +GetWCMagicalLifestyleElementalAirMagicSpiritFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } } } + + localization_key = "wc_elemental_air_magic_spirit_favor_not_spirit" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } } + + localization_key = "wc_elemental_air_magic_spirit_favor_spirit" + } +} +GetWCMagicalLifestyleElementalAirMagicDecayFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } } } + + localization_key = "wc_elemental_air_magic_decay_favor_not_decay" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } } + + localization_key = "wc_elemental_air_magic_decay_favor_decay" + } +} +GetWCMagicalLifestyleElementalAirMagicSpiritFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_air_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_decay_to_spirit" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_magic_trait_0_switch_to_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_magic_trait_0_switch_to_neutral" + } +} +GetWCMagicalLifestyleElementalAirMagicDecayFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_air_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_5_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_4_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_3_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_2_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_air_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_air_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + } + + localization_key = "wc_elemental_air_magic_trait_1_switch_from_decay_to_neutral" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_magic_trait_0_switch_to_decay" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_air TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + } + } + + localization_key = "wc_elemental_air_magic_trait_0_switch_to_neutral" + } +} + +GetWCMagicalLifestyleElementalEarthMagicCurrentFavor = { + type = character + + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_current_favor_neutral" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_current_favor_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_current_favor_decay" + } +} +GetWCMagicalLifestyleElementalEarthMagicSpiritFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } } } + + localization_key = "wc_elemental_earth_magic_spirit_favor_not_spirit" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } } + + localization_key = "wc_elemental_earth_magic_spirit_favor_spirit" + } +} +GetWCMagicalLifestyleElementalEarthMagicDecayFavor = { + type = character + + text = { + trigger = { NOT = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } } } + + localization_key = "wc_elemental_earth_magic_decay_favor_not_decay" + } + text = { + trigger = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } } + + localization_key = "wc_elemental_earth_magic_decay_favor_decay" + } +} +GetWCMagicalLifestyleElementalEarthMagicSpiritFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_decay_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_neutral_to_spirit" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_spirit_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_decay_to_spirit" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_magic_trait_0_switch_to_spirit" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_magic_trait_0_switch_to_neutral" + } +} +GetWCMagicalLifestyleElementalEarthMagicDecayFavorTraitSwitch = { + type = character + + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_5 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_5_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_4 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_4_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_3 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_3_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_2 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_2_switch_from_decay_to_neutral" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_neutral_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_spirit_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_spirit_to_decay" + } + text = { + trigger = { + has_trait = user_of_elemental_earth_decay_magic_1 + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + } + + localization_key = "wc_elemental_earth_magic_trait_1_switch_from_decay_to_neutral" + } + text = { + trigger = { + NOR = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_magic_trait_0_switch_to_decay" + } + text = { + trigger = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = elemental_earth TENSE = current } + NOT = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } + } + + localization_key = "wc_elemental_earth_magic_trait_0_switch_to_neutral" + } +} diff --git a/common/decisions/test_decision.txt b/common/customizable_localization/wc_magic_custom_loc.txt similarity index 100% rename from common/decisions/test_decision.txt rename to common/customizable_localization/wc_magic_custom_loc.txt diff --git a/common/deathreasons/wc_event_deaths.txt b/common/deathreasons/wc_event_deaths.txt index 07bf01e0e0..990c94ebb8 100644 --- a/common/deathreasons/wc_event_deaths.txt +++ b/common/deathreasons/wc_event_deaths.txt @@ -22,4 +22,27 @@ death_merge = { } death_mana_starved = { icon = "death_natural.dds" +} +death_salvation = { + icon = "death_unknown.dds" +} +death_salvation_killer = { + icon = "death_unknown.dds" +} +death_divine_storm = { + public_knowledge = yes + icon = "death_unknown.dds" +} +death_burned_magic = { + icon = "death_unknown.dds" +} +death_frostbite_magic = { + icon = "death_unknown.dds" +} +death_experiment = { + public_knowledge = yes + icon = "death_unknown.dds" +} +death_magic = { + icon = "death_unknown.dds" } \ No newline at end of file diff --git a/common/deathreasons/wc_natural_deaths.txt b/common/deathreasons/wc_natural_deaths.txt new file mode 100644 index 0000000000..e2896a7ee1 --- /dev/null +++ b/common/deathreasons/wc_natural_deaths.txt @@ -0,0 +1,20 @@ +death_frost_fever = { + epidemic = frost_fever + priority = 120 + icon = "death_disease.dds" +} +death_crypt_fever = { + epidemic = crypt_fever + priority = 120 + icon = "death_disease.dds" +} +death_blood_plague = { + epidemic = blood_plague + priority = 120 + icon = "death_disease.dds" +} +death_void_sickness = { + epidemic = void_sickness + priority = 120 + icon = "death_disease.dds" +} \ No newline at end of file diff --git a/common/decision_group_types/wc_decision_group_types.txt b/common/decision_group_types/wc_decision_group_types.txt index d5469b45fd..38bdfeb7e8 100644 --- a/common/decision_group_types/wc_decision_group_types.txt +++ b/common/decision_group_types/wc_decision_group_types.txt @@ -1,4 +1,7 @@ -suramar = { +wc_magic = { + sort_order = 1 +} +suramar = { sort_order = 150 gui_tags = { big_button } } diff --git a/common/decisions/10_religious_decisions.txt b/common/decisions/10_religious_decisions.txt index 9e4cd7d25d..e9d3ded23d 100644 --- a/common/decisions/10_religious_decisions.txt +++ b/common/decisions/10_religious_decisions.txt @@ -1044,7 +1044,7 @@ abandon_crypto_faith_decision = { #Abandon your secret faith. custom_tooltip = abandon_crypto_faith_decision.tt random_secret = { limit = { secret_type = secret_crypto_religionist } - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } #Something to remember it by create_character_memory = { diff --git a/common/decisions/wc_magic_decisions.txt b/common/decisions/wc_magic_decisions.txt new file mode 100644 index 0000000000..c1dae83f7f --- /dev/null +++ b/common/decisions/wc_magic_decisions.txt @@ -0,0 +1,1059 @@ +find_court_mage = { + decision_group_type = wc_magic + ai_check_interval = 60 + sort_order = 81 + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + cooldown = { days = 365 } + + desc = { + desc = find_court_mage_desc.opening + triggered_desc = { + trigger = { culture = { has_innovation = innovation_archmagi } } + desc = find_court_mage_desc.archmages + } + } + + is_valid_showing_failures_only = { + faith = { + OR = { + has_doctrine_parameter = light_magic_openly_learnable + has_doctrine_parameter = shadow_magic_openly_learnable + has_doctrine_parameter = order_magic_openly_learnable + has_doctrine_parameter = disorder_magic_openly_learnable + has_doctrine_parameter = life_magic_openly_learnable + has_doctrine_parameter = death_magic_openly_learnable + has_doctrine_parameter = elemental_fire_magic_openly_learnable + has_doctrine_parameter = elemental_water_magic_openly_learnable + has_doctrine_parameter = elemental_earth_magic_openly_learnable + has_doctrine_parameter = elemental_air_magic_openly_learnable + } + } + } + + effect = { + if = { limit = { culture = { has_innovation = innovation_archmagi } } + trigger_event = { + id = magic_decisions.0002 + days = 3 #0 + } + } + else = { + trigger_event = { + id = magic_decisions.0001 + days = 3 #0 + } + } + } + + ai_will_do = { + base = 100 + } + +} + +restore_chronomancy_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_character_flag = chronomancy_active + OR = { + has_variable_list = chronomancy_trait_list + has_variable_list = chronomancy_modifier_list + } + } + + effect = { + custom_tooltip = restore_chronomancy_decision.effect_tt + trigger_event = wc_magic_spell_events.0400 + } +} + +activate_presence_of_mind_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_variable = wc_presence_of_mind_available + } + + is_valid_showing_failures_only = { + custom_tooltip = { + text = wc_spell_hack_active + spell_hack_activated_trigger = no + } + } + + effect = { + custom_tooltip = activate_presence_of_mind_decision.effect_tt + custom_tooltip = activate_presence_of_mind_decision.disable_tt + remove_variable = wc_presence_of_mind_available + set_variable = wc_presence_of_mind_activated + } +} + +deactivate_presence_of_mind_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_variable = wc_presence_of_mind_activated + } + + effect = { + custom_tooltip = deactivate_presence_of_mind_decision.effect_tt + custom_tooltip = deactivate_presence_of_mind_decision.enable_tt + remove_variable = wc_presence_of_mind_activated + set_variable = wc_presence_of_mind_available + } +} + +activate_reverse_causality_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_variable = wc_reverse_causality_available + NOT = { + has_variable = reverse_causality_mult + } + } + + is_valid_showing_failures_only = { + custom_tooltip = { + text = wc_spell_hack_active + spell_hack_activated_trigger = no + } + } + + effect = { + custom_tooltip = activate_reverse_causality_decision.effect_tt + custom_tooltip = activate_reverse_causality_decision.disable_tt + remove_variable = wc_reverse_causality_available + set_variable = wc_reverse_causality_activated + } +} + +deactivate_reverse_causality_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_variable = wc_reverse_causality_activated + } + + effect = { + custom_tooltip = deactivate_reverse_causality_decision.effect_tt + custom_tooltip = deactivate_reverse_causality_decision.enable_tt + remove_variable = wc_reverse_causality_activated + set_variable = wc_reverse_causality_available + } +} + +go_into_hibernation_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 20 + + is_shown = { + has_perk = elemental_water_magic_tree_2_perk_7 + NOT = { + has_character_flag = hibernation_cooldown + } + } + + effect = { + add_character_flag = { + flag = hibernation_cooldown + years = 5 + } + + custom_tooltip = go_into_hibernation_decision.effect_tt + + show_as_tooltip = { + add_trait = hibernation + } + + trigger_event = magic_perk.0020 + } + + ai_potential = { + OR = { + target_has_injury_trigger = yes + target_has_poison_trigger = yes + health < poor_health + } + health < medium_health + } + + ai_will_do = { + base = 80 + + modifier = { + add = { + value = health + multiply = -10 + } + always = yes + } + } +} + +wc_spell_hack_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + is_shown = { + has_variable = wc_spell_hack_available + } + + is_valid_showing_failures_only = { + custom_tooltip = { + text = wc_spell_hack_active + spell_hack_activated_trigger = no + } + } + + effect = { + set_variable = wc_spell_hack_activated + remove_variable = wc_spell_hack_available + custom_tooltip = wc_spell_hack_effect + } +} + +teleport_back_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 2 + + is_shown = { + has_variable = create_portal_location + } + + effect = { + if = { + limit = { + exists = capital_province + } + capital_province = { save_scope_as = home } + } + else_if = { + limit = { + exists = liege + } + liege.capital_province = { save_scope_as = home } + } + else = { + title:b_stormwind = { save_scope_as = home } + } + custom_tooltip = { + text = wc_teleport_back_decision_effect_tt + set_location = { + location = scope:home.title_province + stick_to_location = yes + } + } + remove_variable = create_portal_location + } + + ai_potential = { + has_variable = create_portal_location + } + + ai_will_do = { + base = 100 + } +} + +eldritch_communion_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + cooldown = { years = 10 } + + is_shown = { + has_perk = shadow_magic_tree_1_perk_3 + } + + widget = { + gui = "decision_view_widget_option_list_generic" + controller = decision_option_list_controller + decision_to_second_step_button = "ELDRITCH_COMMUNION_DECISION_NEXT_STEP_BUTTON" + show_from_start = yes + + item = { # Tyranny for magical prowess + value = communion_yshaarj + current_description = communion_yshaarj_decision + localization = communion_yshaarj_decision + icon = "gfx/interface/icons/faith/wcmw_yshaarj_worship.dds" + ai_chance = { + value = 50 + if = { + limit = { + faith = faith:yshaarjism + } + add = 25 + } + if = { + limit = { + wc_mp_value <= 25 + } + add = 25 + } + if = { + limit = { + stress_level >= 1 + } + add = -10 + } + if = { + limit = { + stress_level >= 2 + } + add = -15 + } + if = { + limit = { + stress_level >= 3 + } + add = -15 + } + } + } + item = { # Scheme boosts for stress + value = communion_yogg_saron + current_description = communion_yogg_saron_decision + localization = communion_yogg_saron_decision + icon = "gfx/interface/icons/faith/wcmw_yoggsaron_worship.dds" + ai_chance = { + value = 50 + if = { + limit = { + faith = faith:yoggsaronism + } + add = 25 + } + if = { + limit = { + intrigue <= 12 + } + add = 25 + } + if = { + limit = { + stress_level >= 1 + } + add = -10 + } + if = { + limit = { + stress_level >= 2 + } + add = -15 + } + if = { + limit = { + stress_level >= 3 + } + add = -15 + } + } + } + item = { # Stress/stress gain for prestige, dread and control gain + value = communion_cthun + current_description = communion_cthun_decision + localization = communion_cthun_decision + icon = "gfx/interface/icons/faith/wcmw_cthun_worship.dds" + ai_chance = { + value = 50 + if = { + limit = { + faith = faith:yoggsaronism + } + add = 25 + } + if = { + limit = { + dread <= 15 + } + add = 10 + } + if = { + limit = { + prestige <= 1000 + } + add = 25 + } + if = { + limit = { + stress_level >= 1 + } + add = -10 + } + if = { + limit = { + stress_level >= 2 + } + add = -15 + } + if = { + limit = { + stress_level >= 3 + } + add = -15 + } + } + } + item = { # Prowess, intrigue, and martial for cast time and cooldown + value = communion_nzoth + current_description = communion_nzoth_decision + localization = communion_nzoth_decision + icon = "gfx/interface/icons/faith/wcmw_nzoth_worship.dds" + ai_chance = { + value = 15 + if = { + limit = { + faith = faith:nzothism + } + add = 25 + } + if = { + limit = { + wc_mp_value <= 25 + } + add = -10 + } + if = { + limit = { + OR = { + prowess <= 12 + intrigue <= 12 + martial <= 12 + } + } + add = 25 + } + } + } + item = { # Prestige for magic restistance/health + value = communion_ghuun + current_description = communion_ghuun_decision + localization = communion_ghuun_decision + icon = "gfx/interface/icons/faith/wcmw_ghuun_worship.dds" + ai_chance = { + value = 25 + if = { + limit = { + faith = faith:ghuunism + } + add = 25 + } + if = { + limit = { + prestige <= 1000 + } + add = -15 + } + if = { + limit = { + health <= 1 + } + add = 25 + } + } + } + } + + effect = { + switch = { + trigger = yes + scope:communion_yshaarj = { + add_tyranny = 50 + add_legitimacy = medium_legitimacy_loss + add_prestige = medium_prestige_loss + wc_change_amount_mp_effect = { + CHANGE = add + VALUE = 15 + } + } + scope:communion_yogg_saron = { + add_stress = major_stress_gain + add_character_modifier = { + modifier = wc_communion_yogg_saron_modifier + years = 5 + } + } + scope:communion_cthun = { + add_stress = major_stress_gain + add_prestige = massive_prestige_gain + add_character_modifier = { + modifier = wc_communion_cthun_modifier + years = 5 + } + } + scope:communion_nzoth = { + add_character_modifier = { + modifier = wc_communion_nzoth_modifier + years = 5 + } + } + scope:communion_ghuun = { + add_prestige = massive_prestige_loss + add_character_modifier = { + modifier = wc_communion_ghuun_modifier + years = 5 + } + } + } + } + + ai_potential = { + always = yes + } + + ai_will_do = { base = 100 } + +} + +dark_bargain_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + cooldown = { years = 5 } + + is_shown = { + has_perk = shadow_magic_tree_1_perk_4 + } + + is_valid = { + custom_tooltip = { + text = wc_dark_bargain_trigger + wc_current_mana_percent_value < 0.1 + } + } + + ai_potential = { + always = yes + } + + effect = { + add_stress = massive_stress_gain + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = dark_bargain_add_value + } + } + + ai_will_do = { base = 100 } +} + +activate_shadow_form_decision = { + decision_group_type = wc_magic + picture = { + reference = "gfx/interface/illustrations/decisions/decision_knight_kneeling.dds" + } + + ai_check_interval = 60 + + cooldown = { years = 75 } + + is_shown = { + has_perk = shadow_magic_tree_2_perk_8 + } + + is_valid = { + trigger_if = { + limit = { + is_landless_ruler = yes + } + any_courtier = { count >= 3 is_alive = yes } + } + trigger_else = { + any_knight = { count >= 3 is_alive = yes } + } + } + + widget = { + gui = "decision_view_widget_option_list_generic" + controller = decision_option_list_controller + decision_to_second_step_button = "SHADOW_FORM_DECISION_NEXT_STEP_BUTTON" + show_from_start = yes + + item = { + value = shadow_form_beauty + current_description = shadow_form_beauty_decision + localization = shadow_form_beauty_decision + icon = "gfx/interface/icons/traits/beauty_good_1.dds" + is_valid = { + NOR = { + has_trait = beauty_good + has_trait = beauty_bad + } + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_beauty_2 + current_description = shadow_form_beauty_decision + localization = shadow_form_beauty_decision + icon = "gfx/interface/icons/traits/beauty_good_2.dds" + is_valid = { + has_trait = beauty_good_1 + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_beauty_3 + current_description = shadow_form_beauty_decision + localization = shadow_form_beauty_decision + icon = "gfx/interface/icons/traits/beauty_good_3.dds" + is_valid = { + has_trait = beauty_good_2 + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_brawn + current_description = shadow_form_brawn_decision + localization = shadow_form_brawn_decision + icon = "gfx/interface/icons/traits/physique_good_1.dds" + is_valid = { + NOR = { + has_trait = physique_good + has_trait = physique_bad + } + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_brawn_2 + current_description = shadow_form_brawn_decision + localization = shadow_form_brawn_decision + icon = "gfx/interface/icons/traits/physique_good_2.dds" + is_valid = { + has_trait = physique_good_1 + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_brawn_3 + current_description = shadow_form_brawn_decision + localization = shadow_form_brawn_decision + icon = "gfx/interface/icons/traits/physique_good_3.dds" + is_valid = { + has_trait = physique_good_2 + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_blood + current_description = shadow_form_blood_decision + localization = shadow_form_blood_decision + icon = "gfx/interface/icons/traits/pure_blooded.dds" + is_valid = { + NOT = { has_trait = pure_blooded } + } + ai_chance = { + value = 50 + } + } + item = { + value = shadow_form_brains + current_description = shadow_form_brains_decision + localization = shadow_form_brains_decision + icon = "gfx/interface/icons/traits/shrewd.dds" + is_valid = { + NOR = { + has_trait = intellect_bad + has_trait = dull + has_trait = shrewd + } + } + ai_chance = { + value = 50 + } + } + } + + effect = { + switch = { + trigger = yes + scope:shadow_form_beauty = { + add_trait = beauty_good_1 + custom_tooltip = { + text = shadow_form_effect_1_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_beauty_2 = { + remove_trait = beauty_good_1 + add_trait_force_tooltip = beauty_good_2 + custom_tooltip = { + text = shadow_form_effect_2_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_beauty_3 = { + remove_trait = beauty_good_2 + add_trait_force_tooltip = beauty_good_3 + custom_tooltip = { + text = shadow_form_effect_2_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_brawn = { + add_trait = physique_good_1 + custom_tooltip = { + text = shadow_form_effect_1_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_brawn_2 = { + remove_trait = physique_good_1 + add_trait_force_tooltip = physique_good_2 + custom_tooltip = { + text = shadow_form_effect_2_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_brawn_3 = { + remove_trait = physique_good_2 + add_trait_force_tooltip = physique_good_3 + custom_tooltip = { + text = shadow_form_effect_2_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_blood = { + add_trait = pure_blooded + custom_tooltip = { + text = shadow_form_effect_1_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + scope:shadow_form_brains = { + add_trait = shrewd + custom_tooltip = { + text = shadow_form_effect_1_tt + send_interface_toast = { + title = shadow_form_effect_tt + left_icon = root + type = event_toast_effect_bad + if = { + limit = { + is_landless_ruler = yes + } + ordered_courtier = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + else = { + ordered_knight = { + order_by = prowess + death = { + death_reason = death_magic + } + } + } + } + } + } + } + } + + ai_potential = { + always = yes + } + + ai_will_do = { base = 100 } + +} \ No newline at end of file diff --git a/common/dna_data/wc_draenei_dna.txt b/common/dna_data/wc_draenei_dna.txt index 6b2448c361..35be267420 100644 --- a/common/dna_data/wc_draenei_dna.txt +++ b/common/dna_data/wc_draenei_dna.txt @@ -144,6 +144,8 @@ maraad_dna = { beards={ "no_beard" 255 "no_beard" 0 } special_eyebrows={ "no_eyebrows" 255 "no_eyebrows" 0 } horns={ "draenei_horns" 229 "no_horns" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -151,8 +153,8 @@ maraad_dna = { # Velen velen_dna = { - portrait_info= { - genes={ + portrait_info= { + genes={ hair_color={ 170 22 29 0 } skin_color={ 208 109 204 97 } eye_color={ 234 72 165 84 } @@ -291,6 +293,8 @@ velen_dna = { special_eyebrows={ "high_elven_eyebrows" 255 "no_eyebrows" 0 } hairstyles={ "fp1_hairstyles_straight" 50 "all_hairstyles" 0 } beards={ "northern_beards_straight" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -298,8 +302,8 @@ velen_dna = { #Ishanah ishanah_dna = { - portrait_info= { - genes={ + portrait_info= { + genes={ hair_color={ 196 86 166 210 } skin_color={ 187 82 210 107 } eye_color={ 162 93 162 93 } @@ -438,6 +442,8 @@ ishanah_dna = { hairstyles={ "northern_hairstyles_straight" 191 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } horns={ "draenei_horns" 126 "no_horns" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -445,7 +451,7 @@ ishanah_dna = { #Admetius admetius_dna = { - portrait_info= { + portrait_info= { genes={ hair_color={ 196 86 166 210 } skin_color={ 190 112 190 112 } @@ -585,6 +591,8 @@ admetius_dna = { beards={ "no_beard" 255 "no_beard" 0 } horns={ "no_horns" 255 "no_horns" 0 } hairstyles={ "fp1_hairstyles_straight" 50 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -592,7 +600,7 @@ admetius_dna = { #Proenitus proenitus_dna = { - portrait_info= { + portrait_info= { genes={ hair_color={ 16 244 16 244 } skin_color={ 211 93 211 93 } @@ -732,6 +740,8 @@ proenitus_dna = { beards={ "no_beard" 255 "no_beard" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } horns={ "draenei_horns" 236 "draenei_horns" 236 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_dragon_dna.txt b/common/dna_data/wc_dragon_dna.txt index 9c767696b4..91cac89de9 100644 --- a/common/dna_data/wc_dragon_dna.txt +++ b/common/dna_data/wc_dragon_dna.txt @@ -146,6 +146,8 @@ ysera_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -291,6 +293,8 @@ ysera_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -436,6 +440,8 @@ alexstrasza_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -581,6 +587,8 @@ nozdormu_dna = { # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -727,6 +735,8 @@ sintharia_dna = { # by skesus, with edits by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 210 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -874,6 +884,8 @@ onyxia_dna = { # by skesus, with edits by ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 219 "all_hairstyles" 0 } beards={ "no_beard" 0 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1019,6 +1031,8 @@ nyxondra_dna = { # by skesus, with edits by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1167,6 +1181,8 @@ nefarian_dna = { # by skesus hairstyles={ "fp1_hairstyles_straight" 164 "all_hairstyles" 0 } beards={ "western_beards_straight" 63 "no_beard" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1314,6 +1330,8 @@ sabellian_dna = { # by skesus & ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 234 "all_hairstyles" 0 } beards={ "all_beards" 130 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1462,6 +1480,8 @@ deathwing_dna = { # by skesus beards={ "western_beards_straight" 211 "no_beard" 0 } hairstyles={ "fp1_hairstyles_straight" 164 "all_hairstyles" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_dwarf_dna.txt b/common/dna_data/wc_dwarf_dna.txt index d11fc72296..64946d1a39 100644 --- a/common/dna_data/wc_dwarf_dna.txt +++ b/common/dna_data/wc_dwarf_dna.txt @@ -151,6 +151,8 @@ magni_bronzebeard_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -295,6 +297,8 @@ muradin_bronzebeard_dna = { #by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -439,6 +443,8 @@ brann_bronzebeard_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -583,6 +589,8 @@ moira_bronzebeard_dna = { #by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -729,6 +737,8 @@ kurdran_dna = { #by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -873,7 +883,9 @@ falstad_dna = { #by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } enabled=yes } @@ -1019,7 +1031,9 @@ dagran_thaurissan_dna = { #by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } enabled=yes } @@ -1169,6 +1183,8 @@ vanndar_dna={ wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "fp1_hairstyles_straight" 125 "all_hairstyles" 0 } beards={ "indian_beards_straight" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1317,6 +1333,8 @@ harkyn_grymstone_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "fp1_beards_straight" 204 "no_beard" 0 } hairstyles={ "fp1_hairstyles_straight" 125 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_easter_egg_dna.txt b/common/dna_data/wc_easter_egg_dna.txt index efcfb11ab8..b6a85c79ed 100644 --- a/common/dna_data/wc_easter_egg_dna.txt +++ b/common/dna_data/wc_easter_egg_dna.txt @@ -138,6 +138,8 @@ static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -283,6 +285,8 @@ derthon_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -428,6 +432,8 @@ garith_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -573,6 +579,8 @@ evelyn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -718,6 +726,8 @@ fenarith_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -863,6 +873,8 @@ arren_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1008,6 +1020,8 @@ melyina_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1153,6 +1167,8 @@ ion_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1297,6 +1313,8 @@ squidward_dna = { #by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1442,6 +1460,8 @@ muaddib_dna = { #by Gaben wings={ "no_wings" 0 "no_wings" 0 } beards={ "no_beard" 255 "no_beard" 0 } hairstyles={ "western_hairstyles_wavy" 33 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1588,6 +1608,8 @@ muaddib_dna = { #by Gaben wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1734,6 +1756,8 @@ muaddib_dna = { #by Gaben wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "indian_hairstyles_straight" 255 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1880,6 +1904,8 @@ shrok_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2026,6 +2052,8 @@ blazer_dna = { # by Velius wings={ "no_wings" 0 "no_wings" 0 } beards={ "fp2_beards_straight" 126 "no_beard" 0 } hairstyles={ "fp1_hairstyles_straight" 50 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -2172,6 +2200,8 @@ yimo_dna = { # by Velius wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_straight" 255 "all_hairstyles" 0 } beards={ "western_beards_straight" 167 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -2318,6 +2348,8 @@ serphentos_dna = { # by Velius wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "fp1_hairstyles_straight" 125 "all_hairstyles" 0 } beards={ "fp1_beards_straight" 204 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -2464,6 +2496,8 @@ monori_dna = { # by Velius wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_wavy" 56 "all_hairstyles" 0 } beards={ "night_elven_straight_beards" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -2610,6 +2644,8 @@ thainor_dna = { # by Velius wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "indian_hairstyles_straight" 127 "all_hairstyles" 0 } beards={ "western_beards_straight" 63 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes diff --git a/common/dna_data/wc_elf_dna.txt b/common/dna_data/wc_elf_dna.txt index 3a27e06d2e..b7bbb9c31b 100644 --- a/common/dna_data/wc_elf_dna.txt +++ b/common/dna_data/wc_elf_dna.txt @@ -150,6 +150,8 @@ lorthemar_theron_dna = { # by ercarp & TheDrPibb static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 255 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -297,6 +299,8 @@ kaelthas_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -442,6 +446,8 @@ anasterian_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -589,6 +595,8 @@ sylvanas_windrunner_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -734,6 +742,8 @@ alleria_windrunner_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -879,6 +889,8 @@ vereesa_windrunner_dna = { # by Herbe (tweaks by ercarp) static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1026,7 +1038,9 @@ darkhan_drathir_dna = { # by Runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } enabled=yes } \ No newline at end of file diff --git a/common/dna_data/wc_gnome_dna.txt b/common/dna_data/wc_gnome_dna.txt index 3a326af91a..6f9e19ebf4 100644 --- a/common/dna_data/wc_gnome_dna.txt +++ b/common/dna_data/wc_gnome_dna.txt @@ -138,6 +138,8 @@ gelbin_mekkatorque_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -284,6 +286,8 @@ silas_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -430,6 +434,8 @@ millhouse_manastorm_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "indian_beards_straight" 255 "no_beard" 0 } hairstyles={ "western_hairstyles_straight" 231 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -575,6 +581,8 @@ magnus_manastorm_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } beards={ "steppe_beards_straight" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -720,6 +728,8 @@ millificent_manastorm_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "rtt_hairstyles" 255 "all_hairstyles" 0 } beards={ "gnomish_curly_beards" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_goblin_dna.txt b/common/dna_data/wc_goblin_dna.txt index 83c204cf73..e09df1ff25 100644 --- a/common/dna_data/wc_goblin_dna.txt +++ b/common/dna_data/wc_goblin_dna.txt @@ -146,6 +146,8 @@ jastor_gallywix_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_human_dna.txt b/common/dna_data/wc_human_dna.txt index d9d26ab6b3..d27ac24477 100644 --- a/common/dna_data/wc_human_dna.txt +++ b/common/dna_data/wc_human_dna.txt @@ -171,6 +171,8 @@ daelin_proudmoore_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -316,6 +318,8 @@ katherine_proudmoore_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -461,6 +465,8 @@ tandred_proudmoore_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -609,6 +615,8 @@ jaina_proudmoore_dna_2 = { # by Mayonez hairstyles={ "scripted_character_hairstyles_05" 212 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -754,6 +762,8 @@ derek_proudmoore_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -902,6 +912,8 @@ garithos_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1047,6 +1059,8 @@ robert_garithos_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1192,6 +1206,8 @@ aliberta_garithos_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1339,6 +1355,8 @@ thoras_trollbane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1484,6 +1502,8 @@ galen_trollbane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1629,6 +1649,8 @@ danath_trollbane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1776,6 +1798,8 @@ llane_wrynn_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1921,6 +1945,8 @@ anduin_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2066,6 +2092,8 @@ varian_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2211,6 +2239,8 @@ tiffin_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2356,6 +2386,8 @@ barathen_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2501,6 +2533,8 @@ landan_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2646,6 +2680,8 @@ varia_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2791,6 +2827,8 @@ taria_wrynn_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2938,6 +2976,8 @@ anduin_lothar_movie_dna = { # based on Travis Fimmel's portrayal, by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3085,6 +3125,8 @@ nathanos_marris_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3229,6 +3271,8 @@ stephon_marris_dna = { #currently a copypaste of Nathanos static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3376,6 +3420,8 @@ terenas_menethil_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3521,6 +3567,8 @@ lianne_menethil_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3666,6 +3714,8 @@ arthas_menethil_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3811,6 +3861,8 @@ calia_menethil_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -3959,6 +4011,8 @@ tirion_fordring_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4104,6 +4158,8 @@ karandra_fordring_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4249,6 +4305,8 @@ taelan_fordring_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4397,6 +4455,8 @@ genn_greymane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4542,6 +4602,8 @@ tess_greymane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4687,6 +4749,8 @@ archibald_greymane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4832,6 +4896,8 @@ liam_greymane_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -4977,6 +5043,8 @@ mia_greymane_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5124,6 +5192,8 @@ aiden_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5269,6 +5339,8 @@ aliden_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5414,6 +5486,8 @@ beve_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5559,6 +5633,8 @@ isolde_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5704,6 +5780,8 @@ valerius_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5849,6 +5927,8 @@ malatar_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5994,6 +6074,8 @@ isiden_perenolde_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6144,6 +6226,8 @@ daval_prestor_dna = { # by skesus. Just the Deathwing dna but with normal eyes beards={ "western_beards_straight" 211 "no_beard" 0 } hairstyles={ "fp1_hairstyles_straight" 164 "all_hairstyles" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6291,6 +6375,8 @@ katrana_prestor_dna = { # by skesus, with edits by ercarp. Just the Onyxia dna b wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "no_hairstyles" 219 "all_hairstyles" 0 } beards={ "no_beard" 0 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6438,6 +6524,8 @@ alexandros_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6583,6 +6671,8 @@ elena_mograine_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6731,6 +6821,8 @@ alonsus_faol_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6879,6 +6971,8 @@ saidan_dathrohan_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7026,6 +7120,8 @@ aedelas_blackmoore_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7173,6 +7269,8 @@ mathias_shaw_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7320,6 +7418,8 @@ bolvar_fordragon_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7465,6 +7565,8 @@ taelia_fordragon_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7612,6 +7714,8 @@ vanessa_vancleef_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7757,6 +7861,8 @@ edwin_vancleef_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7904,6 +8010,8 @@ ansirem_runeweaver_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8049,6 +8157,8 @@ catelyn_runeweaver_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8196,6 +8306,8 @@ alexei_barov_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8341,6 +8453,8 @@ illucia_barov_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8486,6 +8600,8 @@ jandice_barov_dna = { #by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8631,6 +8747,8 @@ alexi_barov_dna = { #by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8776,6 +8894,8 @@ weldon_barov_dna = { #by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8924,6 +9044,8 @@ sally_whitemane_dna = { # by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 200 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9071,6 +9193,8 @@ robert_whitemane_dna = { # by ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 251 "all_hairstyles" 0 } beards={ "all_beards" 234 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9218,6 +9342,8 @@ james_whitemane_dna = { # by ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 59 "all_hairstyles" 0 } beards={ "no_beard" 225 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9365,6 +9491,8 @@ robert_whitemane_jr_dna = { # by ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 45 "all_hairstyles" 0 } beards={ "all_beards" 44 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9512,6 +9640,8 @@ mary_whitemane_dna = { # by ercarp wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 45 "all_hairstyles" 0 } beards={ "all_beards" 44 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9657,6 +9787,8 @@ patricia_whitemane_dna = { # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9802,6 +9934,8 @@ odilia_whitemane_dna = { # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -9949,6 +10083,8 @@ godfrey_dna = { # by runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 255 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10095,6 +10231,8 @@ leeroy_jenkins_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 167 "no_beard" 0 } hairstyles={ "fp1_hairstyles_straight" 50 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10241,6 +10379,8 @@ harlan_dna={ #by Grekopithikos tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10389,6 +10529,8 @@ malus_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 211 "no_beard" 0 } hairstyles={ "western_hairstyles_wavy" 232 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10537,6 +10679,8 @@ harrison_jones_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "no_beard" 255 "no_beard" 0 } hairstyles={ "western_hairstyles_straight" 231 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10685,6 +10829,8 @@ uther_dna_2 = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10830,6 +10976,8 @@ turalyon_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -10975,6 +11123,8 @@ antonidas_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11120,6 +11270,8 @@ khadgar_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11265,6 +11417,8 @@ medivh_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11410,6 +11564,8 @@ kelthuzad_dna = { # by runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 255 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11555,6 +11711,8 @@ rhonin_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11706,6 +11864,8 @@ lucvalonforth_dna = { headgear={ "western_high_nobility" 189 "no_headgear" 0 } legwear={ "western_common_legwear" 248 "all_legwear" 0 } gene_shrink_body={ "shrink_all" 255 "" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -11852,6 +12012,8 @@ portrait_info = { wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "scripted_character_hairstyles_05" 212 "all_hairstyles" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes diff --git a/common/dna_data/wc_mogu_dna.txt b/common/dna_data/wc_mogu_dna.txt index 48e80666c1..2bb6e831df 100644 --- a/common/dna_data/wc_mogu_dna.txt +++ b/common/dna_data/wc_mogu_dna.txt @@ -144,6 +144,8 @@ lei_shen_dna = { # by Juke - Note: Made with early mogu ethnicity (Jan 2024), pl beards={ "western_beards_straight" 146 "no_beard" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_naga_dna.txt b/common/dna_data/wc_naga_dna.txt index 6b97be1c36..661927436f 100644 --- a/common/dna_data/wc_naga_dna.txt +++ b/common/dna_data/wc_naga_dna.txt @@ -141,6 +141,8 @@ lady_vashj_dna = { tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 255 "no_tendrils" 255 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_nightborne_dna.txt b/common/dna_data/wc_nightborne_dna.txt index e3a213d156..0fda3c4cda 100644 --- a/common/dna_data/wc_nightborne_dna.txt +++ b/common/dna_data/wc_nightborne_dna.txt @@ -149,6 +149,8 @@ clothes={ "elisande_robe" 255 "most_clothes" 0 } headgear={ "elisande_hat" 255 "no_headgear" 0 } gene_balding_hair_effect={ "no_baldness" 255 "no_baldness" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_nightelf_dna.txt b/common/dna_data/wc_nightelf_dna.txt index 7045e1a515..73bcbea81a 100644 --- a/common/dna_data/wc_nightelf_dna.txt +++ b/common/dna_data/wc_nightelf_dna.txt @@ -149,6 +149,8 @@ illidan_stormrage_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -294,6 +296,8 @@ malfurion_stormrage_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -441,6 +445,8 @@ maiev_shadowsong_dna = { # by Runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -585,6 +591,8 @@ jarod_shadowsong_dna = { # by Runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -732,6 +740,8 @@ tyrande_dna = { # by ercarp wings={ "no_wings" 0 "no_wings" 0 } gene_facial_markings={ "no_markings" 255 "no_markings" 255 } gene_facial_markings_2={ "no_markings" 127 "no_markings" 127 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -879,6 +889,8 @@ tortheldrin_dna = { # by Runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 255 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_orc_dna.txt b/common/dna_data/wc_orc_dna.txt index f938c63590..00c15724c2 100644 --- a/common/dna_data/wc_orc_dna.txt +++ b/common/dna_data/wc_orc_dna.txt @@ -152,6 +152,8 @@ orgrim_doomhammer_dna_2 = { # base by Garthor13, adjusted by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 246 "orcish_tusks" 246 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -297,6 +299,8 @@ blackhand_dna_2 = { # base by Garthor13, adjusted by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -442,6 +446,8 @@ urukal_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 127 "orcish_tusks" 193 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -587,6 +593,8 @@ dalrend_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 127 "orcish_tusks" 193 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -732,6 +740,8 @@ maim_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 127 "orcish_tusks" 193 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -877,6 +887,8 @@ griselda_dna = { # by icelille999 static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 127 "orcish_tusks" 105 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1024,6 +1036,8 @@ guldan_dna_2 = { # base by Garthor13, adjusted by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 81 "orcish_tusks" 81 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1171,6 +1185,8 @@ kilrogg_dna_2 = { # base by Garthor13, adjusted by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 145 "orcish_tusks" 193 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1318,6 +1334,8 @@ durotan_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 27 "orcish_tusks" 27 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1463,6 +1481,8 @@ thrall_dna_2 = { # base by Garthor13, adjusted by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 237 "orcish_tusks" 237 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1608,6 +1628,8 @@ drekthar_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 52 "orcish_tusks" 52 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1753,6 +1775,8 @@ draka_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 235 "orcish_tusks" 235 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1898,6 +1922,8 @@ nazgrel_dna = { # by NovelConcept static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 4 "orcish_tusks" 4 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2045,6 +2071,8 @@ grommash_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 18 "orcish_tusks" 18 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2190,6 +2218,8 @@ garrosh_dna = { # by Herbe (tweaks by ercarp) static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 127 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2337,6 +2367,8 @@ rexxar_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 255 "orcish_tusks" 52 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2484,6 +2516,8 @@ garona_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "orcish_tusks" 255 "orcish_tusks" 204 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2629,6 +2663,8 @@ mankrik_dna={ #by Grekopithikos tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2775,6 +2811,8 @@ nazgrim_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "northern_beards_straight" 90 "no_beard" 0 } hairstyles={ "no_hairstyles" 0 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -2921,6 +2959,8 @@ groth_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "northern_beards_straight" 137 "no_beard" 0 } hairstyles={ "high_elven_straight_hairstyles" 255 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_patron_dna.txt b/common/dna_data/wc_patron_dna.txt index b4fe7eb178..61f90f0135 100644 --- a/common/dna_data/wc_patron_dna.txt +++ b/common/dna_data/wc_patron_dna.txt @@ -137,6 +137,8 @@ tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } @@ -283,6 +285,8 @@ Runthemas_dna = { # by Runtd static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -428,6 +432,8 @@ Kargatha_dna = { # by Horgian static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -572,6 +578,8 @@ Kalandros_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -717,6 +725,8 @@ Thenell_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -863,6 +873,8 @@ Vallesta_dna = { # by Herbe static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1008,6 +1020,8 @@ Ralanor_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1158,9 +1172,11 @@ Galgamn_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Thorias_dna={ # by Gaben @@ -1305,9 +1321,11 @@ Thorias_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Thruk_dna={ # by Gaben @@ -1452,9 +1470,11 @@ Thruk_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Yeral_dna={ # by Gaben @@ -1599,9 +1619,11 @@ Yeral_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Vikram_dna={ # by Gaben @@ -1746,9 +1768,11 @@ Vikram_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Salazard_dna={ # by Gaben portrait_info = { @@ -1892,9 +1916,11 @@ Salazard_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Aeraniel_dna={ # by Gaben portrait_info = { @@ -2038,9 +2064,11 @@ Aeraniel_dna={ # by Gaben static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "no_tusks" 0 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } Dunbarten_dna={ # by Herbe @@ -2185,9 +2213,11 @@ Dunbarten_dna={ # by Herbe hairstyles={ "western_hairstyles_wavy" 198 "all_hairstyles" 0 } beards={ "dwarven_straight_beards" 255 "no_beard" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } carmelia_dna={ # by ercarp @@ -2333,9 +2363,11 @@ carmelia_dna={ # by ercarp beards={ "no_beard" 0 "no_beard" 0 } gene_seated={ "seated" 0 "seated" 0 } gene_shrink_body={ "shrink_all" 0 "" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } savaena_dna={ # by ercarp @@ -2477,9 +2509,11 @@ savaena_dna={ # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } shar_dna={ # by ercarp @@ -2621,9 +2655,11 @@ shar_dna={ # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } lilith_nightshade_dna={ # by ercarp @@ -2766,9 +2802,11 @@ lilith_nightshade_dna={ # by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 242 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } sahala_dna={ # by ercarp @@ -2911,9 +2949,11 @@ sahala_dna={ # by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 50 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } sallion_dna={ # by Gaben @@ -3057,9 +3097,11 @@ sallion_dna={ # by Gaben wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 63 "no_beard" 0 } hairstyles={ "northern_hairstyles_straight" 95 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } - enabled = yes + enabled=yes } harku_dna={ # by Herbe @@ -3201,9 +3243,11 @@ harku_dna={ # by Herbe tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } - enabled = yes + enabled=yes } fyn_dna={ # by ercarp @@ -3346,9 +3390,11 @@ fyn_dna={ # by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 246 "all_hairstyles" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } - enabled = yes + enabled=yes } attha_dna={ # by ercarp @@ -3490,9 +3536,11 @@ attha_dna={ # by ercarp tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } - } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} + } } - enabled = yes + enabled=yes } zediwan_dna={ # by ercarp @@ -3635,6 +3683,8 @@ zediwan_dna={ # by ercarp tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 0 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -3780,6 +3830,8 @@ Kalhas_dna={ #by Herbe wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "all_hairstyles" 0 "all_hairstyles" 0 } beards={ "no_beard" 0 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -3923,6 +3975,8 @@ Mathemarion_dna={ # By Herbe tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4068,6 +4122,8 @@ merrillith_dna={ # by skesus wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "high_elven_wavy_hairstyles" 255 "all_hairstyles" 0 } beards={ "high_elven_curly_beards" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4213,6 +4269,8 @@ gresham_dna={ # by skesus wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "fp2_hairstyles_iberian_christian_straight" 255 "all_hairstyles" 0 } beards={ "thin_beards_straight" 170 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4358,6 +4416,8 @@ marrowsong_dna={ # by skesus wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "high_elven_straight_hairstyles" 235 "all_hairstyles" 0 } beards={ "night_elven_straight_beards" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4503,6 +4563,8 @@ tarianpendraig_dna={ # by skesus wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_curly" 197 "no_beard" 0 } hairstyles={ "western_hairstyles_curly" 127 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4648,6 +4710,8 @@ sillendis_dna={ # by skesus wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_curly" 255 "no_beard" 0 } hairstyles={ "western_hairstyles_wavy" 255 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4792,6 +4856,8 @@ Dione_dna={ # By Herbe tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -4938,6 +5004,8 @@ harvestor_dna={ #by Dione wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 104 "no_beard" 0 } hairstyles={ "goblin_wavy_hairstyles" 111 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -5084,6 +5152,8 @@ laeroy_dna={ #by Patron wings={ "no_wings" 0 "no_wings" 0 } beards={ "high_elven_curly_beards" 255 "no_beard" 0 } hairstyles={ "high_elven_wavy_hairstyles" 255 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -5230,6 +5300,8 @@ zagryzon_dna={ # by Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "high_elven_wavy_hairstyles" 174 "all_hairstyles" 0 } beards={ "high_elven_curly_beards" 170 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -5377,6 +5449,8 @@ atia_dna = { # by Dione beards={ "high_elven_curly_beards" 255 "no_beard" 0 } hairstyles={ "high_elven_curly_hairstyles" 95 "all_hairstyles" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -5523,6 +5597,8 @@ alaei_dna = { # by Dione wings={ "no_wings" 0 "no_wings" 0 } beards={ "high_elven_curly_beards" 255 "no_beard" 0 } hairstyles={ "high_elven_wavy_hairstyles" 239 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5669,6 +5745,8 @@ mordekain_dna = { # by Patron wings={ "no_wings" 0 "no_wings" 0 } gene_scars_battle={ "scars_battle" 255 "scars_battle" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5814,6 +5892,8 @@ nova_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "high_elven_wavy_hairstyles" 52 "all_hairstyles" 0 } beards={ "high_elven_straight_beards" 170 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -5961,6 +6041,8 @@ lorsan_dna = { # By Dione hairstyles={ "western_hairstyles_curly" 127 "all_hairstyles" 0 } beards={ "sp3_beards_straight" 255 "no_beard" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6107,6 +6189,8 @@ caldarius_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_curly" 191 "all_hairstyles" 0 } beards={ "western_beards_straight" 94 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } @@ -6254,6 +6338,8 @@ iordanos_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_wavy" 232 "all_hairstyles" 0 } beards={ "western_beards_straight" 63 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6400,6 +6486,8 @@ sophia_w_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_wavy" 56 "all_hairstyles" 0 } beards={ "western_beards_curly" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -6546,6 +6634,8 @@ zula_dna ={ # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "fp2_hairstyles_iberian_christian_wavy" 85 "all_hairstyles" 0 } beards={ "western_beards_straight" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -6692,6 +6782,8 @@ alu_dna = { # by Patreon wings={ "no_wings" 0 "no_wings" 0 } beards={ "no_beard" 255 "no_beard" 0 } hairstyles={ "northern_hairstyles_straight" 85 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -6838,6 +6930,8 @@ yvonne_dna = { # by Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "fp1_hairstyles_straight" 190 "all_hairstyles" 0 } beards={ "western_beards_straight" 104 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } @@ -6984,6 +7078,8 @@ markus_dna = { wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_straight" 231 "all_hairstyles" 0 } beards={ "western_beards_straight" 244 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } @@ -7132,6 +7228,8 @@ krenath_dna = { hairstyles={ "western_hairstyles_straight" 115 "all_hairstyles" 0 } beards={ "western_beards_straight" 42 "no_beard" 0 } clothes={ "western_bedchamber" 79 "most_clothes" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes @@ -7278,6 +7376,8 @@ nicholas_dna = { # by Dione wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 125 "no_beard" 0 } hairstyles={ "western_hairstyles_straight" 185 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7429,6 +7529,8 @@ kedre_dna = {# By Patreon gene_bs_cloak_offset={ "cloak_offset" 255 "" 0 } gene_bs_long_beard={ "long_beard" 255 "" 0 } gene_bs_no_jaw={ "no_jaw" 255 "" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7575,6 +7677,8 @@ victor_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } beards={ "sub_saharan_beards_afro" 255 "no_beard" 0 } hairstyles={ "fp2_hairstyles_iberian_muslim_straight" 255 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7721,6 +7825,8 @@ jeimy_dna = { # By Dione wings={ "no_wings" 0 "no_wings" 0 } beards={ "ep3_beards_curly" 255 "no_beard" 0 } hairstyles={ "fp2_hairstyles_iberian_christian_straight" 127 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -7866,6 +7972,8 @@ gustav_dna ={ # By Dione wings={ "no_wings" 0 "no_wings" 0 } hairstyles={ "western_hairstyles_straight" 185 "all_hairstyles" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8011,6 +8119,8 @@ jarin_dna={ # By Dione tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } beards={ "no_beard" 255 "no_beard" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -8154,6 +8264,8 @@ vejcovod_dna={ # By Dione tail={ "no_tail" 0 "no_tail" 0 } tendrils={ "no_tendrils" 0 "no_tendrils" 0 } wings={ "no_wings" 0 "no_wings" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes diff --git a/common/dna_data/wc_troll_dna.txt b/common/dna_data/wc_troll_dna.txt index b7f1cf673b..36c4f98446 100644 --- a/common/dna_data/wc_troll_dna.txt +++ b/common/dna_data/wc_troll_dna.txt @@ -138,6 +138,8 @@ ateena_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "troll_tusks" 115 "troll_tusks" 115 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -282,6 +284,8 @@ malakk_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "troll_tusks" 255 "no_tusks" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -426,6 +430,8 @@ voljin_dna = { # by ercarp static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "troll_tusks" 255 "troll_tusks" 244 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -570,6 +576,8 @@ rastakhan_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "troll_tusks" 91 "troll_tusks" 91 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } } @@ -713,6 +721,8 @@ talanji_dna = { # by Herbe static_mustaches={ "no_static_mustaches" 0 "no_static_mustaches" 0 } static_beards={ "no_static_beards" 0 "no_static_beards" 0 } tusks={ "troll_tusks" 124 "troll_tusks" 124 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } } @@ -858,6 +868,8 @@ zabra_hexx_dna={ wings={ "no_wings" 0 "no_wings" 0 } beards={ "western_beards_straight" 211 "no_beard" 0 } hairstyles={ "indian_hairstyles_straight" 127 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled=yes @@ -1004,6 +1016,8 @@ voll_dna={ #by Grekopithikos wings={ "no_wings" 0 "no_wings" 0 } beards={ "no_beard" 255 "no_beard" 0 } hairstyles={ "indian_hairstyles_straight" 255 "all_hairstyles" 0 } + iceblock={ "no_iceblock" 255 "no_iceblock" 255} + polymorph={ "no_polymorph" 255 "no_polymorph" 255} } } enabled = yes diff --git a/common/effect_localization/wc_lifestyle_traits_effects_localization.txt b/common/effect_localization/wc_lifestyle_traits_effects_localization.txt new file mode 100644 index 0000000000..f80a96747e --- /dev/null +++ b/common/effect_localization/wc_lifestyle_traits_effects_localization.txt @@ -0,0 +1,82 @@ +wc_add_amount_elemental_fire_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_GLOBAL + first = WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_FIRST +} +wc_subtract_amount_elemental_fire_favour_effect = { + first = WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_FIRST_NEG + global = WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_GLOBAL_NEG +} +wc_add_amount_elemental_water_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_GLOBAL + first = WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_FIRST +} +wc_subtract_amount_elemental_water_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_GLOBAL_NEG + first = WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_FIRST_NEG +} +wc_add_amount_elemental_air_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_GLOBAL + first = WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_FIRST +} +wc_subtract_amount_elemental_air_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_GLOBAL_NEG + first = WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_FIRST_NEG +} +wc_add_amount_elemental_earth_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_GLOBAL + first = WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_FIRST +} +wc_subtract_amount_elemental_earth_favour_effect = { + global = WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_GLOBAL_NEG + first = WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_FIRST_NEG +} +wc_change_elemental_fire_disposition_to_neutral_effect = { + global = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST +} +wc_change_elemental_water_disposition_to_neutral_effect = { + global = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST +} +wc_change_elemental_air_disposition_to_neutral_effect = { + global = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST +} +wc_change_elemental_earth_disposition_to_neutral_effect = { + global = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST +} + +wc_change_elemental_fire_disposition_to_spirit_effect = { + global = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_SPIRIT_EFFECT_FIRST +} +wc_change_elemental_water_disposition_to_spirit_effect = { + global = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_SPIRIT_EFFECT_FIRST +} +wc_change_elemental_air_disposition_to_spirit_effect = { + global = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_SPIRIT_EFFECT_FIRST +} +wc_change_elemental_earth_disposition_to_spirit_effect = { + global = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_SPIRIT_EFFECT_FIRST +} + +wc_change_elemental_fire_disposition_to_decay_effect = { + global = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_DECAY_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_DECAY_EFFECT_FIRST +} +wc_change_elemental_water_disposition_to_decay_effect = { + global = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_DECAY_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_DECAY_EFFECT_FIRST +} +wc_change_elemental_air_disposition_to_decay_effect = { + global = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_DECAY_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_DECAY_EFFECT_FIRST +} +wc_change_elemental_earth_disposition_to_decay_effect = { + global = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_DECAY_EFFECT_GLOBAL + first = WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_DECAY_EFFECT_FIRST +} diff --git a/common/effect_localization/wc_magic_effects.txt b/common/effect_localization/wc_magic_effects.txt new file mode 100644 index 0000000000..39213112c9 --- /dev/null +++ b/common/effect_localization/wc_magic_effects.txt @@ -0,0 +1,252 @@ +wc_add_mana_value_effect = { + first = WC_ADD_MANA_VALUE_EFFECT_FIRST + global = WC_ADD_MANA_VALUE_EFFECT_GLOBAL + third = WC_ADD_MANA_VALUE_EFFECT_THIRD +} +wc_subtract_mana_value_effect = { + first = WC_SUBTRACT_MANA_VALUE_EFFECT_FIRST + global = WC_SUBTRACT_MANA_VALUE_EFFECT_GLOBAL + third = WC_SUBTRACT_MANA_VALUE_EFFECT_THIRD +} + +wc_monthly_mana_VALUE_cost_effect = { + first = WC_MONTHLY_MANA_VALUE_COST_EFFECT_FIRST + global = WC_MONTHLY_MANA_VALUE_COST_EFFECT_GLOBAL + third = WC_MONTHLY_MANA_VALUE_COST_EFFECT_THIRD +} +wc_monthly_mana_VALUE_return_effect = { + first = WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_FIRST + global = WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_GLOBAL + third = WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_THIRD +} + +wc_add_hp_value_effect = { + first = WC_ADD_HP_VALUE_EFFECT_FIRST + global = WC_ADD_HP_VALUE_EFFECT_GLOBAL + third = WC_ADD_HP_VALUE_EFFECT_THIRD +} +wc_subtract_hp_value_effect = { + first = WC_SUBTRACT_HP_VALUE_EFFECT_FIRST + global = WC_SUBTRACT_HP_VALUE_EFFECT_GLOBAL + third = WC_SUBTRACT_HP_VALUE_EFFECT_THIRD +} + +wc_add_mp_value_effect = { + first = WC_ADD_MP_VALUE_EFFECT_FIRST + global = WC_ADD_MP_VALUE_EFFECT_GLOBAL + third = WC_ADD_MP_VALUE_EFFECT_THIRD +} + +wc_subtract_mp_value_effect = { + first = WC_SUBTRACT_MP_VALUE_EFFECT_FIRST + global = WC_SUBTRACT_MP_VALUE_EFFECT_GLOBAL + third = WC_SUBTRACT_MP_VALUE_EFFECT_THIRD +} + +wc_add_elemental_water_magic_resistance_effect = { + first = WC_ADD_ELEMENTAL_WATER_MR_EFFECT_FIRST + global = WC_ADD_ELEMENTAL_WATER_MR_EFFECT_GLOBAL + third = WC_ADD_ELEMENTAL_WATER_MR_EFFECT_THIRD +} + +wc_subtract_elemental_water_magic_resistance_effect = { + first = WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_FIRST + global = WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_THIRD +} + +wc_add_elemental_air_magic_resistance_effect = { + first = WC_ADD_ELEMENTAL_AIR_MR_EFFECT_FIRST + global = WC_ADD_ELEMENTAL_AIR_MR_EFFECT_GLOBAL + third = WC_ADD_ELEMENTAL_AIR_MR_EFFECT_THIRD +} + +wc_subtract_elemental_air_magic_resistance_effect = { + first = WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_FIRST + global = WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_THIRD +} + +wc_add_elemental_earth_magic_resistance_effect = { + first = WC_ADD_ELEMENTAL_EARTH_MR_EFFECT_FIRST + global = WC_ADD_ELEMENTAL_EARTH_MR_EFFECT_GLOBAL + third = WC_ADD_ELEMENTAL_EARTH_MR_EFFECT_THIRD +} + +wc_subtract_elemental_earth_magic_resistance_effect = { + first = WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_FIRST + global = WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_THIRD +} + +wc_add_elemental_fire_magic_resistance_effect = { + first = WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_FIRST + global = WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_GLOBAL + third = WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_THIRD +} + +wc_subtract_elemental_fire_magic_resistance_effect = { + first = WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_FIRST + global = WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_THIRD +} + +wc_add_life_magic_resistance_effect = { + first = WC_ADD_LIFE_MR_EFFECT_FIRST + global = WC_ADD_LIFE_MR_EFFECT_GLOBAL + third = WC_ADD_LIFE_MR_EFFECT_THIRD +} + +wc_subtract_life_magic_resistance_effect = { + first = WC_SUBTRACT_LIFE_MR_EFFECT_FIRST + global = WC_SUBTRACT_LIFE_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_LIFE_MR_EFFECT_THIRD +} + +wc_add_death_magic_resistance_effect = { + first = WC_ADD_DEATH_MR_EFFECT_FIRST + global = WC_ADD_DEATH_MR_EFFECT_GLOBAL + third = WC_ADD_DEATH_MR_EFFECT_THIRD +} + +wc_subtract_death_magic_resistance_effect = { + first = WC_SUBTRACT_DEATH_MR_EFFECT_FIRST + global = WC_SUBTRACT_DEATH_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_DEATH_MR_EFFECT_THIRD +} + +wc_add_light_magic_resistance_effect = { + first = WC_ADD_LIGHT_MR_EFFECT_FIRST + global = WC_ADD_LIGHT_MR_EFFECT_GLOBAL + third = WC_ADD_LIGHT_MR_EFFECT_THIRD +} + +wc_subtract_light_magic_resistance_effect = { + first = WC_SUBTRACT_LIGHT_MR_EFFECT_FIRST + global = WC_SUBTRACT_LIGHT_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_LIGHT_MR_EFFECT_THIRD +} + +wc_add_shadow_magic_resistance_effect = { + first = WC_ADD_SHADOW_MR_EFFECT_FIRST + global = WC_ADD_SHADOW_MR_EFFECT_GLOBAL + third = WC_ADD_SHADOW_MR_EFFECT_THIRD +} + +wc_subtract_shadow_magic_resistance_effect = { + first = WC_SUBTRACT_SHADOW_MR_EFFECT_FIRST + global = WC_SUBTRACT_SHADOW_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_SHADOW_MR_EFFECT_THIRD +} + +wc_add_order_magic_resistance_effect = { + first = WC_ADD_ORDER_MR_EFFECT_FIRST + global = WC_ADD_ORDER_MR_EFFECT_GLOBAL + third = WC_ADD_ORDER_MR_EFFECT_THIRD +} + +wc_subtract_order_magic_resistance_effect = { + first = WC_SUBTRACT_ORDER_MR_EFFECT_FIRST + global = WC_SUBTRACT_ORDER_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_ORDER_MR_EFFECT_THIRD +} + +wc_add_disorder_magic_resistance_effect = { + first = WC_ADD_DISORDER_MR_EFFECT_FIRST + global = WC_ADD_DISORDER_MR_EFFECT_GLOBAL + third = WC_ADD_DISORDER_MR_EFFECT_THIRD +} + +wc_subtract_disorder_magic_resistance_effect = { + first = WC_SUBTRACT_DISORDER_MR_EFFECT_FIRST + global = WC_SUBTRACT_DISORDER_MR_EFFECT_GLOBAL + third = WC_SUBTRACT_DISORDER_MR_EFFECT_THIRD +} + +add_elemental_fire_magic_lifestyle_perk_points = { + first = WC_ELEMENTAL_FIRE_PERK_ADD_FIRST + global = WC_ELEMENTAL_FIRE_PERK_ADD_GLOBAL + third = WC_ELEMENTAL_FIRE_PERK_ADD_THIRD +} + +add_elemental_air_magic_lifestyle_perk_points = { + first = WC_ELEMENTAL_AIR_PERK_ADD_FIRST + global = WC_ELEMENTAL_AIR_PERK_ADD_GLOBAL + third = WC_ELEMENTAL_AIR_PERK_ADD_THIRD +} + +add_elemental_water_magic_lifestyle_perk_points = { + first = WC_ELEMENTAL_WATER_PERK_ADD_FIRST + global = WC_ELEMENTAL_WATER_PERK_ADD_GLOBAL + third = WC_ELEMENTAL_WATER_PERK_ADD_THIRD +} + +add_elemental_earth_magic_lifestyle_perk_points = { + first = WC_ELEMENTAL_EARTH_PERK_ADD_FIRST + global = WC_ELEMENTAL_EARTH_PERK_ADD_GLOBAL + third = WC_ELEMENTAL_EARTH_PERK_ADD_THIRD +} + +add_life_magic_lifestyle_perk_points = { + first = WC_LIFE_PERK_ADD_FIRST + global = WC_LIFE_PERK_ADD_GLOBAL + third = WC_LIFE_PERK_ADD_THIRD +} + +add_death_magic_lifestyle_perk_points = { + first = WC_DEATH_PERK_ADD_FIRST + global = WC_DEATH_PERK_ADD_GLOBAL + third = WC_DEATH_PERK_ADD_THIRD +} + +add_light_magic_lifestyle_perk_points = { + first = WC_LIGHT_PERK_ADD_FIRST + global = WC_LIGHT_PERK_ADD_GLOBAL + third = WC_LIGHT_PERK_ADD_THIRD +} + +add_shadow_magic_lifestyle_perk_points = { + first = WC_SHADOW_PERK_ADD_FIRST + global = WC_SHADOW_PERK_ADD_GLOBAL + third = WC_SHADOW_PERK_ADD_THIRD +} + +add_order_magic_lifestyle_perk_points = { + first = WC_ORDER_PERK_ADD_FIRST + global = WC_ORDER_PERK_ADD_GLOBAL + third = WC_ORDER_PERK_ADD_THIRD +} + +add_disorder_magic_lifestyle_perk_points = { + first = WC_DISORDER_PERK_ADD_FIRST + global = WC_DISORDER_PERK_ADD_GLOBAL + third = WC_DISORDER_PERK_ADD_THIRD +} + +WC_ARCANE_ELEMENTAL_FINAL_PERK_EXCLUSIVE = { + first = wc_arcane_elemental_final_perk_exclusive +} + +wc_add_max_mana_effect = { + first = WC_ADD_MAX_MANA_EFFECT_FIRST + global = WC_ADD_MAX_MANA_EFFECT_GLOBAL + third = WC_ADD_MAX_MANA_EFFECT_THIRD +} + +wc_subtract_max_mana_effect = { + first = WC_SUBTRACT_MAX_MANA_EFFECT_FIRST + global = WC_SUBTRACT_MAX_MANA_EFFECT_GLOBAL + third = WC_SUBTRACT_MAX_MANA_EFFECT_THIRD +} + +wc_add_mana_regen_effect = { + first = WC_ADD_MANA_REGEN_EFFECT_FIRST + global = WC_ADD_MANA_REGEN_EFFECT_GLOBAL + third = WC_ADD_MANA_REGEN_EFFECT_THIRD +} + +wc_subtract_mana_regen_effect = { + first = WC_SUBTRACT_MANA_REGEN_EFFECT_FIRST + global = WC_SUBTRACT_MANA_REGEN_EFFECT_GLOBAL + third = WC_SUBTRACT_MANA_REGEN_EFFECT_THIRD +} \ No newline at end of file diff --git a/common/epidemics/00_epidemics.txt b/common/epidemics/00_epidemics.txt index ea4ed02c6a..ca4512212c 100755 --- a/common/epidemics/00_epidemics.txt +++ b/common/epidemics/00_epidemics.txt @@ -83,6 +83,27 @@ smallpox = { } trigger_event = epidemic_events.0001 #we infect your army } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -389,6 +410,27 @@ bubonic_plague = { on_character_infected = { contract_disease_notify_effect = { DISEASE = bubonic_plague } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -771,6 +813,27 @@ typhus = { on_character_infected = { contract_disease_notify_effect = { DISEASE = typhus } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -1093,6 +1156,27 @@ consumption = { #Tuberculosis on_character_infected = { contract_disease_notify_effect = { DISEASE = consumption } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -1451,6 +1535,27 @@ measles = { on_character_infected = { contract_disease_notify_effect = { DISEASE = measles } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -1765,6 +1870,27 @@ dysentery = { on_character_infected = { contract_disease_notify_effect = { DISEASE = dysentery } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { @@ -2082,6 +2208,27 @@ ergotism = { #dancing plague - not contagious on_character_infected = { contract_disease_notify_effect = { DISEASE = ergotism } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft } infection_levels = { diff --git a/common/epidemics/wc_epidemics.txt b/common/epidemics/wc_epidemics.txt new file mode 100644 index 0000000000..b5a0e67faf --- /dev/null +++ b/common/epidemics/wc_epidemics.txt @@ -0,0 +1,917 @@ +frost_fever = { + trait = frost_fever + color = { 12 79 89 } + priority = 4 + + shader_data = { + strength = 0.8 + edge_fade = 0.25 + tile_multiplier = 0.004702 + texture_index = 0 + channel = alpha + } + + name = { + first_valid = { + random_valid = { + triggered_desc = { + trigger = { + outbreak_intensity = apocalyptic + outbreak_province = { + #geographical_region = ghw_region_egypt [Warcraft - irrelevant] + county.faith.religion = { like_christianity_religion_trigger = yes } + } + } + desc = epidemic_eleventh_plague + } + desc = epidemic_rulers_fever + desc = epidemic_titled_rulers_fever + desc = epidemic_realm_fever + desc = epidemic_holder_fever + desc = epidemic_culture_fever + desc = epidemic_location_fever + } + desc = trait_frost_fever + } + } + + on_start = { + # LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK + epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province } + } + + on_monthly = { + trigger_event = { + on_action = epidemic_ongoing_events + } + } + + character_infection_chance = { + value = character_infection_chance_default_value + multiply = wc_standard_epidemic_infect_chance_percent_reduction # Warcraft - LE infection chance reduction + multiply = wc_lore_plague_mitigations_reduction # Warcraft - mitigation for lore importance and can_not_get_sick + } + + can_infect_character = { + can_contract_disease_trigger = { DISEASE = frost_fever } + immune_to_epidemic = { EPIDEMIC = scope:epidemic } + } + + on_character_infected = { + contract_disease_notify_effect = { DISEASE = frost_fever } + if = { + limit = { + is_commanding_army = yes + } + trigger_event = epidemic_events.0001 #we infect your army + } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft + } + + infection_levels = { # TODO: Modifiers + 10 = { + province_modifier = { + county_opinion_add = -2 + epidemic_travel_danger = 10 + development_decline = -1 + } + } + 50 = { + province_modifier = { + county_opinion_add = -3 + epidemic_travel_danger = 20 + development_decline = -2 + } + } + 80 = { + province_modifier = { + monthly_county_control_decline_add = -0.1 + supply_limit_mult = -0.2 + county_opinion_add = -5 + epidemic_travel_danger = 30 + development_decline = -3 + } + } + } + + outbreak_intensities = { + minor = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 15 30 } + + infection_duration = { + months = { 6 8 } + } + + infection_progress_duration = { + days = { 80 120 } + } + + infection_recovery_duration = { + days = { 15 22 } + } + } + + major = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 45 70 } + + infection_duration = { + months = { 10 20 } + } + + infection_progress_duration = { + days = { 40 60 } + } + + infection_recovery_duration = { + days = 25 + } + } + + apocalyptic = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 120 180 } + + infection_duration = { + months = { 22 40 } + } + + infection_progress_duration = { + days = { 15 20 } + } + + infection_recovery_duration = { + days = { 25 35 } + } + } + } + + on_province_infected = { + county = { + apply_infection_development_loss = { BASE = 10 } + } + } + + on_province_recovered = { + county = { + remove_isolated_capital_modifiers_effect = yes + } + add_to_variable_list = { + name = epidemic_cooldown + target = scope:epidemic.epidemic_type + years = 50 + } + set_variable = { + name = epidemic_cooldown_general + years = 15 + } + # Prosperity event + plague_recovery_event_effect = yes + } +} + +crypt_fever = { + trait = crypt_fever + color = { 12 89 29 } + priority = 4 + + shader_data = { + strength = 0.8 + edge_fade = 0.25 + tile_multiplier = 0.004702 + texture_index = 0 + channel = alpha + } + + name = { + first_valid = { + random_valid = { + triggered_desc = { + trigger = { + outbreak_intensity = apocalyptic + outbreak_province = { + #geographical_region = ghw_region_egypt [Warcraft - irrelevant] + county.faith.religion = { like_christianity_religion_trigger = yes } + } + } + desc = epidemic_eleventh_plague + } + desc = epidemic_rulers_fever + desc = epidemic_titled_rulers_fever + desc = epidemic_realm_fever + desc = epidemic_holder_fever + desc = epidemic_culture_fever + desc = epidemic_location_fever + } + desc = trait_crypt_fever + } + } + + on_start = { + # LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK + epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province } + } + + on_monthly = { + trigger_event = { + on_action = epidemic_ongoing_events + } + } + + character_infection_chance = { + value = character_infection_chance_default_value + multiply = wc_standard_epidemic_infect_chance_percent_reduction # Warcraft - LE infection chance reduction + multiply = wc_lore_plague_mitigations_reduction # Warcraft - mitigation for lore importance and can_not_get_sick + } + + can_infect_character = { + can_contract_disease_trigger = { DISEASE = crypt_fever } + immune_to_epidemic = { EPIDEMIC = scope:epidemic } + } + + on_character_infected = { + contract_disease_notify_effect = { DISEASE = crypt_fever } + if = { + limit = { + is_commanding_army = yes + } + trigger_event = epidemic_events.0001 #we infect your army + } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft + } + + infection_levels = { # TODO: Modifiers + 10 = { + province_modifier = { + county_opinion_add = -2 + epidemic_travel_danger = 10 + development_decline = -1 + } + } + 50 = { + province_modifier = { + county_opinion_add = -3 + epidemic_travel_danger = 20 + development_decline = -2 + } + } + 80 = { + province_modifier = { + monthly_county_control_decline_add = -0.1 + supply_limit_mult = -0.2 + county_opinion_add = -5 + epidemic_travel_danger = 30 + development_decline = -3 + } + } + } + + outbreak_intensities = { + minor = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 15 30 } + + infection_duration = { + months = { 6 12 } + } + + infection_progress_duration = { + days = { 40 60 } + } + + infection_recovery_duration = { + days = { 25 35 } + } + } + + major = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 45 70 } + + infection_duration = { + months = { 12 24 } + } + + infection_progress_duration = { + days = { 25 35 } + } + + infection_recovery_duration = { + days = { 50 70 } + } + } + + apocalyptic = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 120 180 } + + infection_duration = { + months = { 24 48 } + } + + infection_progress_duration = { + days = { 5 9 } + } + + infection_recovery_duration = { + days = { 80 120 } + } + } + } + + on_province_infected = { + county = { + apply_infection_development_loss = { BASE = 15 } + } + } + + on_province_recovered = { + county = { + remove_isolated_capital_modifiers_effect = yes + } + add_to_variable_list = { + name = epidemic_cooldown + target = scope:epidemic.epidemic_type + years = 50 + } + set_variable = { + name = epidemic_cooldown_general + years = 15 + } + # Prosperity event + plague_recovery_event_effect = yes + } +} + +blood_plague = { + trait = blood_plague + color = { 12 89 29 } + priority = 4 + + shader_data = { + strength = 0.8 + edge_fade = 0.25 + tile_multiplier = 0.004702 + texture_index = 0 + channel = alpha + } + + name = { + first_valid = { + random_valid = { + triggered_desc = { + trigger = { + outbreak_intensity = apocalyptic + outbreak_province = { + #geographical_region = ghw_region_egypt [Warcraft - irrelevant] + county.faith.religion = { like_christianity_religion_trigger = yes } + } + } + desc = epidemic_eleventh_plague + } + desc = epidemic_rulers_plague + desc = epidemic_titled_rulers_plague + desc = epidemic_realm_plague + desc = epidemic_holder_plague + desc = epidemic_culture_plague + desc = epidemic_location_plague + } + desc = trait_blood_plague + } + } + + on_start = { + # LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK + epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province } + } + + on_monthly = { + trigger_event = { + on_action = epidemic_ongoing_events + } + } + + character_infection_chance = { + value = character_infection_chance_default_value + multiply = wc_standard_epidemic_infect_chance_percent_reduction # Warcraft - LE infection chance reduction + multiply = wc_lore_plague_mitigations_reduction # Warcraft - mitigation for lore importance and can_not_get_sick + } + + can_infect_character = { + can_contract_disease_trigger = { DISEASE = blood_plague } + immune_to_epidemic = { EPIDEMIC = scope:epidemic } + } + + on_character_infected = { + contract_disease_notify_effect = { DISEASE = blood_plague } + if = { + limit = { + is_commanding_army = yes + } + trigger_event = epidemic_events.0001 #we infect your army + } + + # Warcraft + if = { + limit = { + scope:epidemic = { + has_variable = epidemic_caster + var:epidemic_caster = { + has_perk = death_magic_tree_2_perk_8 + } + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + # End Warcraft + } + + infection_levels = { # TODO: Modifiers + 10 = { + province_modifier = { + county_opinion_add = -2 + epidemic_travel_danger = 10 + development_decline = -1 + } + } + 50 = { + province_modifier = { + county_opinion_add = -3 + epidemic_travel_danger = 20 + development_decline = -2 + } + } + 80 = { + province_modifier = { + monthly_county_control_decline_add = -0.1 + supply_limit_mult = -0.2 + county_opinion_add = -5 + epidemic_travel_danger = 30 + development_decline = -3 + } + } + } + + outbreak_intensities = { + minor = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 15 30 } + + infection_duration = { + months = { 12 18 } #stays around for a long time + } + + infection_progress_duration = { + days = { 80 100 } + } + + infection_recovery_duration = { + days = { 30 60 } #stays around for a long time + } + } + + major = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 45 70 } + + infection_duration = { + months = { 20 25 } + } + + infection_progress_duration = { + days = { 40 60 } + } + + infection_recovery_duration = { + days = { 60 80 } + } + } + + apocalyptic = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 120 180 } + + infection_duration = { + months = { 30 45 } + } + + infection_progress_duration = { + days = { 15 30 } + } + + infection_recovery_duration = { + days = { 80 100 } + } + } + } + + on_province_infected = { + county = { + apply_infection_development_loss = { BASE = 10 } + } + } + + on_province_recovered = { + county = { + remove_isolated_capital_modifiers_effect = yes + } + add_to_variable_list = { + name = epidemic_cooldown + target = scope:epidemic.epidemic_type + years = 50 + } + set_variable = { + name = epidemic_cooldown_general + years = 15 + } + # Prosperity event + plague_recovery_event_effect = yes + } +} +void_sickness = { + trait = void_sickness + color = { 12 89 29 } + priority = 4 + + shader_data = { + strength = 0.8 + edge_fade = 0.25 + tile_multiplier = 0.004702 + texture_index = 0 + channel = alpha + } + + name = { + first_valid = { + random_valid = { + triggered_desc = { + trigger = { + outbreak_intensity = apocalyptic + outbreak_province = { + #geographical_region = ghw_region_egypt [Warcraft - irrelevant] + county.faith.religion = { like_christianity_religion_trigger = yes } + } + } + desc = epidemic_eleventh_plague + } + desc = epidemic_rulers_plague + desc = epidemic_titled_rulers_plague + desc = epidemic_realm_plague + desc = epidemic_holder_plague + desc = epidemic_culture_plague + desc = epidemic_location_plague + } + desc = trait_void_sickness + } + } + + on_start = { + # LEGITIMACY LOSS FROM EPIDEMIC OUTBREAK + epidemic_outbreak_legitimacy_effect = { PROVINCE = root.outbreak_province } + } + + on_monthly = { + trigger_event = { + on_action = epidemic_ongoing_events + } + } + + character_infection_chance = { + value = character_infection_chance_default_value + multiply = wc_standard_epidemic_infect_chance_percent_reduction # Warcraft - LE infection chance reduction + multiply = wc_lore_plague_mitigations_reduction # Warcraft - mitigation for lore importance and can_not_get_sick + } + + can_infect_character = { + can_contract_disease_trigger = { DISEASE = void_sickness } + immune_to_epidemic = { EPIDEMIC = scope:epidemic } + } + + on_character_infected = { + contract_disease_notify_effect = { DISEASE = void_sickness } + if = { + limit = { + is_commanding_army = yes + } + trigger_event = epidemic_events.0001 #we infect your army + } + } + + infection_levels = { # TODO: Modifiers + 10 = { + province_modifier = { + county_opinion_add = -2 + epidemic_travel_danger = 10 + development_decline = -1 + } + } + 50 = { + province_modifier = { + county_opinion_add = -3 + epidemic_travel_danger = 20 + development_decline = -2 + } + } + 80 = { + province_modifier = { + monthly_county_control_decline_add = -0.1 + supply_limit_mult = -0.2 + county_opinion_add = -5 + epidemic_travel_danger = 30 + development_decline = -3 + } + } + } + + outbreak_intensities = { + minor = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 15 30 } + + infection_duration = { + months = { 12 18 } #stays around for a long time + } + + infection_progress_duration = { + days = { 80 100 } + } + + infection_recovery_duration = { + days = { 30 60 } #stays around for a long time + } + } + + major = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 45 70 } + + infection_duration = { + months = { 20 25 } + } + + infection_progress_duration = { + days = { 40 60 } + } + + infection_recovery_duration = { + days = { 60 80 } + } + } + + apocalyptic = { + outbreak_chance = { + value = 0 # Magical Disease, can only be spawned with magic + + if = { + limit = { + has_game_rule = epidemic_frequency_disabled + } + multiply = 0 + } + } + spread_chance = { + value = spread_chance_epidemics_default_value + multiply = spread_chance_epidemics_mult_value + multiply = wc_standard_epidemic_spread_multiplier_reduction # Warcraft - mitigation for longevity mechanics + } + max_provinces = { 120 180 } + + infection_duration = { + months = { 30 45 } + } + + infection_progress_duration = { + days = { 15 30 } + } + + infection_recovery_duration = { + days = { 80 100 } + } + } + } + + on_province_infected = { + county = { + apply_infection_development_loss = { BASE = 10 } + } + } + + on_province_recovered = { + county = { + remove_isolated_capital_modifiers_effect = yes + } + add_to_variable_list = { + name = epidemic_cooldown + target = scope:epidemic.epidemic_type + years = 50 + } + set_variable = { + name = epidemic_cooldown_general + years = 15 + } + # Prosperity event + plague_recovery_event_effect = yes + } +} \ No newline at end of file diff --git a/common/event_themes/wc_event_themes.txt b/common/event_themes/wc_event_themes.txt index 752e5252a3..997d0619ad 100644 --- a/common/event_themes/wc_event_themes.txt +++ b/common/event_themes/wc_event_themes.txt @@ -81,3 +81,60 @@ suramar = { reference = throne_room } } +elemental_fire = { + icon = { + reference = "gfx/interface/icons/icon_elemental_fire_magic.dds" + } + sound = { + reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" + } + background = { + reference = throne_room + } +} +order = { + icon = { + reference = "gfx/interface/icons/icon_order_magic.dds" + } + sound = { + reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" + } + background = { + reference = throne_room + } +} + +light = { + icon = { + reference = "gfx/interface/icons/icon_light_magic.dds" + } + sound = { + reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" + } + background = { + reference = throne_room + } +} +elemental_water = { + icon = { + reference = "gfx/interface/icons/icon_elemental_water_magic.dds" + } + sound = { + reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" + } + background = { + reference = throne_room + } +} + +shadow = { + icon = { + reference = "gfx/interface/icons/icon_shadow_magic.dds" + } + sound = { + reference = "event:/SFX/Events/Themes/sfx_event_theme_type_learning" + } + background = { + reference = throne_room + } +} \ No newline at end of file diff --git a/common/focuses/wc_lifestyle_focuses.txt b/common/focuses/wc_lifestyle_focuses.txt new file mode 100644 index 0000000000..8e77997273 --- /dev/null +++ b/common/focuses/wc_lifestyle_focuses.txt @@ -0,0 +1,615 @@ +light_magic_focus_1 = { + lifestyle = light_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + modifier = { } + + desc = { + desc = light_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + } + + #focus_id = 15 +} +light_magic_focus_2 = { + lifestyle = light_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + modifier = { } + + desc = { + desc = light_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + } + + #focus_id = 16 +} +light_magic_focus_3 = { + lifestyle = light_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + modifier = { } + + desc = { + desc = light_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + } + + #focus_id = 17 +} + +shadow_magic_focus_1 = { + lifestyle = shadow_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + modifier = { } + + desc = { + desc = shadow_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + } + + #focus_id = 18 +} +shadow_magic_focus_2 = { + lifestyle = shadow_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + modifier = { } + + desc = { + desc = shadow_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + } + + #focus_id = 19 +} +shadow_magic_focus_3 = { + lifestyle = shadow_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + modifier = { } + + desc = { + desc = shadow_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + } + + #focus_id = 20 +} + +disorder_magic_focus_1 = { + lifestyle = disorder_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + modifier = { } + + desc = { + desc = disorder_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + } + + #focus_id = 21 +} +disorder_magic_focus_2 = { + lifestyle = disorder_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + modifier = { } + + desc = { + desc = disorder_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + } + + #focus_id = 22 +} +disorder_magic_focus_3 = { + lifestyle = disorder_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + modifier = { } + + desc = { + desc = disorder_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + } + + #focus_id = 23 +} + +order_magic_focus_1 = { + lifestyle = order_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + modifier = { } + + desc = { + desc = order_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + } + + #focus_id = 24 +} +order_magic_focus_2 = { + lifestyle = order_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + modifier = { } + + desc = { + desc = order_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + } + + #focus_id = 25 +} +order_magic_focus_3 = { + lifestyle = order_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + modifier = { } + + desc = { + desc = order_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + } + + #focus_id = 26 +} + +life_magic_focus_1 = { + lifestyle = life_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + modifier = { } + + desc = { + desc = life_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + } + + #focus_id = 27 +} +life_magic_focus_2 = { + lifestyle = life_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + modifier = { } + + desc = { + desc = life_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + } + + #focus_id = 28 +} +life_magic_focus_3 = { + lifestyle = life_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + modifier = { } + + desc = { + desc = life_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + } + + #focus_id = 29 +} + +death_magic_focus_1 = { + lifestyle = death_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + modifier = { } + + desc = { + desc = death_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + } + + #focus_id = 30 +} +death_magic_focus_2 = { + lifestyle = death_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + modifier = { } + + desc = { + desc = death_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + } + + #focus_id = 31 +} +death_magic_focus_3 = { + lifestyle = death_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + modifier = { } + + desc = { + desc = death_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + } + + #focus_id = 32 +} + +elemental_fire_magic_focus_1 = { + lifestyle = elemental_fire_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_fire_spirit } + } + + modifier = { + diplomacy = 2 + } + + desc = { + desc = elemental_fire_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_fire_spirit_magic_auto_selection_value + } + + #focus_id = 33 +} +elemental_fire_magic_focus_2 = { + lifestyle = elemental_fire_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_fire } + } + + modifier = { + learning = 2 + } + + desc = { + desc = elemental_fire_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_fire_magic_auto_selection_value + } + + #focus_id = 34 +} +elemental_fire_magic_focus_3 = { + lifestyle = elemental_fire_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_fire_decay } + } + + modifier = { + prowess = 2 + } + + desc = { + desc = elemental_fire_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_fire_decay_magic_auto_selection_value + } + + #focus_id = 35 +} + +elemental_water_magic_focus_1 = { + lifestyle = elemental_water_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_water_spirit } + } + + modifier = { } + + desc = { + desc = elemental_water_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_water_spirit_magic_auto_selection_value + } + + #focus_id = 36 +} +elemental_water_magic_focus_2 = { + lifestyle = elemental_water_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_water } + } + + modifier = { } + + desc = { + desc = elemental_water_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_water_magic_auto_selection_value + } + + #focus_id = 37 +} +elemental_water_magic_focus_3 = { + lifestyle = elemental_water_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_water_decay } + } + + modifier = { } + + desc = { + desc = elemental_water_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_water_decay_magic_auto_selection_value + } + + #focus_id = 38 +} + +elemental_air_magic_focus_1 = { + lifestyle = elemental_air_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_air_spirit } + } + + modifier = { } + + desc = { + desc = elemental_air_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_air_spirit_magic_auto_selection_value + } + + #focus_id = 39 +} +elemental_air_magic_focus_2 = { + lifestyle = elemental_air_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + modifier = { } + + desc = { + desc = elemental_air_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_air_magic_auto_selection_value + } + + #focus_id = 40 +} +elemental_air_magic_focus_3 = { + lifestyle = elemental_air_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_air_decay } + } + + modifier = { } + + desc = { + desc = elemental_air_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_air_decay_magic_auto_selection_value + } + + #focus_id = 41 +} + +elemental_earth_magic_focus_1 = { + lifestyle = elemental_earth_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_earth_spirit } + } + + modifier = { } + + desc = { + desc = elemental_earth_magic_focus_1_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_earth_spirit_magic_auto_selection_value + } + + #focus_id = 42 +} +elemental_earth_magic_focus_2 = { + lifestyle = elemental_earth_magic_lifestyle + + is_valid = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_earth } + } + + modifier = { } + + desc = { + desc = elemental_earth_magic_focus_2_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_earth_magic_auto_selection_value + } + + #focus_id = 43 +} +elemental_earth_magic_focus_3 = { + lifestyle = elemental_earth_magic_lifestyle + + is_valid = { + magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { MAGIC = elemental_earth_decay } + } + + modifier = { } + + desc = { + desc = elemental_earth_magic_focus_3_desc + desc = line_break + } + + auto_selection_weight = { + value = wc_elemental_earth_decay_magic_auto_selection_value + } + + #focus_id = 44 +} diff --git a/common/game_concepts/00_game_concepts.txt b/common/game_concepts/00_game_concepts.txt index 807895f0d9..725d489495 100644 --- a/common/game_concepts/00_game_concepts.txt +++ b/common/game_concepts/00_game_concepts.txt @@ -1267,6 +1267,21 @@ massive_infantry = { parent = men_at_arms } +fire_elemental = { + texture = "gfx/interface/icons/regimenttypes/fire_elemental.dds" + parent = men_at_arms +} + +water_elemental = { + texture = "gfx/interface/icons/regimenttypes/fire_elemental.dds" + parent = men_at_arms +} + +fire_terrestrial = { + texture = "gfx/interface/icons/regimenttypes/fire_terr.dds" + parent = men_at_arms +} + special_troops = { texture = "gfx/interface/icons/icon_special_troops.dds" } diff --git a/common/game_concepts/wc_lifestyle_game_concepts.txt b/common/game_concepts/wc_lifestyle_game_concepts.txt index 7753207450..65fafe71a7 100644 --- a/common/game_concepts/wc_lifestyle_game_concepts.txt +++ b/common/game_concepts/wc_lifestyle_game_concepts.txt @@ -1,6 +1,112 @@ knowledge_overflow = { texture = "gfx/interface/icons/alerts/action_can_choose_lifestyle.dds" framesize = { 144 144 } - frame = 2 + frame = 1 parent = lifestyle_experience +} + +wc_magic_lifestyle = { + alias = { wc_magic_lifestyles wc_magic_lifestyles_no_lifestyles_line } + texture = "gfx/interface/icons/alerts/action_lifestyle_light_magic.dds" + framesize = { 144 144 } + frame = 1 +} + +wc_light_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_light_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} +wc_shadow_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_shadow_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} +wc_disorder_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_disorder_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} +wc_order_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_order_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} +wc_life_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_life_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} +wc_death_magic_lifestyle = { + texture = "gfx/interface/icons/alerts/action_lifestyle_death_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_magic_lifestyles +} + +wc_elemental_magic_lifestyle = { + alias = { wc_elemental_magic_lifestyle_no_lifestyles_line wc_elemental_magic_lifestyle_element wc_elemental_magic_lifestyle_elements } + parent = wc_magic_lifestyles +} + +wc_elemental_magic_spirit = { + parent = wc_elemental_magic_lifestyle +} +wc_elemental_magic_decay = { + parent = wc_elemental_magic_lifestyle +} + +wc_elemental_fire_magic_lifestyle = { + alias = { wc_elemental_fire_icon_gc } + texture = "gfx/interface/icons/alerts/action_lifestyle_elemental_fire_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_elemental_magic_lifestyle +} +wc_elemental_water_magic_lifestyle = { + alias = { wc_elemental_water_icon_gc } + texture = "gfx/interface/icons/alerts/action_lifestyle_elemental_water_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_elemental_magic_lifestyle +} +wc_elemental_air_magic_lifestyle = { + alias = { wc_elemental_air_icon_gc } + texture = "gfx/interface/icons/alerts/action_lifestyle_elemental_air_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_elemental_magic_lifestyle +} +wc_elemental_earth_magic_lifestyle = { + alias = { wc_elemental_earth_icon_gc } + texture = "gfx/interface/icons/alerts/action_lifestyle_elemental_earth_magic.dds" + framesize = { 144 144 } + frame = 1 + parent = wc_elemental_magic_lifestyle +} + +wc_elemental_spirit_decay_magic_disposition = { + alias = { + # Icons + wc_elemental_fire_neutral_icon_gc wc_elemental_water_neutral_icon_gc wc_elemental_air_neutral_icon_gc wc_elemental_earth_neutral_icon_gc + wc_elemental_fire_spirit_icon_gc wc_elemental_water_spirit_icon_gc wc_elemental_air_spirit_icon_gc wc_elemental_earth_spirit_icon_gc + wc_elemental_fire_decay_icon_gc wc_elemental_water_decay_icon_gc wc_elemental_air_decay_icon_gc wc_elemental_earth_decay_icon_gc + # Text + wc_elemental_magic_disposition_neutral wc_elemental_magic_disposition_spirit wc_elemental_magic_disposition_decay + wc_elemental_fire_spirit_decay_magic_disposition wc_elemental_water_spirit_decay_magic_disposition wc_elemental_air_spirit_decay_magic_disposition wc_elemental_earth_spirit_decay_magic_disposition + wc_elemental_fire_neutral_magic_disposition wc_elemental_fire_spirit_magic_disposition wc_elemental_fire_decay_magic_disposition + wc_elemental_water_neutral_magic_disposition wc_elemental_water_spirit_magic_disposition wc_elemental_water_decay_magic_disposition + wc_elemental_air_neutral_magic_disposition wc_elemental_air_spirit_magic_disposition wc_elemental_air_decay_magic_disposition + wc_elemental_earth_neutral_magic_disposition wc_elemental_earth_spirit_magic_disposition wc_elemental_earth_decay_magic_disposition + } + parent = wc_elemental_magic_lifestyle +} +wc_elemental_spirit_decay_magic_favour = { + alias = { wc_elemental_fire_spiritdecay_magic_favour wc_elemental_water_spiritdecay_magic_favour wc_elemental_air_spiritdecay_magic_favour wc_elemental_earth_spiritdecay_magic_favour } + parent = wc_elemental_spirit_decay_magic_disposition } \ No newline at end of file diff --git a/common/game_concepts/wc_magic_concepts.txt b/common/game_concepts/wc_magic_concepts.txt new file mode 100644 index 0000000000..a352c6d165 --- /dev/null +++ b/common/game_concepts/wc_magic_concepts.txt @@ -0,0 +1,26 @@ +wc_mana = { + parent = wc_magic_lifestyle + alias = { wc_full_mana_icon_gc } + texture = "gfx/interface/icons/currencies/icon_full_mana_crystal.dds" +} +wc_max_mana = { + parent = wc_mana + alias = { wc_empty_mana_icon_gc } + texture = "gfx/interface/icons/currencies/icon_empty_mana_crystal.dds" +} +wc_mana_restoration = { + parent = wc_mana + alias = { wc_mana_regeneration wc_half_mana_icon_gc wc_mana_regeneration_from_max } + texture = "gfx/interface/icons/currencies/icon_half_mana_crystal.dds" +} +wc_available_mana_to_stat = { + parent = wc_mana + alias = { wc_stat_mana_icon_gc } + texture = "gfx/interface/icons/currencies/icon_stat_mana_crystal.dds" +} + +wc_magic_resistance = { + parent = wc_magic_lifestyle +} + + diff --git a/common/game_concepts/wc_magic_spells_concepts.txt b/common/game_concepts/wc_magic_spells_concepts.txt new file mode 100644 index 0000000000..3266588e45 --- /dev/null +++ b/common/game_concepts/wc_magic_spells_concepts.txt @@ -0,0 +1,497 @@ +wc_spells = { + parent = wc_magic_lifestyle + alias = { wc_spell wc_spell_icon_gc } + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type = { + parent = wc_spells + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_enchantment = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_attack = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_defend = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_heal = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_dispel = { + parent = wc_spell_type_heal + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_channeled = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_magic_illness = { + parent = illness +} + +wc_major_illness = { + parent = illness +} + +wc_magic_injury = { + parent = wc_injury +} + +wc_major_injury = { + parent = wc_injury +} + +wc_injury = { +} + +wc_poison = { + parent = wc_magic_injury +} + +wc_psych_illness = { + parent = illness +} + +wc_illness = { + parent = illness + alias = { wc_illnesses } +} + +wc_spell_type_summon = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_type_ritual = { + parent = wc_spell_type + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_rank = { + parent = wc_spells + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_schools = { + parent = wc_spells + alias = { wc_spell_school } + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_light = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_shadow = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_disorder = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_order = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_life = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_death = { + parent = wc_spell_school_cosmic + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_elemental = { + parent = wc_spell_schools + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_elemental_fire = { + parent = wc_spell_school_elemental + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_elemental_water = { + parent = wc_spell_school_elemental + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_elemental_air = { + parent = wc_spell_school_elemental + texture = "gfx/interface/icons/icon_spellbook.dds" +} +wc_spell_school_elemental_earth = { + parent = wc_spell_school_elemental + texture = "gfx/interface/icons/icon_spellbook.dds" +} + +wc_spell_summon_fire_elemental = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_lava_lash = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_backdraft = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_flame_wall = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_flame_shock = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_burnout = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_planar_fire = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_cauterize_wound = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_vernal_solstice = { + parent = wc_spell_school_elemental_fire +} + +wc_spell_frostfire_bolt = { + parent = wc_spell_school_order +} + +wc_spell_flash_of_light = { + parent = wc_spell_school_light +} + +wc_spell_dispel = { + parent = wc_spell_school_light +} + +wc_spell_lightwell = { + parent = wc_spell_school_light +} + +wc_spell_holy_fire = { + parent = wc_spell_school_light +} + +wc_spell_salvation = { + parent = wc_spell_school_light +} + +wc_spell_judgement = { + parent = wc_spell_school_light +} + +wc_spell_exorcism = { + parent = wc_spell_school_light +} + +wc_spell_expulsion = { + parent = wc_spell_school_light +} + +wc_spell_avenging_wrath = { + parent = wc_spell_school_light +} + +wc_spell_bless = { + parent = wc_spell_school_light +} + +wc_spell_divine_shield = { + parent = wc_spell_school_light +} + +wc_spell_consecration = { + parent = wc_spell_school_light +} + +wc_spell_rebuke = { + parent = wc_spell_school_light +} + +wc_spell_blessed_bastion = { + parent = wc_spell_school_light +} + +wc_spell_divine_storm = { + parent = wc_spell_school_light +} + +wc_cosmos = { + parent = wc_mod +} + +wc_elements = { + parent = wc_mod +} + +wc_spell_school_cosmic = { + parent = wc_spell_schools +} + +wc_spell_scorch = { + parent = wc_spell_school_order +} + +wc_spell_pyroblast = { + parent = wc_spell_school_order +} + +wc_spell_flamestrike = { + parent = wc_spell_school_order +} + +wc_spell_fire_shield = { + parent = wc_spell_school_order +} + +wc_spell_frostfire_bolt = { + parent = wc_spell_school_order +} + +wc_spell_frostbolt = { + parent = wc_spell_school_order +} + +wc_spell_frost_nova = { + parent = wc_spell_school_order +} + +wc_spell_frost_armor = { + parent = wc_spell_school_order +} + +wc_spell_blizzard = { + parent = wc_spell_school_order +} + +wc_spell_polymorph = { + parent = wc_spell_school_order +} + +wc_spell_counterspell = { + parent = wc_spell_school_order +} + +wc_spell_spellsteal = { + parent = wc_spell_school_order +} + +wc_spell_scry = { + parent = wc_spell_school_order +} + +wc_spell_haste = { + parent = wc_spell_school_order +} + +wc_spell_conjure_refreshment = { + parent = wc_spell_school_order +} + +wc_spell_chronomancy = { + parent = wc_spell_school_order +} + +wc_spell_evocation = { + parent = wc_spell_school_order +} + +wc_spell_arcane_dome = { + parent = wc_spell_school_order +} + +wc_spell_raise_dead = { + parent = wc_spell_school_death +} + +wc_spell_death_coil = { + parent = wc_spell_school_death +} + +wc_spell_death_grip = { + parent = wc_spell_school_death +} + +wc_spell_give_disease = { + parent = wc_spell_school_death +} + +wc_spell_death_and_decay = { + parent = wc_spell_school_death +} + +wc_spell_cripple = { + parent = wc_spell_school_death +} + +wc_spell_improved_body = { + parent = wc_spell_school_death +} + +wc_spell_coagulation = { + parent = wc_spell_school_death +} + +wc_spell_blood_boil = { + parent = wc_spell_school_death +} + +wc_spell_strangulate = { + parent = wc_spell_school_death +} + +wc_spell_army_of_the_dead = { + parent = wc_spell_school_death +} + +wc_spell_supreme_raise_dead = { + parent = wc_spell_school_death +} + +wc_spell_epidemic = { + parent = wc_spell_school_death +} + +wc_spell_crimson_binding = { + parent = wc_spell_school_death +} + +wc_spell_summon_water_elemental = { + parent = wc_spell_school_elemental_water +} + +wc_spell_soothing_waters = { + parent = wc_spell_school_elemental_water +} + +wc_spell_river_spirits_rage = { + parent = wc_spell_school_elemental_water +} + +wc_spell_invoke_tsunami = { + parent = wc_spell_school_elemental_water +} + +wc_spell_frost_shock = { + parent = wc_spell_school_elemental_water +} + +wc_spell_icefury = { + parent = wc_spell_school_elemental_water +} + +wc_spell_ice_structure = { + parent = wc_spell_school_elemental_water +} + +wc_spell_eternal_winter = { + parent = wc_spell_school_elemental_water +} + +wc_injury_burned = { + parent = wc_magic_injury + + alias = { wc_injury_burn } +} + +wc_injury_frostbite = { + parent = wc_magic_injury + + alias = { wc_injury_frostbitten } +} + +wc_spell_create_portal = { + parent = wc_spell_school_order +} + +wc_spell_void_touch = { + parent = wc_spell_school_shadow +} + +wc_spell_summon_void_leader = { + parent = wc_spell_school_shadow +} + +wc_spell_voidborne = { + parent = wc_spell_school_shadow +} + +wc_spell_rend_flesh = { + parent = wc_spell_school_shadow +} + +wc_spell_mutate = { + parent = wc_spell_school_shadow +} + +wc_spell_drain_essence = { + parent = wc_spell_school_shadow +} + +wc_spell_insanity = { + parent = wc_spell_school_shadow +} + +wc_spell_mania = { + parent = wc_spell_school_shadow +} + +wc_spell_mind_blast = { + parent = wc_spell_school_shadow +} + +wc_spell_silence = { + parent = wc_spell_school_shadow +} + +wc_spell_shadow_crash = { + parent = wc_spell_school_shadow +} + +wc_spell_twisted_chains = { + parent = wc_spell_school_shadow +} + +wc_spell_ascension = { + parent = wc_spell_school_shadow +} + +wc_ascension_action = { + parent = wc_spell_ascension +} + +wc_spell_whispers = { + parent = wc_spell_school_shadow +} + +wc_spell_power_word_barrier = { + parent = wc_spell_school_light +} + +wc_spell_dispersion = { + parent = wc_spell_school_shadow +} + +wc_spell_realm_of_necrosis = { + parent = wc_spell_school_death +} \ No newline at end of file diff --git a/common/game_rules/000_wc_game_rules.txt b/common/game_rules/000_wc_game_rules.txt index b06ae22392..de86724fb8 100644 --- a/common/game_rules/000_wc_game_rules.txt +++ b/common/game_rules/000_wc_game_rules.txt @@ -48,17 +48,16 @@ wc_knowledge_overflow = { default = wc_knowledge_overflow_enabled - wc_knowledge_overflow_enabled = { - - } - - wc_knowledge_overflow_no_players = { - - } - - wc_knowledge_overflow_disabled = { - - } + wc_knowledge_overflow_enabled = { } + wc_knowledge_overflow_no_players = { } + wc_knowledge_overflow_disabled = { } +} + +wc_mod_and_vanilla_perk_combination = { + default = wc_mod_and_vanilla_perk_combination_disabled + + wc_mod_and_vanilla_perk_combination_enabled = { } + wc_mod_and_vanilla_perk_combination_disabled = { } } dlc_fp1_scandinavian_adventurers = { @@ -256,6 +255,23 @@ wc_admin_pandaria_gameplay = { wc_admin_pandaria_gameplay_always = {} } +# wc_dangerous_magic = { +# categories = { +# warcraft_category +# } + +# default = wc_dangerous_magic_off + +# wc_dangerous_magic_on = { + +# } + +# wc_dangerous_magic_off = { + +# } + +# } + name_of_stormwind = { categories = { diff --git a/common/genes/08_genes_special_visual_traits.txt b/common/genes/08_genes_special_visual_traits.txt index bbb9bc671c..20e5c02a57 100644 --- a/common/genes/08_genes_special_visual_traits.txt +++ b/common/genes/08_genes_special_visual_traits.txt @@ -1126,6 +1126,183 @@ special_genes = { } + #Warcraft + gene_burned = { + + burned_1 = { + index = 0 + male = { + setting = { attribute = "bs_wounded_2" value = { min = 0.5 max = 0.5 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = hard_light + normal = overlay + properties = overlay + } + # age = { + # mode = multiply + # curve = { + # { 0.0 0.0 } + # { 0.38 0.0 } + # { 0.7 0.8 } + # } + # } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + burned_2 = { + index = 1 + male = { + setting = { attribute = "bs_wounded_2" value = { min = 1.0 max = 1.0 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = hard_light + normal = overlay + properties = overlay + } + # age = { + # mode = multiply + # curve = { + # { 0.0 0.0 } + # { 0.38 0.0 } + # { 0.7 0.8 } + # } + # } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + burned_3 = { + index = 2 + male = { + setting = { attribute = "bs_wounded_3" value = { min = 1.0 max = 1.0 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = hard_light + normal = overlay + properties = overlay + } + # age = { + # mode = multiply + # curve = { + # { 0.0 0.0 } + # { 0.38 0.0 } + # { 0.7 0.8 } + # } + # } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + } + + gene_frostbite = { + + frostbite_1 = { + index = 0 + male = { + setting = { attribute = "bs_wounded_2" value = { min = 0.5 max = 0.5 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = multiply + normal = overlay + properties = overlay + } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + frostbite_2 = { + index = 1 + male = { + setting = { attribute = "bs_wounded_2" value = { min = 1.0 max = 1.0 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = multiply + normal = overlay + properties = overlay + } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + frostbite_3 = { + index = 2 + male = { + setting = { attribute = "bs_wounded_3" value = { min = 1.0 max = 1.0 } } + decal = { + body_part = head + textures = { + diffuse = "gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_diffuse.dds" + normal = "gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_normal.dds" + properties = "gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_properties.dds" + } + blend_modes = { #overlay/replace/hard_light/multiply + diffuse = multiply + normal = overlay + properties = overlay + } + priority = 10 + } + } + female = male + boy = male + girl = male + } + + } + gene_maimed_left_arm = { maimed_left_arm = { diff --git a/common/genes/wc_genes_magic.txt b/common/genes/wc_genes_magic.txt new file mode 100644 index 0000000000..96d28256a4 --- /dev/null +++ b/common/genes/wc_genes_magic.txt @@ -0,0 +1,44 @@ +accessory_genes = { + iceblock = { + no_iceblock = { + index = 0 + male = { + 1 = empty + } + female = male + boy = male + girl = male + } + + has_iceblock = { + index = 1 + male = { + 1 = iceblock + } + female = male + boy = male + girl = male + } + } + polymorph = { + no_polymorph = { + index = 0 + male = { + 1 = empty + } + female = male + boy = male + girl = male + } + + has_polymorph = { + index = 1 + male = { + 1 = polymorph + } + female = male + boy = male + girl = male + } + } +} \ No newline at end of file diff --git a/common/hook_types/wc_hook_types.txt b/common/hook_types/wc_hook_types.txt index 23c0d5ae69..5bfa97812a 100644 --- a/common/hook_types/wc_hook_types.txt +++ b/common/hook_types/wc_hook_types.txt @@ -7,4 +7,8 @@ possess_hook = { mindcontrol_hook = { expiration_days = 365 strong = yes +} +voidborne_hook = { + expiration_days = 3650 + strong = yes } \ No newline at end of file diff --git a/common/important_actions/00_lifestyle.txt b/common/important_actions/00_lifestyle.txt new file mode 100644 index 0000000000..7029747980 --- /dev/null +++ b/common/important_actions/00_lifestyle.txt @@ -0,0 +1,219 @@ +### CHOOSE LIFESTYLE +action_can_choose_lifestyle = { + type = alert + check_create_action = { + + if = { + limit = { + is_adult = yes + has_any_focus = no + can_select_lifestyle_focus = yes + } + try_create_important_action = { + important_action_type = action_can_choose_lifestyle + actor = root + } + } + + } + + effect = { + scope:actor = { + if = { + limit = { is_adult = yes } + open_view_data = { + view = lifestyle + } + } + else = { + open_view_data = { + view = character_focus + } + } + } + } +} + +action_can_spend_perk_point = { + type = alert + check_create_action = { + + if = { + limit = { # Future-proofing + has_any_focus = yes + NOR = { + has_focus_intrigue = yes + has_focus_diplomacy = yes + has_focus_learning = yes + has_focus_martial = yes + has_focus_stewardship = yes + + # Warcraft + has_focus_light_magic_trigger = yes + has_focus_shadow_magic_trigger = yes + has_focus_disorder_magic_trigger = yes + has_focus_order_magic_trigger = yes + has_focus_life_magic_trigger = yes + has_focus_death_magic_trigger = yes + has_focus_elemental_fire_magic_trigger = yes + has_focus_elemental_water_magic_trigger = yes + has_focus_elemental_air_magic_trigger = yes + has_focus_elemental_earth_magic_trigger = yes + + } + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_can_spend_perk_point + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} + +# Warcraft - change wc_lifestyle_actions if these were changed + +action_lifestyle_diplo = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_diplomacy = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_diplo + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} + +action_lifestyle_intrigue = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_intrigue = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_intrigue + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} + +action_lifestyle_learning = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_learning = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_learning + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} + +action_lifestyle_martial = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_martial = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_martial + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} + +action_lifestyle_stewarship = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_stewardship = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_stewarship + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} diff --git a/common/important_actions/wc_lifestyle_actions.txt b/common/important_actions/wc_lifestyle_actions.txt new file mode 100644 index 0000000000..9976d6b048 --- /dev/null +++ b/common/important_actions/wc_lifestyle_actions.txt @@ -0,0 +1,260 @@ +action_lifestyle_light_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_light_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_light_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_shadow_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_shadow_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_shadow_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_disorder_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_disorder_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_disorder_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_order_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_order_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_order_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_life_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_life_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_life_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_death_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_death_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_death_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_elemental_fire_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_elemental_fire_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_elemental_fire_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_elemental_water_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_elemental_water_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_elemental_water_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_elemental_air_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_elemental_air_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_elemental_air_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} +action_lifestyle_elemental_earth_magic = { + type = alert + check_create_action = { + + if = { + limit = { + has_focus_elemental_earth_magic_trigger = yes + perk_points > 0 + is_adult = yes + } + try_create_important_action = { + important_action_type = action_lifestyle_elemental_earth_magic + actor = root + } + } + + } + + effect = { + scope:actor = { + open_view_data = { + view = lifestyle + } + } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/00_diplomacy_1_foreign_affairs_tree_perks.txt b/common/lifestyle_perks/00_diplomacy_1_foreign_affairs_tree_perks.txt index 0222c82d56..6e8302f037 100644 --- a/common/lifestyle_perks/00_diplomacy_1_foreign_affairs_tree_perks.txt +++ b/common/lifestyle_perks/00_diplomacy_1_foreign_affairs_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = diplomacy TREE = 1 } } + } multiply = 0 } @@ -28,7 +31,8 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = thoughtful_perk_effect } @@ -65,7 +69,7 @@ ducal_conquest_perk = { } effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -116,7 +120,7 @@ forced_vassalage_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -144,7 +148,7 @@ adaptive_traditions_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -190,7 +194,8 @@ flexible_truces_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = flexible_truces_perk_effect } @@ -228,7 +233,7 @@ defensive_negotiations_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -256,7 +261,8 @@ embassies_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = embassies_perk_effect } @@ -311,7 +317,7 @@ accomplished_forger_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -346,7 +352,8 @@ diplomat_perk = { trait = diplomat effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = diplomat } } diff --git a/common/lifestyle_perks/00_diplomacy_2_majesty_tree_perks.txt b/common/lifestyle_perks/00_diplomacy_2_majesty_tree_perks.txt index 4eda261f78..b22b1c1015 100644 --- a/common/lifestyle_perks/00_diplomacy_2_majesty_tree_perks.txt +++ b/common/lifestyle_perks/00_diplomacy_2_majesty_tree_perks.txt @@ -21,8 +21,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = firm_hand_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = diplomacy TREE = 2 } } + } multiply = 0 } @@ -36,7 +38,7 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -73,7 +75,7 @@ inspiring_rule_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -125,8 +127,10 @@ firm_hand_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = benevolent_intent_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = diplomacy TREE = 2 } } + } multiply = 0 } @@ -140,7 +144,7 @@ firm_hand_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -179,7 +183,7 @@ praetorian_guard_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = praetorian_guard_perk_effect } @@ -231,7 +235,7 @@ true_ruler_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -280,7 +284,7 @@ writing_history_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -313,6 +317,11 @@ a_life_of_glory_perk = { character_modifier = { prestige_level_impact_mult = 1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -344,7 +353,7 @@ dignitas_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { has_ep3_dlc_trigger = yes @@ -371,7 +380,8 @@ august_perk = { trait = august effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = august } } diff --git a/common/lifestyle_perks/00_diplomacy_3_family_tree_perks.txt b/common/lifestyle_perks/00_diplomacy_3_family_tree_perks.txt index d3fed5bea2..a5e2300e14 100644 --- a/common/lifestyle_perks/00_diplomacy_3_family_tree_perks.txt +++ b/common/lifestyle_perks/00_diplomacy_3_family_tree_perks.txt @@ -20,8 +20,14 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = familial_familiar_perk } + # Warcraft + OR = { + AND = { + can_start_new_lifestyle_tree_trigger = no + NOT = { has_perk = familial_familiar_perk } + } + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = diplomacy TREE = 3 } } + } } multiply = 0 } @@ -34,7 +40,7 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } # Cultures with Ritualised Friendship get a different effect, so we filter them out. if = { limit = { @@ -61,7 +67,7 @@ confidants_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = confidants_perk_effect } @@ -86,6 +92,10 @@ flatterer_perk = { flag = government_is_landless_adventurer befriend_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value } + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } friendly_counsel_perk = { @@ -98,7 +108,7 @@ friendly_counsel_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = friendly_counsel_perk_effect } @@ -150,7 +160,7 @@ familial_familiar_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { has_ep3_dlc_trigger = yes @@ -178,8 +188,15 @@ familial_familiar_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = befriend_perk } + OR = { + AND = { + can_start_new_lifestyle_tree_trigger = no + NOT = { has_perk = befriend_perk } + } + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = diplomacy TREE = 3 } } + } + } multiply = 0 } @@ -196,7 +213,7 @@ groomed_to_rule_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = groomed_to_rule_perk_effect } @@ -241,11 +258,11 @@ thicker_than_water_perk = { parent = groomed_to_rule_perk effect = { - # Warcraft - trigger_event = { on_action = on_perk_gained } custom_description_no_bullet = { text = thicker_than_water_perk_effect } + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -259,7 +276,8 @@ sound_foundations_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = sound_foundations_perk_effect } @@ -299,7 +317,8 @@ family_man_perk = { trait = family_first effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = family_first } } diff --git a/common/lifestyle_perks/00_intrigue_1_skulduggery_tree_perks.txt b/common/lifestyle_perks/00_intrigue_1_skulduggery_tree_perks.txt index a5bd9104aa..cc909e6d23 100644 --- a/common/lifestyle_perks/00_intrigue_1_skulduggery_tree_perks.txt +++ b/common/lifestyle_perks/00_intrigue_1_skulduggery_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = intrigue TREE = 1 } } + } multiply = 0 } @@ -38,7 +41,8 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = truth_is_relative_scheme_effect } @@ -67,7 +71,7 @@ digging_for_dirt_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -101,7 +105,8 @@ kidnapper_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = kidnapper_perk_effect } @@ -137,7 +142,7 @@ court_of_shadows_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -177,7 +182,8 @@ prepared_for_anything_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = prepared_for_anything_perk_bonus_effect } @@ -204,6 +210,11 @@ swift_execution_perk = { character_modifier = { murder_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } a_job_done_right_perk = { @@ -219,9 +230,13 @@ a_job_done_right_perk = { } character_modifier = { - owned_hostile_scheme_success_chance_add = 25 owned_hostile_scheme_success_chance_max_add = 5 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } twice_schemed_perk = { @@ -242,6 +257,11 @@ twice_schemed_perk = { max_hostile_schemes_add = 1 } + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } + government_character_modifier = { flag = government_is_administrative max_political_schemes_add = 1 @@ -263,7 +283,8 @@ schemer_perk = { trait = schemer effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = schemer } } diff --git a/common/lifestyle_perks/00_intrigue_2_temptation_tree_perks.txt b/common/lifestyle_perks/00_intrigue_2_temptation_tree_perks.txt index e2a88bb8bd..a5cc8431be 100644 --- a/common/lifestyle_perks/00_intrigue_2_temptation_tree_perks.txt +++ b/common/lifestyle_perks/00_intrigue_2_temptation_tree_perks.txt @@ -20,8 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = enticing_opportunity_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = intrigue TREE = 2 } } + } multiply = 0 } @@ -34,6 +36,11 @@ character_modifier = { fertility = 0.3 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } unshackled_lust_perk = { @@ -50,7 +57,8 @@ unshackled_lust_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = unshackled_lust_perk_effect } @@ -71,7 +79,8 @@ subtle_desire_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = subtle_desire_perk_effect } @@ -92,7 +101,8 @@ mortal_adoration_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = mortal_adoration_perk_effect } @@ -137,8 +147,10 @@ enticing_opportunity_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = like_weed_in_a_garden_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = intrigue TREE = 2 } } + } multiply = 0 } @@ -151,10 +163,16 @@ enticing_opportunity_perk = { character_modifier = { seduce_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value } + government_character_modifier = { flag = government_is_landless_adventurer seduce_scheme_phase_duration_add = monumental_scheme_phase_duration_bonus_value } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } home_advantage_perk = { @@ -171,7 +189,8 @@ home_advantage_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = home_advantage_perk_effect } @@ -192,7 +211,8 @@ graceful_recovery_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = graceful_recovery_perk_effect } @@ -213,7 +233,8 @@ smooth_operator_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = smooth_operator_perk_effect } @@ -247,7 +268,8 @@ seducer_perk = { trait = seducer effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = seducer } } diff --git a/common/lifestyle_perks/00_intrigue_3_intimidation_tree_perks.txt b/common/lifestyle_perks/00_intrigue_3_intimidation_tree_perks.txt index fe5483cd05..e365589b13 100644 --- a/common/lifestyle_perks/00_intrigue_3_intimidation_tree_perks.txt +++ b/common/lifestyle_perks/00_intrigue_3_intimidation_tree_perks.txt @@ -20,8 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = dreadful_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = intrigue TREE = 3 } } + } multiply = 0 } @@ -33,7 +35,8 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + hidden_effect = { # Set tracking variable set_variable = { name = dark_insights_prowess_increases @@ -64,7 +67,8 @@ divine_retribution_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = divine_retribution_perk_effect } @@ -93,8 +97,10 @@ dreadful_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = dark_insights_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = intrigue TREE = 3 } } + } multiply = 0 } @@ -107,6 +113,11 @@ dreadful_perk = { character_modifier = { dread_gain_mult = 0.3 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } thriving_in_chaos_perk = { @@ -126,6 +137,11 @@ thriving_in_chaos_perk = { intrigue_per_stress_level = 4 prowess_per_stress_level = 6 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } malice_implicit_perk = { @@ -159,15 +175,7 @@ malice_implicit_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } - if = { - limit = { - government_has_flag = government_is_landless_adventurer - } - custom_tooltip = { - text = adventurer_malice_implicit_perk_effect - } - } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -203,15 +211,7 @@ fear_tax_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } - if = { - limit = { - government_has_flag = government_is_landless_adventurer - } - custom_tooltip = { - text = adventurer_fear_tax_perk_effect - } - } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -233,14 +233,9 @@ forever_infamous_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } - if = { - limit = { - NOT = { government_has_flag = government_is_landless_adventurer } - } - custom_description_no_bullet = { - text = murder_feast_perk_effect - } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { + text = murder_feast_perk_effect } } } @@ -259,7 +254,8 @@ prison_feudal_complex_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = prison_feudal_complex_perk_effect } @@ -282,7 +278,8 @@ torturer_perk = { trait = torturer effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = torturer } } diff --git a/common/lifestyle_perks/00_learning_1_medicine_tree_perks.txt b/common/lifestyle_perks/00_learning_1_medicine_tree_perks.txt index c41b5f9d5c..fca6c9d88f 100644 --- a/common/lifestyle_perks/00_learning_1_medicine_tree_perks.txt +++ b/common/lifestyle_perks/00_learning_1_medicine_tree_perks.txt @@ -25,7 +25,10 @@ anatomical_studies_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = learning TREE = 1 } } + } multiply = 0 } @@ -33,7 +36,8 @@ anatomical_studies_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = anatomical_studies_perk_effect } @@ -56,8 +60,7 @@ carefree_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } - custom_description_no_bullet = { text = carefree_perk_effect } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -73,7 +76,8 @@ mental_resilience_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + hidden_effect = { if = { limit = { @@ -121,7 +125,8 @@ restraint_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = restraint_perk_effect } @@ -140,7 +145,8 @@ know_thyself_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = know_thyself_perk_effect } @@ -165,7 +171,8 @@ wash_your_hands_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = wash_your_hands_perk_effect } @@ -186,6 +193,11 @@ iron_constitution_perk = { negate_health_penalty_add = 2 negate_fertility_penalty_add = 0.3 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -207,6 +219,12 @@ healthy_perk = { character_modifier = { health = 0.5 + epidemic_resistance = 5 + } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -223,7 +241,8 @@ whole_of_body_perk = { trait = whole_of_body effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = whole_of_body } } diff --git a/common/lifestyle_perks/00_learning_2_scholarship_tree_perks.txt b/common/lifestyle_perks/00_learning_2_scholarship_tree_perks.txt index 52e72f699b..137eb56593 100644 --- a/common/lifestyle_perks/00_learning_2_scholarship_tree_perks.txt +++ b/common/lifestyle_perks/00_learning_2_scholarship_tree_perks.txt @@ -25,8 +25,10 @@ pedagogy_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = scientific_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = learning TREE = 2 } } + } multiply = 0 } @@ -34,7 +36,8 @@ pedagogy_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = pedagogy_perk_effect } @@ -69,7 +72,7 @@ open_minded_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = open_minded_perk_effect } @@ -103,7 +106,7 @@ apostate_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -149,8 +152,10 @@ scientific_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = pedagogy_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = learning TREE = 2 } } + } multiply = 0 } @@ -169,7 +174,7 @@ scientific_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -209,7 +214,7 @@ planned_cultivation_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -252,6 +257,11 @@ scholarly_circles_perk = { character_modifier = { learning_per_piety_level = 1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } government_character_modifier = { flag = government_is_landless_adventurer enemy_terrain_advantage = -0.5 @@ -288,7 +298,7 @@ learn_on_the_job_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -335,7 +345,7 @@ sanctioned_loopholes_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -368,7 +378,8 @@ scholar_perk = { trait = scholar effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = scholar } } diff --git a/common/lifestyle_perks/00_learning_3_theology_tree_perks.txt b/common/lifestyle_perks/00_learning_3_theology_tree_perks.txt index baf3c9f928..b1041e5dc1 100644 --- a/common/lifestyle_perks/00_learning_3_theology_tree_perks.txt +++ b/common/lifestyle_perks/00_learning_3_theology_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = learning TREE = 3 } } + } multiply = 0 } @@ -36,7 +39,7 @@ } effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -68,7 +71,7 @@ zealous_proselytizer_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -108,7 +111,7 @@ religious_icon_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -153,7 +156,7 @@ prophet_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_allows = state_faith @@ -197,7 +200,7 @@ clerical_justifications_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -246,7 +249,7 @@ church_and_state_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -272,6 +275,11 @@ radiant_perk = { character_modifier = { piety_level_impact_mult = 1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } government_character_modifier = { flag = government_is_landless_adventurer martial_per_piety_level = 1 @@ -310,7 +318,7 @@ defender_of_the_faith_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -336,7 +344,8 @@ theologian_perk = { trait = theologian effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = theologian } } diff --git a/common/lifestyle_perks/00_martial_1_strategy_tree_perks.txt b/common/lifestyle_perks/00_martial_1_strategy_tree_perks.txt index c03b0acb8e..f959d5a9fd 100644 --- a/common/lifestyle_perks/00_martial_1_strategy_tree_perks.txt +++ b/common/lifestyle_perks/00_martial_1_strategy_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = martial TREE = 1 } } + } multiply = 0 } @@ -34,7 +37,8 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = bellum_justum_effect } @@ -62,6 +66,10 @@ parthian_tactics_perk = { archer_cavalry_toughness_mult = 0.2 trait_track_horse_xp_gain_mult = 0.1 } + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -77,6 +85,11 @@ envelopment_perk = { counter_efficiency = 0.25 trait_track_wit_xp_gain_mult = 0.1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -96,6 +109,11 @@ organized_retreat_perk = { archers_screen_add = 5 skirmishers_screen_add = 5 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -116,6 +134,15 @@ hit_and_run_perk = { skirmishers_damage_mult = 0.2 skirmishers_toughness_mult = 0.1 trait_track_bow_xp_gain_mult = 0.1 + + # Warcraft + massive_infantry_toughness_mult = 0.15 + massive_infantry_damage_mult = 0.15 + } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } } } @@ -132,6 +159,11 @@ engineered_for_destruction_perk = { siege_weapon_siege_value_mult = 0.4 naval_movement_speed_mult = 0.25 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -158,6 +190,11 @@ living_off_the_land_perk = { supply_capacity_mult = 2 character_travel_safety_mult = 0.25 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -177,6 +214,11 @@ sappers_perk = { archers_siege_value_add = 0.1 skirmishers_siege_value_add = 0.1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -191,7 +233,8 @@ strategist_perk = { trait = strategist effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = strategist } } diff --git a/common/lifestyle_perks/00_martial_2_authority_tree_perks.txt b/common/lifestyle_perks/00_martial_2_authority_tree_perks.txt index faedb459bd..9d6e550105 100644 --- a/common/lifestyle_perks/00_martial_2_authority_tree_perks.txt +++ b/common/lifestyle_perks/00_martial_2_authority_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = martial TREE = 2 } } + } multiply = 0 } @@ -29,6 +32,7 @@ character_modifier = { dread_baseline_add = 15 } + government_character_modifier = { flag = government_is_landless_adventurer invert_check = yes @@ -38,6 +42,12 @@ flag = government_is_landless_adventurer men_at_arms_recruitment_cost = -0.1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } + } a_mans_home_perk = { @@ -55,7 +65,7 @@ a_mans_home_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -85,7 +95,6 @@ a_mans_home_perk = { invert_check = yes controlled_province_advantage = 5 } - government_character_modifier = { flag = government_is_administrative domicile_monthly_gold_mult = 0.1 @@ -116,7 +125,7 @@ enduring_hardships_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -149,7 +158,7 @@ prepared_conscription_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -181,7 +190,7 @@ strict_organization_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -233,7 +242,7 @@ hard_rule_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -272,7 +281,7 @@ soldiers_of_lesser_fortune_perk = { } effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -295,7 +304,7 @@ absolute_control_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -337,7 +346,8 @@ overseer_perk = { trait = overseer effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = overseer } } diff --git a/common/lifestyle_perks/00_martial_3_chivalry_tree_perks.txt b/common/lifestyle_perks/00_martial_3_chivalry_tree_perks.txt index d4195846fe..7d82346d74 100644 --- a/common/lifestyle_perks/00_martial_3_chivalry_tree_perks.txt +++ b/common/lifestyle_perks/00_martial_3_chivalry_tree_perks.txt @@ -20,7 +20,10 @@ } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = martial TREE = 3 } } + } multiply = 0 } @@ -38,7 +41,7 @@ effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = stalwart_leader_perk_effect } @@ -77,7 +80,7 @@ courtship_perk = { } effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = courtship_perk_effect } @@ -94,7 +97,7 @@ promising_prospects_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = promising_prospects_perk_effect } @@ -111,7 +114,7 @@ loyalty_and_respect_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -150,15 +153,15 @@ chivalric_dominance_perk = { invert_check = yes accolade_glory_gain_mult = 0.1 } - - government_character_modifier = { - flag = government_is_landless_adventurer - trait_track_horse_xp_gain_mult = 0.25 - } government_character_modifier = { flag = government_is_administrative same_heritage_county_advantage_add = 5 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } never_back_down_perk = { @@ -174,6 +177,11 @@ never_back_down_perk = { hard_casualty_modifier = -0.2 tourney_participant_xp_gain_mult = 0.1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } kingsguard_perk = { @@ -189,15 +197,15 @@ kingsguard_perk = { trait_track_bow_xp_gain_mult = 0.25 } - government_character_modifier = { - flag = government_is_administrative - invert_check = yes - knight_limit = 4 - } government_character_modifier = { flag = government_is_administrative knight_limit = 2 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } peacemaker_perk = { @@ -211,7 +219,8 @@ peacemaker_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = peacemaker_perk_effect } @@ -229,7 +238,8 @@ gallant_perk = { trait = gallant effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = gallant } } diff --git a/common/lifestyle_perks/00_stewardship_1_wealth_tree_perks.txt b/common/lifestyle_perks/00_stewardship_1_wealth_tree_perks.txt index 37263da4c7..07effe4deb 100644 --- a/common/lifestyle_perks/00_stewardship_1_wealth_tree_perks.txt +++ b/common/lifestyle_perks/00_stewardship_1_wealth_tree_perks.txt @@ -25,7 +25,10 @@ golden_obligations_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = stewardship TREE = 1 } } + } multiply = 0 } @@ -44,7 +47,8 @@ golden_obligations_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + custom_description_no_bullet = { text = golden_obligations_perk_effect } @@ -76,11 +80,15 @@ heregeld_perk = { invert_check = yes vassal_tax_contribution_mult = 0.1 } - government_character_modifier = { flag = government_is_landless_adventurer provisions_capacity_mult = 0.5 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -109,7 +117,7 @@ detailed_ledgers_perk = { republic_government_opinion = 20 republic_government_tax_contribution_mult = 0.15 } - + government_character_modifier = { flag = government_is_landless_adventurer provisions_loss_mult = -0.2 @@ -119,6 +127,11 @@ detailed_ledgers_perk = { flag = government_is_administrative administrative_government_tax_contribution_mult = 0.1 } + + effect = { + # Warcraft + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + } } @@ -149,7 +162,7 @@ war_profiteer_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -189,7 +202,7 @@ fearful_troops_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -228,7 +241,7 @@ it_is_my_domain_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -276,7 +289,7 @@ golden_aplomb_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -316,7 +329,7 @@ at_any_cost_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -355,7 +368,8 @@ avaricious_perk = { trait = avaricious effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = avaricious } } diff --git a/common/lifestyle_perks/00_stewardship_2_domain_tree_perks.txt b/common/lifestyle_perks/00_stewardship_2_domain_tree_perks.txt index b249086d82..ec8674d145 100644 --- a/common/lifestyle_perks/00_stewardship_2_domain_tree_perks.txt +++ b/common/lifestyle_perks/00_stewardship_2_domain_tree_perks.txt @@ -25,8 +25,10 @@ tax_man_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = cutting_corners_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = stewardship TREE = 2 } } + } multiply = 0 } @@ -58,7 +60,7 @@ tax_man_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -105,7 +107,7 @@ defensive_measures_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -143,7 +145,7 @@ organized_muster_rolls_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -189,8 +191,10 @@ cutting_corners_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no - NOT = { has_perk = tax_man_perk } + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = stewardship TREE = 2 } } + } multiply = 0 } @@ -210,7 +214,7 @@ cutting_corners_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -251,7 +255,7 @@ professional_workforce_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -291,7 +295,7 @@ centralization_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -332,7 +336,7 @@ popular_figurehead_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -380,7 +384,7 @@ divided_attention_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -405,7 +409,8 @@ architect_perk = { trait = architect effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = architect } } diff --git a/common/lifestyle_perks/00_stewardship_3_duty_tree_perks.txt b/common/lifestyle_perks/00_stewardship_3_duty_tree_perks.txt index c710c84d1c..106ca505bd 100644 --- a/common/lifestyle_perks/00_stewardship_3_duty_tree_perks.txt +++ b/common/lifestyle_perks/00_stewardship_3_duty_tree_perks.txt @@ -25,7 +25,10 @@ meritocracy_perk = { } if = { limit = { - can_start_new_lifestyle_tree_trigger = no + + # Warcraft + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = stewardship TREE = 3 } } + } multiply = 0 } @@ -37,7 +40,7 @@ meritocracy_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -75,7 +78,7 @@ chains_of_loyalty_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -123,7 +126,7 @@ likable_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -178,7 +181,7 @@ positions_of_power_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { has_ep3_dlc_trigger = yes @@ -252,7 +255,7 @@ large_levies_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -292,7 +295,7 @@ soon_forgiven_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -326,7 +329,7 @@ toe_the_line_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -373,7 +376,7 @@ honored_to_serve_perk = { } effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { government_has_flag = government_is_landless_adventurer @@ -413,7 +416,8 @@ administrator_perk = { trait = administrator effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } + add_trait_force_tooltip = administrator } } diff --git a/common/lifestyle_perks/00_wanderer_1_surveyor_tree_perks.txt b/common/lifestyle_perks/00_wanderer_1_surveyor_tree_perks.txt index 7e4d6d72ba..57bca436c3 100644 --- a/common/lifestyle_perks/00_wanderer_1_surveyor_tree_perks.txt +++ b/common/lifestyle_perks/00_wanderer_1_surveyor_tree_perks.txt @@ -41,7 +41,7 @@ mustering_the_troops_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -85,7 +85,7 @@ local_inspection_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -132,7 +132,7 @@ know_your_land_know_your_people_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -172,7 +172,7 @@ no_stone_unturned_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -202,7 +202,7 @@ travel_logs_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { has_trait = lifestyle_traveler } @@ -245,7 +245,7 @@ local_arbitration_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -283,7 +283,7 @@ realm_charts_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -325,7 +325,7 @@ personal_touch_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -356,7 +356,7 @@ surveyor_perk = { trait = lifestyle_surveyor effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } add_trait_force_tooltip = lifestyle_surveyor } } diff --git a/common/lifestyle_perks/00_wanderer_2_wayfarer_tree_perks.txt b/common/lifestyle_perks/00_wanderer_2_wayfarer_tree_perks.txt index c4049e7099..59dc2ef4fc 100644 --- a/common/lifestyle_perks/00_wanderer_2_wayfarer_tree_perks.txt +++ b/common/lifestyle_perks/00_wanderer_2_wayfarer_tree_perks.txt @@ -36,7 +36,7 @@ well_prepared_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = well_prepared_perk_effect } @@ -57,7 +57,7 @@ roaming_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = roaming_perk_effect } @@ -79,7 +79,7 @@ far_and_wide_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = far_and_wide_perk_effect } @@ -96,7 +96,7 @@ just_one_more_hill_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = just_one_more_hill_perk_effect } @@ -113,7 +113,7 @@ of_the_people_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -144,7 +144,7 @@ local_hero_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = local_hero_perk_effect } @@ -165,7 +165,7 @@ travel_companion_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = travel_companion_perk_effect } @@ -182,7 +182,7 @@ the_home_away_from_home_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = the_home_away_from_home_perk_effect } @@ -201,7 +201,7 @@ wayfarer_perk = { trait = lifestyle_wayfarer effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } add_trait_force_tooltip = lifestyle_wayfarer } } diff --git a/common/lifestyle_perks/00_wanderer_3_voyager_tree_perks.txt b/common/lifestyle_perks/00_wanderer_3_voyager_tree_perks.txt index d51fccd1b4..da76122f78 100644 --- a/common/lifestyle_perks/00_wanderer_3_voyager_tree_perks.txt +++ b/common/lifestyle_perks/00_wanderer_3_voyager_tree_perks.txt @@ -49,7 +49,7 @@ power_at_home_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -73,7 +73,7 @@ mercenary_contacts_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = mercenary_contacts_perk_effect } @@ -117,7 +117,7 @@ journey_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = journey_perk_effect } @@ -142,7 +142,7 @@ been_there_done_that_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = been_there_done_that_perk_effect } @@ -159,7 +159,7 @@ finally_there_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = finally_there_perk_2_effect } @@ -182,7 +182,7 @@ souvenirs_aplenty_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -221,7 +221,7 @@ gracious_host_impeccable_guest_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } if = { limit = { NOT = { government_has_flag = government_is_landless_adventurer } @@ -261,7 +261,7 @@ journey_planner_perk = { effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } custom_description_no_bullet = { text = journey_planner_perk_effect } @@ -280,7 +280,7 @@ voyager_perk = { trait = lifestyle_voyager effect = { # Warcraft - trigger_event = { on_action = on_perk_gained } + trigger_event = { on_action = on_vanilla_lifestyle_perk_gained } add_trait_force_tooltip = lifestyle_voyager } } diff --git a/common/lifestyle_perks/wc_death_magic_perks.txt b/common/lifestyle_perks/wc_death_magic_perks.txt new file mode 100644 index 0000000000..5c417176f4 --- /dev/null +++ b/common/lifestyle_perks/wc_death_magic_perks.txt @@ -0,0 +1,611 @@ +death_magic_tree_1_perk_1 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 2 0 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_raise_dead + wc_learn_spell_effect = { + SPELL = raise_dead + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_2 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 0.75 0.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_death_coil + wc_learn_spell_effect = { + SPELL = death_coil + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_3 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 3.25 0.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_frost_presence_effect + custom_tooltip = wc_frost_fever_disease_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_4 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 4 1.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 1 } } + } + multiply = 0 + } + } + + character_modifier = { + enemy_hard_casualty_modifier = 0.1 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_5 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 0 2.25 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_death_grip + wc_learn_spell_effect = { + SPELL = death_grip + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_6 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 2 3 } + icon = node_learning + + parent = death_magic_tree_1_perk_1 + parent = death_magic_tree_1_perk_2 + parent = death_magic_tree_1_perk_3 + parent = death_magic_tree_1_perk_4 + parent = death_magic_tree_1_perk_5 + + effect = { + custom_tooltip = wc_eternal_suffering_effect + custom_tooltip = wc_eternal_suffering_raise_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_7 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 1 4 } + icon = node_learning + + parent = death_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_death_pact_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_8 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 3 4 } + icon = node_learning + + parent = death_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_fleshcrafting_effect + custom_tooltip = wc_fleshcrafting_raise_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_1_perk_9 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_1 + position = { 2 5 } + icon = node_learning + + parent = death_magic_tree_1_perk_7 + parent = death_magic_tree_1_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_supreme_raise_dead + wc_learn_spell_effect = { + SPELL = supreme_raise_dead + } + custom_tooltip = wc_learn_spell_army_of_the_dead + wc_learn_spell_effect = { + SPELL = army_of_the_dead + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} + +death_magic_tree_2_perk_1 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 0 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_give_disease + wc_learn_spell_effect = { + SPELL = give_disease + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_2 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 2 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_anti_magic_barrier_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_3 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 1 1 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_1 + parent = death_magic_tree_2_perk_2 + + effect = { + custom_tooltip = wc_learn_spell_death_and_decay + wc_learn_spell_effect = { + SPELL = death_and_decay + } + custom_tooltip = wc_rotten_lands_raise_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_4 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 0 2 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_3 + + character_modifier = { + movement_speed = 0.1 + } + + effect = { + custom_tooltip = wc_deaths_advance_tooltip + trigger_event = { on_action = on_deaths_advance_liege_pulse } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_5 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 2 2 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_3 + + effect = { + custom_tooltip = wc_unholy_ground_effect + custom_tooltip = wc_unholy_ground_disease_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_6 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 1 3 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_4 + parent = death_magic_tree_2_perk_5 + + effect = { + custom_tooltip = wc_learn_spell_cripple + wc_learn_spell_effect = { + SPELL = cripple + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_7 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 0 4 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_improved_body + wc_learn_spell_effect = { + SPELL = improved_body + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_8 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 2 4 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_6 + + effect = { + custom_tooltip = wc_necrosis_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_2_perk_9 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_2 + position = { 1 5 } + icon = node_stewardship + + parent = death_magic_tree_2_perk_7 + parent = death_magic_tree_2_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_epidemic + wc_learn_spell_effect = { + SPELL = epidemic + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} + +death_magic_tree_3_perk_1 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 2 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = death } + } + + auto_selection_weight = { + value = wc_death_magic_auto_selection_value + + if = { + limit = { has_focus = death_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = death_magic TREE = 3 } } + } + multiply = 0 + } + } + + character_modifier = { + health = minor_health_bonus + } + + effect = { + custom_tooltip = wc_blood_presence_effect + custom_tooltip = wc_learn_spell_coagulation + wc_learn_spell_effect = { + SPELL = coagulation + } + learn_spell_rank_effect = { + SPELL = coagulation + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = coagulation + RANK = 3 + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_2 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 2 1 } + icon = node_martial + + parent = death_magic_tree_3_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_blood_boil + wc_learn_spell_effect = { + SPELL = blood_boil + } + custom_tooltip = wc_blood_boil_disease_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_3 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 1 2 } + icon = node_martial + + parent = death_magic_tree_3_perk_2 + + effect = { + custom_tooltip = wc_blood_siphon_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_4 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 3 2 } + icon = node_martial + + parent = death_magic_tree_3_perk_2 + + character_modifier = { + enemy_hostile_scheme_success_chance_add = -20 + } + + effect = { + custom_tooltip = wc_vampiric_aura_effect + custom_tooltip = wc_vampiric_aura_raise_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_5 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 0.25 3 } + icon = node_martial + + parent = death_magic_tree_3_perk_3 + + effect = { + custom_tooltip = wc_blood_gorged_effect + trigger_event = { on_action = on_blood_gorged_pulse } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_6 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 3.75 3 } + icon = node_martial + + parent = death_magic_tree_3_perk_4 + + effect = { + custom_tooltip = wc_learn_spell_strangulate + wc_learn_spell_effect = { + SPELL = strangulate + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_7 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 0.5 4 } + icon = node_martial + + parent = death_magic_tree_3_perk_5 + + effect = { + custom_tooltip = wc_mark_of_blood_effect + custom_tooltip = wc_learn_spell_realm_of_necrosis + wc_learn_spell_effect = { + SPELL = realm_of_necrosis + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_8 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 3.5 4 } + icon = node_martial + + parent = death_magic_tree_3_perk_6 + + character_modifier = { + attraction_opinion = 5 + seduce_scheme_phase_duration_add = -10 + max_seduce_schemes_add = 1 + scheme_phase_duration_against_lover_add = -10 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} +death_magic_tree_3_perk_9 = { + lifestyle = death_magic_lifestyle + tree = death_magic_tree_3 + position = { 2 5 } + icon = node_martial + + parent = death_magic_tree_3_perk_7 + parent = death_magic_tree_3_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_crimson_binding + wc_learn_spell_effect = { + SPELL = crimson_binding + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_disorder_magic_perks.txt b/common/lifestyle_perks/wc_disorder_magic_perks.txt new file mode 100644 index 0000000000..dab04172a7 --- /dev/null +++ b/common/lifestyle_perks/wc_disorder_magic_perks.txt @@ -0,0 +1,523 @@ +disorder_magic_tree_1_perk_1 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 1 0.25 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_2 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 3 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_3 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 1.5 2 } + icon = node_stewardship + + parent = disorder_magic_tree_1_perk_1 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_4 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 3 2 } + icon = node_stewardship + + parent = disorder_magic_tree_1_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_5 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 0 1.75 } + icon = node_stewardship + + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_6 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 4 1.75 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 1 } } + } + multiply = 0 + } + } + + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_7 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 0.25 3.5 } + icon = node_stewardship + + parent = disorder_magic_tree_1_perk_5 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_8 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 3.75 3.25 } + icon = node_stewardship + + parent = disorder_magic_tree_1_perk_6 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_1_perk_9 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_1 + position = { 2 5 } + icon = node_stewardship + + parent = disorder_magic_tree_1_perk_3 + parent = disorder_magic_tree_1_perk_4 + parent = disorder_magic_tree_1_perk_7 + parent = disorder_magic_tree_1_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} + +disorder_magic_tree_2_perk_1 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 1 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_2 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 3 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_3 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 0 1.25 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_4 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 4 1.25 } + icon = node_stewardship + + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_5 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 0 2.5 } + icon = node_stewardship + + parent = disorder_magic_tree_2_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_6 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 4 2.5 } + icon = node_stewardship + + parent = disorder_magic_tree_2_perk_1 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_7 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 0 3.75 } + icon = node_stewardship + + parent = disorder_magic_tree_2_perk_4 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_8 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 4 3.75 } + icon = node_stewardship + + parent = disorder_magic_tree_2_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_2_perk_9 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_2 + position = { 2 5 } + icon = node_stewardship + + parent = disorder_magic_tree_2_perk_5 + parent = disorder_magic_tree_2_perk_6 + parent = disorder_magic_tree_2_perk_7 + parent = disorder_magic_tree_2_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} + +disorder_magic_tree_3_perk_1 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 2 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = disorder } + } + + auto_selection_weight = { + value = wc_disorder_magic_auto_selection_value + + if = { + limit = { has_focus = disorder_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = disorder_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_2 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 0.5 0.75 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_1 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_3 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 3.5 0.75 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_1 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_4 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 0 2.5 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_5 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 2 2.5 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_2 + parent = disorder_magic_tree_3_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_6 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 4 2.5 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_7 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 0.5 4.25 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_1 + parent = disorder_magic_tree_3_perk_4 + parent = disorder_magic_tree_3_perk_5 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_8 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 3.5 4.25 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_1 + parent = disorder_magic_tree_3_perk_5 + parent = disorder_magic_tree_3_perk_6 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} +disorder_magic_tree_3_perk_9 = { + lifestyle = disorder_magic_lifestyle + tree = disorder_magic_tree_3 + position = { 2 5 } + icon = node_stewardship + + parent = disorder_magic_tree_3_perk_2 + parent = disorder_magic_tree_3_perk_3 + parent = disorder_magic_tree_3_perk_7 + parent = disorder_magic_tree_3_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_elemental_air_magic_perks.txt b/common/lifestyle_perks/wc_elemental_air_magic_perks.txt new file mode 100644 index 0000000000..122e4443b7 --- /dev/null +++ b/common/lifestyle_perks/wc_elemental_air_magic_perks.txt @@ -0,0 +1,328 @@ +elemental_air_magic_tree_1_perk_1 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 2 0 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + auto_selection_weight = { + value = wc_elemental_air_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_air_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_air TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_2 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 1 1.25 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + auto_selection_weight = { + value = wc_elemental_air_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_air_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_air TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_3 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 3 1.25 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + auto_selection_weight = { + value = wc_elemental_air_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_air_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_air TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_4 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 2 1.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + parent = elemental_air_magic_tree_1_perk_1 + parent = elemental_air_magic_tree_1_perk_2 + parent = elemental_air_magic_tree_1_perk_3 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_5 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 0 4 } + icon = node_learning + + parent = elemental_air_magic_tree_1_perk_2 + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_6 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 4 4 } + icon = node_learning + + parent = elemental_air_magic_tree_1_perk_3 + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_7 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 1.5 2.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + parent = elemental_air_magic_tree_1_perk_4 + parent = elemental_air_magic_tree_1_perk_5 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_8 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = {2.5 2.75 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + parent = elemental_air_magic_tree_1_perk_4 + parent = elemental_air_magic_tree_1_perk_6 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_1_perk_9 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_1 + position = { 2 5 } + icon = node_learning + parent = elemental_air_magic_tree_1_perk_7 + parent = elemental_air_magic_tree_1_perk_8 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} + +elemental_air_magic_tree_2_perk_1 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 1 0 } + icon = node_learning + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_air } + } + + auto_selection_weight = { + value = wc_elemental_air_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_air_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_air TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_2 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 0 1 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_3 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 3 2.25 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_4 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 1 2.25 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_2 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_5 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 0 2.5 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_4 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_6 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 2 2.5 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_3 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_7 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 1 3.75 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_5 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_8 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 3 3.75 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_6 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} +elemental_air_magic_tree_2_perk_9 = { + lifestyle = elemental_air_magic_lifestyle + tree = elemental_air_magic_tree_2 + position = { 0 5 } + icon = node_learning + + parent = elemental_air_magic_tree_2_perk_7 + parent = elemental_air_magic_tree_2_perk_8 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_elemental_earth_magic_perks.txt b/common/lifestyle_perks/wc_elemental_earth_magic_perks.txt new file mode 100644 index 0000000000..ec5f5e5b18 --- /dev/null +++ b/common/lifestyle_perks/wc_elemental_earth_magic_perks.txt @@ -0,0 +1,277 @@ +elemental_earth_magic_tree_1_perk_1 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 2.25 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_earth } + } + + auto_selection_weight = { + value = wc_elemental_earth_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_earth_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_earth TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_2 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 1.5 1.25 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_3 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 3 1.25 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_4 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 2.25 2.25 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_2 + parent = elemental_earth_magic_tree_1_perk_3 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_5 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 0.75 3 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_2 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_6 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 3.75 3 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_3 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_7 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 0 4 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_5 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_8 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 4.5 4 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_6 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_1_perk_9 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_1 + position = { 2.25 5 } + icon = node_martial + + parent = elemental_earth_magic_tree_1_perk_4 + parent = elemental_earth_magic_tree_1_perk_7 + parent = elemental_earth_magic_tree_1_perk_8 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} + +elemental_earth_magic_tree_2_perk_1 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 2 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_earth } + } + + auto_selection_weight = { + value = wc_elemental_earth_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_earth_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_earth TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_2 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 0 1 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_3 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 4 1 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_1 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_4 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 2 2 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_2 + parent = elemental_earth_magic_tree_2_perk_3 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_5 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 1 3 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_2 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_6 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 3 3 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_4 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_7 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 0 4 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_2 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_8 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 4 4 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_3 + parent = elemental_earth_magic_tree_2_perk_6 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} +elemental_earth_magic_tree_2_perk_9 = { + lifestyle = elemental_earth_magic_lifestyle + tree = elemental_earth_magic_tree_2 + position = { 2 5 } + icon = node_martial + + parent = elemental_earth_magic_tree_2_perk_4 + parent = elemental_earth_magic_tree_2_perk_5 + parent = elemental_earth_magic_tree_2_perk_7 + parent = elemental_earth_magic_tree_2_perk_8 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_elemental_fire_magic_perks.txt b/common/lifestyle_perks/wc_elemental_fire_magic_perks.txt new file mode 100644 index 0000000000..404914cb6f --- /dev/null +++ b/common/lifestyle_perks/wc_elemental_fire_magic_perks.txt @@ -0,0 +1,387 @@ +elemental_fire_magic_tree_1_perk_1 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 2 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_fire } + } + + auto_selection_weight = { + value = wc_elemental_fire_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_fire_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_fire TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_flame_shock + wc_learn_spell_effect = { + SPELL = flame_shock + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_2 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 0.5 1 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_1 + + effect = { + custom_tooltip = wc_pyromania_tooltip + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_3 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 3.5 1 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_1 + + effect = { + custom_tooltip = wc_hb_tt + add_character_modifier = { + modifier = wc_hearth_blessing_modifier + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_4 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 2 2 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_1 + character_modifier = { + court_grandeur_baseline_add = 2 + guest_opinion = 15 + courtier_opinion = 10 + } + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_5 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 0 2.5 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_2 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_burnout + wc_learn_spell_effect = { + SPELL = burnout + } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_6 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 4 2.5 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_3 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_cauterize_wound + wc_learn_spell_effect = { + SPELL = cauterize_wound + } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_7 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 0.5 4 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_4 + parent = elemental_fire_magic_tree_1_perk_5 + + character_modifier = { + levy_reinforcement_rate = 0.1 + army_pursuit_mult = 0.1 + controlled_province_advantage = 4 + } + + effect = { + # Maintenance + custom_tooltip = wc_enhanced_burnout_tt + + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_8 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 3.5 4 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_4 + parent = elemental_fire_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_greater_cauterize_tt + custom_tooltip = wc_greater_heat_tt + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_1_perk_9 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_1 + position = { 2 5 } + icon = node_martial + + parent = elemental_fire_magic_tree_1_perk_7 + parent = elemental_fire_magic_tree_1_perk_8 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_vernal_solstice + wc_learn_spell_effect = { + SPELL = vernal_solstice + } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} + +elemental_fire_magic_tree_2_perk_1 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 1.25 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_fire } + } + + auto_selection_weight = { + value = wc_elemental_fire_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_fire_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_fire TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = { + text = wc_learn_spell_summon_fire_elemental + } + wc_learn_spell_effect = { + SPELL = summon_fire_elemental + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_2 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 3 1 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_fire } + } + + auto_selection_weight = { + value = wc_elemental_fire_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_fire_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_fire TREE = 2 } } + } + multiply = 0 + } + } + + character_modifier = { + jungle_development_growth_factor = 0.05 + forest_development_growth_factor = 0.05 + taiga_development_growth_factor = 0.05 + wetlands_development_growth_factor = 0.05 + + jungle_advantage = 5 + forest_advantage = 5 + taiga_advantage = 5 + wetlands_advantage = 5 + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_3 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 0 2 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_elemental_fire_magic_tree_2_perk_3_desc + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_4 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 2 2 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_1 + parent = elemental_fire_magic_tree_2_perk_2 + + effect = { + custom_tooltip = wc_learn_spell_lava_lash + wc_learn_spell_effect = { + SPELL = lava_lash + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_5 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 0 3 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_3 + parent = elemental_fire_magic_tree_2_perk_4 + + effect = { + custom_tooltip = wc_elemental_fire_magic_tree_2_perk_5_desc + custom_tooltip = wc_learn_spell_summon_fire_elemental_2 + learn_spell_rank_effect = { + SPELL = summon_fire_elemental + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = summon_fire_elemental + RANK = 3 + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_6 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 4 3 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_2 + + character_modifier = { + siege_weapon_siege_value_mult = 0.1 + caster_damage_mult = 0.1 + } + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_7 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 0.5 4 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_5 + + effect = { + custom_tooltip = wc_learn_spell_backdraft + custom_tooltip = wc_lava_lash_proc + wc_learn_spell_effect = { + SPELL = backdraft + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_8 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 3.5 4 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_backdraft_2 + learn_spell_rank_effect = { + SPELL = backdraft + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = backdraft + RANK = 3 + } + custom_tooltip = wc_learn_spell_flame_wall + wc_learn_spell_effect = { + SPELL = flame_wall + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} +elemental_fire_magic_tree_2_perk_9 = { + lifestyle = elemental_fire_magic_lifestyle + tree = elemental_fire_magic_tree_2 + position = { 2 5 } + icon = node_martial + + parent = elemental_fire_magic_tree_2_perk_7 + parent = elemental_fire_magic_tree_2_perk_8 + + effect = { + custom_tooltip = wc_learn_ritual_planar_fire + wc_learn_spell_effect = { + SPELL = planar_fire + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_elemental_water_magic_perks.txt b/common/lifestyle_perks/wc_elemental_water_magic_perks.txt new file mode 100644 index 0000000000..f98100a8f7 --- /dev/null +++ b/common/lifestyle_perks/wc_elemental_water_magic_perks.txt @@ -0,0 +1,366 @@ +elemental_water_magic_tree_1_perk_1 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 1.75 0 } + icon = node_diplomacy + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_water } + } + + auto_selection_weight = { + value = wc_elemental_water_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_water_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_water TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_summon_water_elemental + wc_learn_spell_effect = { + SPELL = summon_water_elemental + } + learn_spell_rank_effect = { + SPELL = summon_water_elemental + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = summon_water_elemental + RANK = 3 + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_2 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 2 1 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_1 + + effect = { + custom_tooltip = wc_hurricane_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_3 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 1 2 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_2 + + effect = { + custom_tooltip = { + text = wc_aquatic_bounty_effect + trigger_event = magic_perk.0010 + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_4 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 3.25 1.5 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_soothing_waters + wc_learn_spell_effect = { + SPELL = soothing_waters + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_5 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 0.25 3 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_river_spirits_rage + wc_learn_spell_effect = { + SPELL = river_spirits_rage + } + learn_spell_rank_effect = { + SPELL = river_spirits_rage + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = river_spirits_rage + RANK = 3 + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_6 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 4 3 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_4 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_7 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 0.5 4 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_5 + + character_modifier = { + naval_movement_speed_mult = 0.15 + } + + effect = { + custom_tooltip = wc_sirens_call_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_8 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 3.5 4 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_invoke_tsunami + wc_learn_spell_effect = { + SPELL = invoke_tsunami + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_1_perk_9 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_1 + position = { 2 5 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_1_perk_7 + parent = elemental_water_magic_tree_1_perk_8 + + effect = { + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} + +elemental_water_magic_tree_2_perk_1 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 0.5 0 } + icon = node_diplomacy + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_water } + } + + auto_selection_weight = { + value = wc_elemental_water_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_water_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_water TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_frost_shock + wc_learn_spell_effect = { + SPELL = frost_shock + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_2 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 3.5 0 } + icon = node_diplomacy + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = elemental_water } + } + + auto_selection_weight = { + value = wc_elemental_water_magic_auto_selection_value + + if = { # Any focus + limit = { has_focus_elemental_water_magic_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { MAGIC = elemental_water TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_spirit_of_entropy_spirit_effect + custom_tooltip = wc_spirit_of_entropy_decay_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_3 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 1.25 1.25 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_1 + + character_modifier = { + supply_capacity_mult = 0.5 + fort_level = 1 + } + + effect = { + custom_tooltip = wc_blessed_ice_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_4 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 2.75 1.25 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_2 + + effect = { + custom_tooltip = wc_best_served_cold_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_5 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 0 2.5 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_icefury + wc_learn_spell_effect = { + SPELL = icefury + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_6 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 4 2.5 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_4 + + effect = { + custom_tooltip = wc_cold_storage_effect + add_character_modifier = wc_cold_storage_modifier + trigger_event = { + on_action = cold_storage_pulse + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_7 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 0 3.75 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_5 + + effect = { + custom_tooltip = wc_hibernation_effect + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_8 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 4 3.75 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_ice_structure + wc_learn_spell_effect = { + SPELL = ice_structure + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} +elemental_water_magic_tree_2_perk_9 = { + lifestyle = elemental_water_magic_lifestyle + tree = elemental_water_magic_tree_2 + position = { 2 5 } + icon = node_diplomacy + + parent = elemental_water_magic_tree_2_perk_3 + parent = elemental_water_magic_tree_2_perk_4 + parent = elemental_water_magic_tree_2_perk_7 + parent = elemental_water_magic_tree_2_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_eternal_winter + hidden_effect = { + add_character_modifier = wc_cold_storage_modifier + } + wc_learn_spell_effect = { + SPELL = eternal_winter + } + # Maintenance + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_life_magic_perks.txt b/common/lifestyle_perks/wc_life_magic_perks.txt new file mode 100644 index 0000000000..9d3fd2c589 --- /dev/null +++ b/common/lifestyle_perks/wc_life_magic_perks.txt @@ -0,0 +1,540 @@ +life_magic_tree_1_perk_1 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 1 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_2 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 3 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_3 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 2 1.25 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_1 + parent = life_magic_tree_1_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_4 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 0 2 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_1 + parent = life_magic_tree_1_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_5 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 4 2 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_2 + parent = life_magic_tree_1_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_6 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 0 3.25 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_4 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_7 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 4 3.25 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_5 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_8 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 2 3.75 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_3 + parent = life_magic_tree_1_perk_4 + parent = life_magic_tree_1_perk_5 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_1_perk_9 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_1 + position = { 2 5 } + icon = node_stewardship + + parent = life_magic_tree_1_perk_6 + parent = life_magic_tree_1_perk_7 + parent = life_magic_tree_1_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} + +life_magic_tree_2_perk_1 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 1 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_2 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 3 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_3 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 0 1.25 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_4 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 2 1.25 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_5 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 4 1.25 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_6 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 1 2.5 } + icon = node_stewardship + + parent = life_magic_tree_2_perk_1 + parent = life_magic_tree_2_perk_3 + parent = life_magic_tree_2_perk_4 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_7 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 3 2.5 } + icon = node_stewardship + + parent = life_magic_tree_2_perk_2 + parent = life_magic_tree_2_perk_4 + parent = life_magic_tree_2_perk_5 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_8 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 2 3.75 } + icon = node_stewardship + + parent = life_magic_tree_2_perk_6 + parent = life_magic_tree_2_perk_7 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_2_perk_9 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_2 + position = { 2 5 } + icon = node_stewardship + + parent = life_magic_tree_2_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} + +life_magic_tree_3_perk_1 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 2 0 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_2 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 0 1 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_3 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 4 1 } + icon = node_stewardship + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = life } + } + + auto_selection_weight = { + value = wc_life_magic_auto_selection_value + + if = { + limit = { has_focus = life_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = life_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_4 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 1 2 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_1 + parent = life_magic_tree_3_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_5 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 3 2 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_1 + parent = life_magic_tree_3_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_6 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 0.5 3 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_2 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_7 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 3.5 3 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_3 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_8 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 2 4 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_4 + parent = life_magic_tree_3_perk_5 + parent = life_magic_tree_3_perk_6 + parent = life_magic_tree_3_perk_7 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} +life_magic_tree_3_perk_9 = { + lifestyle = life_magic_lifestyle + tree = life_magic_tree_3 + position = { 2 5 } + icon = node_stewardship + + parent = life_magic_tree_3_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_light_magic_perks.txt b/common/lifestyle_perks/wc_light_magic_perks.txt new file mode 100644 index 0000000000..7d14ad2649 --- /dev/null +++ b/common/lifestyle_perks/wc_light_magic_perks.txt @@ -0,0 +1,555 @@ +light_magic_tree_1_perk_1 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 2 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + + if = { + limit = { has_focus = light_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = light_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_flash_of_light + wc_learn_spell_effect = { + SPELL = flash_of_light + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_2 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 1 1 } + icon = node_martial + + parent = light_magic_tree_1_perk_1 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + learn_spell_rank_effect = { + SPELL = flash_of_light + RANK = 2 + } + custom_tooltip = wc_learn_spell_flash_of_light_2 + custom_tooltip = wc_divine_service_effect + } +} +light_magic_tree_1_perk_3 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 3 1 } + icon = node_martial + + parent = light_magic_tree_1_perk_1 + + effect = { + # Maintenance + wc_learn_spell_effect = { + SPELL = dispel + } + custom_tooltip = wc_learn_spell_dispel_magic + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_4 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 1 2.75 } + icon = node_martial + + parent = light_magic_tree_1_perk_2 + + effect = { + custom_tooltip = wc_learn_spell_holy_fire + wc_learn_spell_effect = { + SPELL = holy_fire + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_5 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 3 2.75 } + icon = node_martial + + parent = light_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_lightwell + wc_learn_spell_effect = { + SPELL = lightwell + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_6 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 0 3.75 } + icon = node_martial + + parent = light_magic_tree_1_perk_4 + + effect = { + # Maintenance + learn_spell_rank_effect = { + SPELL = flash_of_light + RANK = 3 + } + custom_tooltip = wc_learn_spell_flash_of_light_3 + add_character_modifier = { + modifier = wc_blessed_blood_modifier + } + custom_tooltip = wc_blessed_blood_tooltip + hidden_effect = { + primary_heir ?= { + add_character_modifier = { + modifier = wc_blessed_blood_modifier + years = 10 + } + } + } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_7 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 4 3.75 } + icon = node_martial + + parent = light_magic_tree_1_perk_5 + + effect = { + custom_tooltip = wc_echo_of_light_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_8 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 2 4 } + icon = node_martial + + parent = light_magic_tree_1_perk_6 + parent = light_magic_tree_1_perk_7 + + character_modifier = { + character_travel_safety_mult = 0.25 + character_travel_speed_mult = 0.25 + } + effect = { + custom_tooltip = wc_learn_spell_power_word_barrier + wc_learn_spell_effect = { + SPELL = power_word_barrier + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_1_perk_9 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_1 + position = { 2 5 } + icon = node_martial + + parent = light_magic_tree_1_perk_8 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_salvation + wc_learn_spell_effect = { + SPELL = salvation + } + learn_spell_rank_effect = { + SPELL = power_word_barrier + RANK = 2 + } + custom_tooltip = wc_learn_spell_power_word_barrier_2 + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} + +light_magic_tree_2_perk_1 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 1.875 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + + if = { + limit = { has_focus = light_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = light_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + wc_learn_spell_effect = { + SPELL = judgement + } + custom_tooltip = wc_learn_spell_judgement + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_2 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 3.75 0.5 } + icon = node_martial + + parent = light_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_struggle_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_3 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 1.25 1 } + icon = node_martial + + parent = light_magic_tree_2_perk_2 + + effect = { + # Maintenance + wc_learn_spell_effect = { + SPELL = exorcism + } + wc_learn_spell_effect = { + SPELL = expulsion + } + custom_tooltip = wc_learn_spell_exorcism + custom_tooltip = wc_learn_spell_expulsion + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_4 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 0 2.5 } + icon = node_martial + + parent = light_magic_tree_2_perk_3 + + character_modifier = { + martial = 2 + } + effect = { + # Maintenance + custom_tooltip = wc_seal_of_command + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_5 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 1.875 2.5 } + icon = node_martial + + parent = light_magic_tree_2_perk_3 + + effect = { + # Maintenance + learn_spell_rank_effect = { + SPELL = exorcism + RANK = 2 + } + custom_tooltip = wc_learn_spell_exorcism_2 + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_6 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 3.75 2.5 } + icon = node_martial + + parent = light_magic_tree_2_perk_3 + + character_modifier = { + tyranny_gain_mult = -0.25 + general_opinion = 5 + } + + effect = { + add_character_modifier = { + modifier = wc_divine_purpose_modifier + } + player_heir ?= { + add_character_modifier = { + modifier = wc_divine_purpose_modifier + } + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_7 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 2.5 4 } + icon = node_martial + + parent = light_magic_tree_2_perk_4 + parent = light_magic_tree_2_perk_5 + parent = light_magic_tree_2_perk_6 + + effect = { + # Maintenance + wc_learn_spell_effect = { + SPELL = avenging_wrath + } + learn_spell_rank_effect = { + SPELL = avenging_wrath + RANK = 2 + } + custom_tooltip = wc_learn_spell_avenging_wrath + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_8 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 0 4.5 } + icon = node_martial + + parent = light_magic_tree_2_perk_7 + + effect = { + custom_tooltip = holy_retribution_tooltip + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_2_perk_9 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_2 + position = { 1.875 5 } + icon = node_martial + + parent = light_magic_tree_2_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + custom_tooltip = wc_learn_spell_divine_storm + wc_learn_spell_effect = { + SPELL = divine_storm + } + } +} + +light_magic_tree_3_perk_1 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 2 0 } + icon = node_martial + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = light } + } + + auto_selection_weight = { + value = wc_light_magic_auto_selection_value + + if = { + limit = { has_focus = light_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = light_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_bless + wc_learn_spell_effect = { + SPELL = bless + } + learn_spell_rank_effect = { + SPELL = bless + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = bless + RANK = 3 + } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_2 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 0 1.25 } + icon = node_martial + + parent = light_magic_tree_3_perk_1 + + effect = { + custom_tooltip = wc_virtue_tooltip + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_3 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 4 1.25 } + icon = node_martial + + parent = light_magic_tree_3_perk_1 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_divine_shield + wc_learn_spell_effect = { + SPELL = divine_shield + } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_4 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 0 2.5 } + icon = node_martial + + parent = light_magic_tree_3_perk_2 + + character_modifier = { + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + } + effect = { + custom_tooltip = wc_inner_fire_tooltip + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_5 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 4 2.5 } + icon = node_martial + + parent = light_magic_tree_3_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_consecration + wc_learn_spell_effect = { + SPELL = consecration + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_6 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 2 3 } + icon = node_martial + + parent = light_magic_tree_3_perk_1 + parent = light_magic_tree_3_perk_4 + parent = light_magic_tree_3_perk_5 + + effect = { + custom_tooltip = wc_holy_aura_tooltip + trigger_event = { + id = magic_perk.0002 + days = { 30 60 } # prevent lag + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_7 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 0 3.75 } + icon = node_martial + + parent = light_magic_tree_3_perk_4 + + effect = { + # Maintenance + custom_tooltip = wc_learn_spell_rebuke + wc_learn_spell_effect = { + SPELL = rebuke + } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_8 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 4 3.75 } + icon = node_martial + + parent = light_magic_tree_3_perk_5 + + effect = { + custom_tooltip = wc_final_stand_tooltip + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} +light_magic_tree_3_perk_9 = { + lifestyle = light_magic_lifestyle + tree = light_magic_tree_3 + position = { 2 5 } + icon = node_martial + + parent = light_magic_tree_3_perk_6 + parent = light_magic_tree_3_perk_7 + parent = light_magic_tree_3_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_blessed_bastion + wc_learn_spell_effect = { + SPELL = blessed_bastion + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_order_magic_perks.txt b/common/lifestyle_perks/wc_order_magic_perks.txt new file mode 100644 index 0000000000..4718bbb008 --- /dev/null +++ b/common/lifestyle_perks/wc_order_magic_perks.txt @@ -0,0 +1,1304 @@ +order_magic_tree_1_perk_1 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 2 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + OR = { + var:order_focus = flag:fire + var:order_focus = flag:ice + var:order_focus = flag:conjuration + } + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { + limit = { has_focus = order_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = order_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_arcane_dialectics_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_2 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 0 0.75 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_1 + effect = { + custom_tooltip = wc_elemental_synthesis_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + OR = { + var:order_focus = flag:fire + var:order_focus = flag:ice + } + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { + limit = { has_focus = order_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = order_magic TREE = 1 } } + } + multiply = 0 + } + } +} +order_magic_tree_1_perk_3 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 4 0.75 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_1 + + character_modifier = { + caster_siege_value_add = 1 + caster_damage_add = 2 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_4 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 2 1.5 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_2 + parent = order_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_quickening_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_5 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 2 2.5 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_4 + + effect = { + custom_tooltip = wc_learn_spell_polymorph + wc_learn_spell_effect = { + SPELL = polymorph + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_6 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 4 3.25 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_5 + + character_modifier = { + caster_damage_add = 2 + caster_pursuit_add = 2 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_7 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 0 3.25 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_5 + + effect = { + custom_tooltip = wc_synergistic_alacrity_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_8 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 2 4 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_7 + parent = order_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_conjure_refreshment + wc_learn_spell_effect = { + SPELL = conjure_refreshment + } + learn_spell_rank_effect = { + SPELL = conjure_refreshment + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = conjure_refreshment + RANK = 3 + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_1_perk_9 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_1 + position = { 2 5 } + icon = node_intrigue + + parent = order_magic_tree_1_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_evocation + wc_learn_spell_effect = { + SPELL = evocation + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_2_perk_1 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 2 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:abjuration + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { + limit = { has_focus = order_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = order_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_aether_tap_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_2 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 0 1 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_counterspell + wc_learn_spell_effect = { + SPELL = counterspell + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_3 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 2 1 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_scry + wc_learn_spell_effect = { + SPELL = scry + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_4 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 4 1 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_spell_hack_tt + set_variable = wc_spell_hack_available + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_5 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 0 4 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_2 + + effect = { + custom_tooltip = wc_scheme_reflect_effect + + if = { + limit = { + has_variable = scheme_reflect_count + } + change_variable = { + name = scheme_reflect_count + add = 1 + } + } + else = { + set_variable = { + name = scheme_reflect_count + value = 1 + } + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_6 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 1 3 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_2 + + character_modifier = { + intrigue = 2 + } + + effect = { + custom_tooltip = wc_empowered_scrying + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_7 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 3 3 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_4 + + effect = { + custom_tooltip = wc_arcane_intellect_effect + trigger_event = { + id = magic_perk.0001 + days = { 30 60 } # prevent lag + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_8 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 4 4 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_4 + + effect = { + custom_tooltip = wc_learn_spell_spellsteal + wc_learn_spell_effect = { + SPELL = spellsteal + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_2_perk_9 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_2 + position = { 2 5 } + icon = node_intrigue + + parent = order_magic_tree_2_perk_3 + parent = order_magic_tree_2_perk_5 + parent = order_magic_tree_2_perk_6 + parent = order_magic_tree_2_perk_7 + parent = order_magic_tree_2_perk_8 + + effect = { + custom_tooltip = wc_learn_spell_arcane_dome + wc_learn_spell_effect = { + SPELL = arcane_dome + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_3_perk_1 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 2 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:chronomancy + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { + limit = { has_focus = order_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = order_magic TREE = 3 } } + } + multiply = 0 + } + } + + character_modifier = { + character_travel_speed = 5 + movement_speed = 0.05 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + + } +} +order_magic_tree_3_perk_2 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 0 0.5 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_1 + + character_modifier = { + vassal_opinion = 10 + dread_decay_mult = -0.1 + stress_loss_mult = 0.1 + } + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_3 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 4 0.5 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_haste + wc_learn_spell_effect = { + SPELL = haste + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_4 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 2 1 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_2 + parent = order_magic_tree_3_perk_3 + + character_modifier = { + knight_effectiveness_mult = 0.05 + } + + effect = { + custom_tooltip = wc_mirror_image_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_5 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 1 2 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_2 + + effect = { + custom_tooltip = wc_learn_spell_chronomancy + wc_learn_spell_effect = { + SPELL = chronomancy + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_6 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 3 2 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_3 + + effect = { + custom_tooltip = wc_presence_of_mind_effect + set_variable = wc_presence_of_mind_available + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_7 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 0 4.25 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_6 + + effect = { + custom_tooltip = wc_time_warping_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_8 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 4 4.25 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_5 + + effect = { + custom_tooltip = wc_reverse_causality_effect + set_variable = wc_reverse_causality_available + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_3_perk_9 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_3 + position = { 2 5 } + icon = node_intrigue + + parent = order_magic_tree_3_perk_4 + parent = order_magic_tree_3_perk_7 + parent = order_magic_tree_3_perk_8 + + effect = { + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + custom_tooltip = wc_learn_spell_create_portal + wc_learn_spell_effect = { + SPELL = create_portal + } + learn_spell_rank_effect = { + SPELL = create_portal + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = create_portal + RANK = 3 + } + } +} + +order_magic_tree_4_perk_1 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 0.0 0 } + icon = node_martial + + can_be_picked = { + can_take_elemental_conjuration_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_scorch + wc_learn_spell_effect = { + SPELL = scorch + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_4_perk_2 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 2 0 } + icon = node_martial + + can_be_picked = { + can_take_elemental_conjuration_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + character_modifier = { + prowess = 1 + } + + effect = { + custom_tooltip = wc_netherburn_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_4_perk_3 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 4 0 } + icon = node_martial + + can_be_picked = { + can_take_elemental_conjuration_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_fire_shield + wc_learn_spell_effect = { + SPELL = fire_shield + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} +order_magic_tree_4_perk_4 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 0 1.5 } + icon = node_martial + + parent = order_magic_tree_4_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_pyroblast + wc_learn_spell_effect = { + SPELL = pyroblast + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } +} +order_magic_tree_4_perk_5 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 2 1.5 } + icon = node_martial + + parent = order_magic_tree_4_perk_2 + + effect = { + if = { + limit = { + has_perk = order_magic_tree_5_perk_6 + } + custom_tooltip = wc_learn_spell_frostfire_bolt + wc_learn_spell_effect = { + SPELL = frostfire_bolt + } + } + else = { + custom_tooltip = wc_learn_spell_frostfire_bolt_fire + } + custom_tooltip = wc_frost_synergy_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } +} +order_magic_tree_4_perk_6 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 4 1.5 } + icon = node_martial + + parent = order_magic_tree_4_perk_3 + + effect = { + custom_tooltip = wc_flame_armor_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } +} +order_magic_tree_4_perk_7 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 0 3.75 } + icon = node_martial + + parent = order_magic_tree_4_perk_6 + + effect = { + custom_tooltip = wc_twin_flame_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } +} +order_magic_tree_4_perk_8 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 4 3.75 } + icon = node_martial + parent = order_magic_tree_4_perk_4 + + effect = { + custom_tooltip = wc_learn_spell_flamestrike + wc_learn_spell_effect = { + SPELL = flamestrike + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } +} +order_magic_tree_4_perk_9 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_4 + position = { 2 5 } + icon = node_martial + + parent = order_magic_tree_4_perk_5 + parent = order_magic_tree_4_perk_7 + parent = order_magic_tree_4_perk_8 + + can_be_picked = { + NOT = { has_perk = order_magic_tree_5_perk_9 } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:fire + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_conjuration_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_description_no_bullet = { + text = WC_ARCANE_ELEMENTAL_FINAL_PERK_EXCLUSIVE + } + add_trait = master_pyromancer + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + + +order_magic_tree_5_perk_1 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 0.5 0 } + icon = node_diplomacy + + can_be_picked = { + can_take_elemental_frost_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_frostbolt + wc_learn_spell_effect = { + SPELL = frostbolt + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_2 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 2 0 } + icon = node_diplomacy + + can_be_picked = { + can_take_elemental_frost_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_frost_armor + wc_learn_spell_effect = { + SPELL = frost_armor + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_3 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 3.5 0 } + icon = node_diplomacy + + can_be_picked = { + can_take_elemental_frost_trigger = yes + } + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = order } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + character_modifier = { + character_travel_speed = 5 + } + + effect = { + custom_tooltip = wc_freeze_time_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_4 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 0 2 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_1 + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_icy_veins_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_5 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 2 2 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_2 + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_frost_nova + wc_learn_spell_effect = { + SPELL = frost_nova + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_6 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 4 2 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_3 + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + if = { + limit = { + has_perk = order_magic_tree_4_perk_5 + } + custom_tooltip = wc_learn_spell_frostfire_bolt + wc_learn_spell_effect = { + SPELL = frostfire_bolt + } + } + else = { + custom_tooltip = wc_learn_spell_frostfire_bolt_frost + } + custom_tooltip = wc_flame_synergy_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_7 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 0.5 4 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_5 + parent = order_magic_tree_5_perk_4 + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_blizzard + wc_learn_spell_effect = { + SPELL = blizzard + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_8 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 3.5 4 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_5 + parent = order_magic_tree_5_perk_6 + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_freezerburn_burned_effect + custom_tooltip = wc_freezerburn_frostbite_effect + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} + +order_magic_tree_5_perk_9 = { + lifestyle = order_magic_lifestyle + tree = order_magic_tree_5 + position = { 2 5 } + icon = node_diplomacy + + parent = order_magic_tree_5_perk_8 + parent = order_magic_tree_5_perk_7 + + can_be_picked = { + NOT = { has_perk = order_magic_tree_4_perk_9 } + } + + auto_selection_weight = { + value = wc_order_magic_auto_selection_value + + if = { + limit = { + has_variable = order_focus + var:order_focus = flag:ice + } + multiply = wc_lifestyle_perk_auto_selection_weight_order_focus_value + } + + if = { # Any focus + limit = { can_take_elemental_frost_trigger = yes } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } else = { + multiply = 0 + } + } + + effect = { + custom_description_no_bullet = { + text = WC_ARCANE_ELEMENTAL_FINAL_PERK_EXCLUSIVE + } + add_trait = master_cryomancer + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + } +} \ No newline at end of file diff --git a/common/lifestyle_perks/wc_shadow_magic_perks.txt b/common/lifestyle_perks/wc_shadow_magic_perks.txt new file mode 100644 index 0000000000..c9a2f950be --- /dev/null +++ b/common/lifestyle_perks/wc_shadow_magic_perks.txt @@ -0,0 +1,543 @@ +shadow_magic_tree_1_perk_1 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 2 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + + if = { + limit = { has_focus = shadow_magic_focus_1 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = shadow_magic TREE = 1 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_void_touch + wc_learn_spell_effect = { + SPELL = void_touch + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_2 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 0.5 0.75 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_1 + + effect = { + custom_tooltip = shadow_magic_tree_1_perk_2_effect_tt + custom_tooltip = shadow_magic_tree_1_perk_2_effect_death + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_3 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 3.5 0.75 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_1 + + effect = { + custom_tooltip = dark_insights_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_4 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 0 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_1 + parent = shadow_magic_tree_1_perk_2 + parent = shadow_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_summon_void_leader + wc_learn_spell_effect = { + SPELL = summon_void_leader + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_5 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 2 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_2 + parent = shadow_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_dark_bargain_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_6 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 4 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_1 + parent = shadow_magic_tree_1_perk_2 + parent = shadow_magic_tree_1_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_voidborne + wc_learn_spell_effect = { + SPELL = voidborne + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_7 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 0.5 4.25 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_4 + parent = shadow_magic_tree_1_perk_5 + parent = shadow_magic_tree_1_perk_6 + + effect = { + custom_tooltip = wc_dark_invasion_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_8 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 3.5 4.25 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_4 + parent = shadow_magic_tree_1_perk_5 + parent = shadow_magic_tree_1_perk_6 + + character_modifier = { + intrigue_scheme_phase_duration = -20 + owned_hostile_scheme_success_chance_add = 10 + intrigue = 1 + } + + effect = { + custom_tooltip = wc_learn_spell_dispersion + wc_learn_spell_effect = { + SPELL = dispersion + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_1_perk_9 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_1 + position = { 2 5 } + icon = node_intrigue + + parent = shadow_magic_tree_1_perk_4 + parent = shadow_magic_tree_1_perk_6 + parent = shadow_magic_tree_1_perk_7 + parent = shadow_magic_tree_1_perk_8 + + effect = { + custom_tooltip = wc_learn_ritual_twisted_chains + wc_learn_spell_effect = { + SPELL = twisted_chains + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} + +shadow_magic_tree_2_perk_1 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 0 0.75 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + + if = { + limit = { has_focus = shadow_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = shadow_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_rend_flesh + wc_learn_spell_effect = { + SPELL = rend_flesh + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_2 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 3 0.25 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + + if = { + limit = { has_focus = shadow_magic_focus_2 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = shadow_magic TREE = 2 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_mutate + wc_learn_spell_effect = { + SPELL = mutate + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_3 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 3 1.5 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_1 + + effect = { + custom_tooltip = wc_learn_spell_rend_flesh_2 + custom_tooltip = rend_flesh_perk_tt + learn_spell_rank_effect = { + SPELL = rend_flesh + RANK = 2 + } + learn_spell_rank_effect = { + SPELL = rend_flesh + RANK = 3 + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_4 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 0 2 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_2 + + effect = { + custom_tooltip = shadow_magic_tree_2_perk_4_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_5 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 0 3.25 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_3 + + effect = { + custom_tooltip = shadow_magic_tree_2_perk_5_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_6 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 3 2.75 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_4 + + effect = { + custom_tooltip = wc_learn_spell_drain_essence + wc_learn_spell_effect = { + SPELL = drain_essence + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_7 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 3 4 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_5 + + effect = { + custom_tooltip = shadow_magic_tree_2_perk_7_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_8 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 0 4.5 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_6 + + effect = { + custom_tooltip = shadow_form_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_2_perk_9 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_2 + position = { 1.5 5 } + icon = node_intrigue + + parent = shadow_magic_tree_2_perk_7 + parent = shadow_magic_tree_2_perk_8 + + effect = { + custom_tooltip = wc_learn_ritual_ascension + wc_learn_spell_effect = { + SPELL = ascension + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} + +shadow_magic_tree_3_perk_1 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 0.5 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + + if = { + limit = { has_focus = shadow_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = shadow_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_insanity + wc_learn_spell_effect = { + SPELL = insanity + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_2 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 3.5 0 } + icon = node_intrigue + + can_be_auto_selected = { + magic_lifestyle_is_valid_trigger = { MAGIC = shadow } + } + + auto_selection_weight = { + value = wc_shadow_magic_auto_selection_value + + if = { + limit = { has_focus = shadow_magic_focus_3 } + multiply = wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value + } + if = { + limit = { + NOT = { can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { TYPE = shadow_magic TREE = 3 } } + } + multiply = 0 + } + } + + effect = { + custom_tooltip = wc_learn_spell_mania + wc_learn_spell_effect = { + SPELL = mania + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_3 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 2 0.75 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_1 + parent = shadow_magic_tree_3_perk_2 + + effect = { + custom_tooltip = void_shield_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_4 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 0 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_1 + + effect = { + custom_tooltip = shadow_magic_tree_3_perk_4_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_5 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 2 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_3 + + effect = { + custom_tooltip = wc_learn_spell_mind_blast + wc_learn_spell_effect = { + SPELL = mind_blast + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_6 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 4 2.5 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_2 + + effect = { + custom_tooltip = wc_learn_spell_silence + wc_learn_spell_effect = { + SPELL = silence + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_7 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 0.5 4 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_4 + + effect = { + custom_tooltip = shadow_magic_tree_3_perk_7_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_8 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 3.5 4 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_6 + + effect = { + custom_tooltip = wc_learn_spell_shadow_crash + wc_learn_spell_effect = { + SPELL = shadow_crash + } + custom_tooltip = shadow_magic_tree_3_perk_8_tt + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} +shadow_magic_tree_3_perk_9 = { + lifestyle = shadow_magic_lifestyle + tree = shadow_magic_tree_3 + position = { 2 5 } + icon = node_intrigue + + parent = shadow_magic_tree_3_perk_5 + parent = shadow_magic_tree_3_perk_7 + parent = shadow_magic_tree_3_perk_8 + + effect = { + custom_tooltip = wc_learn_ritual_whispers + wc_learn_spell_effect = { + SPELL = whispers + } + # Maintenance + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + } +} \ No newline at end of file diff --git a/common/lifestyles/wc_lifestyles.txt b/common/lifestyles/wc_lifestyles.txt new file mode 100644 index 0000000000..f836626f32 --- /dev/null +++ b/common/lifestyles/wc_lifestyles.txt @@ -0,0 +1,120 @@ + +light_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +shadow_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +disorder_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +order_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +life_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +death_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 75 +} + +elemental_fire_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 100 +} + +elemental_water_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 100 +} + +elemental_air_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 100 +} + +elemental_earth_magic_lifestyle = { + is_highlighted = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + + xp_per_level = 1000 + base_xp_gain = 100 +} \ No newline at end of file diff --git a/common/men_at_arms_types/00_cultural_maa_types.txt b/common/men_at_arms_types/00_cultural_maa_types.txt index 9a7080c2ed..fdf55e3c83 100644 --- a/common/men_at_arms_types/00_cultural_maa_types.txt +++ b/common/men_at_arms_types/00_cultural_maa_types.txt @@ -52,6 +52,10 @@ huscarl = { #Coastal Warriors - Vrykulic Tradition MaA high_maintenance_cost = { gold = cost_108_high_maint_cost } provision_cost = @provisions_cost_infantry_cheap + counters = { + water_elemental = 1 + } + stack = 100 ai_quality = { value = @cultural_maa_extra_ai_score } icon = danish_huskarls @@ -178,6 +182,7 @@ mountaineer = { #Himalayan Settlers - Grummle Tradition MaA counters = { heavy_infantry = 1 massive_infantry = 1 + air_elemental = 1 } winter_bonus = { diff --git a/common/men_at_arms_types/wc_cultural_maa_types.txt b/common/men_at_arms_types/wc_cultural_maa_types.txt index 0934e16d5c..ba7eaa71ca 100644 --- a/common/men_at_arms_types/wc_cultural_maa_types.txt +++ b/common/men_at_arms_types/wc_cultural_maa_types.txt @@ -18,7 +18,7 @@ @provisions_cost_special_bankrupting = 24 @provisions_cost_special_giga = 40 -abomination = { +abomination_maa = { type = massive_infantry damage = 115 @@ -118,7 +118,7 @@ baradian_marine = { icon = marines } -banshee = { +banshee_maa = { type = caster damage = 58 @@ -922,6 +922,7 @@ frost_wyrm = { counters = { heavy_infantry = 1 skirmishers = 1 + fire_elemental = 1 } can_recruit = { @@ -938,7 +939,7 @@ frost_wyrm = { icon = frost_wyrm } -ghoul = { +ghoul_maa = { type = skirmishers damage = 7 diff --git a/common/men_at_arms_types/wc_magic_maa.txt b/common/men_at_arms_types/wc_magic_maa.txt new file mode 100644 index 0000000000..04d48f5f9d --- /dev/null +++ b/common/men_at_arms_types/wc_magic_maa.txt @@ -0,0 +1,208 @@ +@cultural_maa_extra_ai_score = 60 # Equivalent to having 6 extra regiments beyond what the code scoring would indicate (see NEGATIVE_SCORE_PER_EXISTING_REGIMENT) + +fire_elemental = { + type = fire_elemental + icon = fire_elemental + + can_recruit = { + always = no + } + + damage = 100 + toughness = 100 + pursuit = 20 + screen = 30 + siege_value = 0.05 + siege_tier = 0.05 + max = 1 + + terrain_bonus = { + desert = { damage = 20 toughness = 20 pursuit = 20 screen = 40 } + desert_mountains = { damage = 10 } + drylands = { damage = 20 toughness = 20 } + wetlands = { damage = -15 toughness = -15 } + floodplains = { damage = -15 toughness = -15 } + } + + winter_bonus = { + normal_winter = { damage = -10 toughness = -10 } + } + + counters = { + pikemen = 2 + archers = 2 + skirmishers = 2 + } + + stack = 50 + ai_quality = { value = @cultural_maa_extra_ai_score } + max_sub_regiments = 1 + allowed_in_hired_troops = no +} + +fire_terrestrial = { + type = fire_elemental + icon = fire_terrestrial + + can_recruit = { + always = no + } + + damage = 10 + toughness = 16 + pursuit = 10 + screen = 16 + + terrain_bonus = { + plains = { damage = 10 } + drylands = { damage = 10 } + hills = { damage = -5 } + mountains = { damage = -10 pursuit = -10 } + desert_mountains = { damage = -5 pursuit = -10 } + wetlands = { damage = -15 pursuit = -20 screen = -20 } + } + + winter_bonus = { + harsh_winter = { damage = -5 toughness = -2 } + } + + stack = 100 + ai_quality = { value = @cultural_maa_extra_ai_score } + allowed_in_hired_troops = no +} + +fire_tempest = { + type = fire_elemental + icon = fire_tempest + + can_recruit = { + always = no + } + + damage = 8 + toughness = 25 + pursuit = 5 + screen = 13 + + terrain_bonus = { + plains = { damage = 5 } + drylands = { damage = 10 } + hills = { damage = 2 } + mountains = { damage = 2 } + desert_mountains = { damage = 5 pursuit = 2 } + wetlands = { damage = -5 pursuit = -10 screen = -10 } + } + + winter_bonus = { + harsh_winter = { damage = -5 toughness = -2 } + } + + stack = 2 + ai_quality = { value = @cultural_maa_extra_ai_score } + allowed_in_hired_troops = no +} + +water_elemental = { + type = water_elemental + icon = water_elemental + + can_recruit = { + always = no + } + + damage = 100 + toughness = 75 + pursuit = 40 + screen = 20 + siege_value = 0.05 + siege_tier = 0.05 + max = 1 + + terrain_bonus = { + desert = { damage = -15 toughness = -15 pursuit = -15 screen = -10 } + desert_mountains = { damage = -10 } + oasis = { damage = 10 toughness = 10 } + drylands = { damage = -20 toughness = -20 } + wetlands = { damage = 15 toughness = 20 } + floodplains = { damage = 15 toughness = 15 } + } + + winter_bonus = { + normal_winter = { damage = 10 toughness = 10 pursuit = 10 } + harsh_winter = { damage = 12 toughness = 12 pursuit = 12 screen = 12 } + } + + counters = { + camel_rider = 1 + fire_elemental = 1 + } + + stack = 50 + ai_quality = { value = @cultural_maa_extra_ai_score } + max_sub_regiments = 1 + allowed_in_hired_troops = no +} + +air_elemental = { + type = massive_infantry + icon = air_elemental + + can_recruit = { + always = no + } + + damage = 120 + toughness = 90 + pursuit = 40 + screen = 30 + siege_value = 0.03 + + terrain_bonus = { + plains = { damage = 10 } + hills = { damage = 15 toughness = 10 } + oasis = { damage = 5 toughness = 20 screen = 10 } + mountains = { damage = 20 toughness = 10 pursuit = 10 screen = 15 } + } + + winter_bonus = { + mild_winter = { damage = 5 toughness = 15 pursuit = 5 screen = 8 } + normal_winter = { damage = 10 toughness = 20 pursuit = 10 screen = 10 } + harsh_winter = { damage = 15 toughness = 24 pursuit = 9 screen = 8 } + } + + counters = { + massive_aerial = 1 + light_aerial = 3 + archers = 2 + earth_elemental = 1 + } +} + +earth_elemental = { + type = massive_infantry + icon = earth_elemental + + can_recruit = { + always = no + } + + damage = 110 + toughness = 100 + pursuit = 50 + screen = 35 + siege_value = 0.05 + siege_tier = 0.02 + + terrain_bonus = { + desert = { damage = 10 } + forest = { damage = 20 toughness = 15 pursuit = 5 } + jungle = { damage = 10 toughness = 10 } + } + + counters = { + heavy_infantry = 2 + light_calvary = 3 + pikemen = 2 + air_elemental = 1 + } +} \ No newline at end of file diff --git a/common/modifier_definition_formats/00_scheme_definitions.txt b/common/modifier_definition_formats/00_scheme_definitions.txt new file mode 100644 index 0000000000..84c865f019 --- /dev/null +++ b/common/modifier_definition_formats/00_scheme_definitions.txt @@ -0,0 +1,277 @@ +max_abduct_schemes_add = { + decimals = 0 +} + +abduct_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +abduct_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_befriend_schemes_add = { + decimals = 0 +} + +befriend_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +befriend_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_claim_throne_schemes_add = { + decimals = 0 +} + +claim_throne_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +claim_throne_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_convert_to_witchcraft_schemes_add = { + decimals = 0 +} + +convert_to_witchcraft_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +convert_to_witchcraft_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_courting_schemes_add = { + decimals = 0 +} + +courting_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +courting_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_elope_schemes_add = { + decimals = 0 +} + +elope_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +elope_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_fabricate_hook_schemes_add = { + decimals = 0 +} + +fabricate_hook_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +fabricate_hook_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_learn_language_schemes_add = { + decimals = 0 +} + +learn_language_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +learn_language_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_murder_schemes_add = { + decimals = 0 +} + +murder_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +murder_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_seduce_schemes_add = { + decimals = 0 +} + +seduce_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +seduce_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_steal_back_artifact_schemes_add = { + decimals = 0 +} + +steal_back_artifact_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +steal_back_artifact_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +max_sway_schemes_add = { + decimals = 0 +} + +sway_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + decimals = 0 +} + +sway_enemy_scheme_phase_duration_add = { + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + decimals = 0 +} + +scheme_phase_duration_against_friend_add = { + decimals = 0 + # Warcraft + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + # End Warcraft +} + +scheme_phase_duration_against_best_friend_add = { + decimals = 0 + # Warcraft + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + # End Warcraft +} + +scheme_phase_duration_against_rival_add = { + decimals = 0 + # Warcraft + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + # End Warcraft +} + +scheme_phase_duration_against_nemesis_add = { + decimals = 0 + # Warcraft + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + # End Warcraft +} + +scheme_phase_duration_against_lover_add = { + decimals = 0 + # Warcraft + suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_POSITIVE + negative_suffix = MOD_DAYS_PER_SCHEME_PHASE_SUFFIX_NEGATIVE + no_difference_sign = yes + color = bad + # End Warcraft +} diff --git a/common/modifier_definition_formats/wc_unit_definitions.txt b/common/modifier_definition_formats/wc_unit_definitions.txt index d31ad2d2d8..73d54818c4 100644 --- a/common/modifier_definition_formats/wc_unit_definitions.txt +++ b/common/modifier_definition_formats/wc_unit_definitions.txt @@ -76,6 +76,22 @@ massive_infantry_recruitment_cost_mult = { percent = yes } +fire_elemental_damage_add = { + decimals = 0 +} + +fire_elemental_toughness_add = { + decimals = 0 +} + +fire_elemental_pursuit_add = { + decimals = 0 +} + +fire_elemental_screen_add = { + decimals = 0 +} + caster_max_size_add = { decimals = 0 } diff --git a/common/modifiers/wc_event_modifiers.txt b/common/modifiers/wc_event_modifiers.txt index e4bf0271ed..f7b7031188 100644 --- a/common/modifiers/wc_event_modifiers.txt +++ b/common/modifiers/wc_event_modifiers.txt @@ -354,7 +354,6 @@ wc_suramar_ruler_modifier = { monthly_lifestyle_xp_gain_mult = 0.15 prowess = 2 learning = 2 - #TODO_WARCRAFT - mana regen } wc_suramar_vaults_bad_modifier = { @@ -368,8 +367,6 @@ wc_suramar_studying_monsters_modifier = { icon = learning_positive monthly_prestige = 0.5 learning = 2 - - #TODO_WARCRAFT - magical prowess } wc_suramar_beauty_queen_modifier = { @@ -400,7 +397,6 @@ wc_suramar_persecuting_elunists_modifier = { wc_suramar_mana_crystals_modifier = { icon = magic_positive diplomacy = 3 - #TODO_WARCRAFT - max mana } wc_suramar_dark_titan_modifier = { @@ -418,7 +414,6 @@ wc_suramar_good_drink_modifier = { negate_health_penalty_add = 0.25 stress_gain_mult = -0.25 diplomacy = 1 - #mana conductivity } wc_suramar_supporting_arcwinists_modifier = { @@ -449,7 +444,6 @@ wc_suramar_drained_mana_modifier = { monthly_prestige = 0.3 monthly_piety = 0.3 - #TODO_WARCRAFT - mana regen } wc_suramar_faldorei_anger_modifier = { @@ -481,7 +475,6 @@ wc_suramar_blessing_arcandor_modifier = { monthly_prestige = 0.5 health = 0.5 prowess = 1 - #TODO_WARCRAFT - magical prowess } wc_suramar_sacrifice_arcandor_modifier = { @@ -489,5 +482,4 @@ wc_suramar_sacrifice_arcandor_modifier = { monthly_piety = 0.5 learning = 3 - #TODO_WARCRAFT - mana regen, max mana } \ No newline at end of file diff --git a/common/modifiers/wc_lifestyle_modifiers.txt b/common/modifiers/wc_lifestyle_modifiers.txt index 518fe1d1e3..07e27305e7 100644 --- a/common/modifiers/wc_lifestyle_modifiers.txt +++ b/common/modifiers/wc_lifestyle_modifiers.txt @@ -1,9 +1,88 @@ long_lived_lifestyle_xp_slowdown = { icon = learning_negative - monthly_lifestyle_xp_gain_mult = -0.05 + monthly_lifestyle_xp_gain_mult = -0.025 scale = { value = long_lived_lifestyle_xp_slowdown_value desc = long_lived_lifestyle_xp_slowdown_per_stack } +} + +elemental_assisted_smithing = { + icon = military_positive + knight_effectiveness_mult = 0.15 + heavy_cavalry_damage_add = 15 + heavy_infantry_damage_add = 15 + pikemen_damage_add = 15 + # less mana gain each month +} + +fire_magic_improved_smithing = { + icon = military_positive + knight_effectiveness_mult = 0.15 + heavy_cavalry_damage_add = 15 + heavy_infantry_damage_add = 15 + pikemen_damage_add = 15 + stress_gain_mult = 1.2 +} + +forest_fires_province_modifier = { + icon = stewardship_negative + development_decline = -1 + monthly_county_control_decline_add = -1 + tax_mult = -0.1 +} + +devastating_forest_fires_province_modifier = { + icon = stewardship_negative + development_decline = -4 + monthly_county_control_decline_add = -4 + tax_mult = -0.2 +} + +liberated_fire_elementals = { + icon = learning_positive + # fire spells cost a little less mana and take a little shorter to cast + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_lifestyle_xp_gain_average_value + monthly_income_mult = 0.9 + stacking = yes +} + +reined_in_fire_elementals = { + icon = learning_negative + # fire spells cost a little more mana and take a little longer to cast + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = 0.9 + stacking = yes +} + +elemental_assisted_smithing = { + icon = military_positive + knight_effectiveness_mult = 0.15 + heavy_cavalry_damage_add = 15 + heavy_infantry_damage_add = 15 + pikemen_damage_add = 15 + # less mana gain each month +} + +fire_magic_improved_smithing = { + icon = military_positive + knight_effectiveness_mult = 0.15 + heavy_cavalry_damage_add = 15 + heavy_infantry_damage_add = 15 + pikemen_damage_add = 15 + stress_gain_mult = 1.2 +} + +forest_fires_province_modifier = { + icon = stewardship_negative + development_decline = -1 + monthly_county_control_decline_add = -1 + tax_mult = -0.1 +} + +devastating_forest_fires_province_modifier = { + icon = stewardship_negative + development_decline = -4 + monthly_county_control_decline_add = -4 + tax_mult = -0.2 } \ No newline at end of file diff --git a/common/modifiers/wc_magic_modifiers.txt b/common/modifiers/wc_magic_modifiers.txt new file mode 100644 index 0000000000..ad810a17c2 --- /dev/null +++ b/common/modifiers/wc_magic_modifiers.txt @@ -0,0 +1,1115 @@ +wc_prowess_from_available_mana_modifier = { + icon = magic_positive + prowess = 1 + + scale = { + value = wc_current_mana_to_prowess_value + + desc = wc_prowess_from_available_mana_modifier_scale + } +} + +wc_diplo_range_from_mp_modifier = { + icon = magic_positive + diplomatic_range_mult = 0.01 + + scale = { + value = wc_diplo_range_from_mp + + desc = wc_diplo_range_from_mp_modifier_scale + } +} + +wc_summon_fire_elemental_modifier = { + icon = flame_positive + + prowess = 2 + stacking = no +} + +wc_empowered_fire_elemental_modifier = { + icon = flame_positive + + fire_elemental_damage_add = 10 + fire_elemental_toughness_add = 15 + fire_elemental_pursuit_add = 5 + fire_elemental_screen_add = 5 + stacking = no +} + +wc_lava_lash_modifier = { + icon = flame_negative + levy_size = -0.2 + additional_fort_level = -2 + scale = { + value = { + add = wc_elemental_fire_magic_resistance_scale_value + } + desc = wc_from_mr_elemental_fire_desc + } + stacking = yes +} + +wc_animate_rage_modifier = { + icon = flame_positive + prowess = 1 + dread_baseline_add = 1 + owned_hostile_scheme_success_chance_add = 5 + stacking = yes +} + +wc_backdraft_proc_modifier = { + icon = flame_positive + stacking = yes +} + +wc_flame_wall_bad_modifier = { + icon = flame_negative + army_pursuit_mult = -0.3 + scale = { + value = { + add = wc_elemental_fire_magic_resistance_scale_value + } + desc = wc_from_mr_elemental_fire_desc + } +} + +wc_flame_wall_good_modifier = { + icon = flame_positive + army_pursuit_mult = 0.1 +} + +wc_pyromania_modifier = { + icon = flame_positive + stacking = yes + + prowess = 1 +} + +wc_burnout_modifier = { + icon = flame_negative +} + +wc_burnout_good_modifier = { + icon = flame_positive +} + +wc_elemental_fire_minor_protection_modifier = { + icon = flame_positive + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + defender_advantage = 2 + fort_level = 1 + health = 0.1 + +} + +wc_elemental_fire_major_protection_modifier = { + icon = flame_positive + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + defender_advantage = 4 + health = 0.2 + fort_level = 2 +} + +wc_elemental_fire_minor_efficiency_modifier = { + icon = flame_positive + levy_reinforcement_rate = 0.4 + build_speed = -0.2 + development_growth = 0.5 + tax_mult = 0.2 +} + +wc_elemental_fire_major_efficiency_modifier = { + icon = flame_positive + levy_reinforcement_rate = 0.6 + build_speed = -0.3 + development_growth = 0.8 + tax_mult = 0.4 +} + +wc_elemental_fire_major_companionship_modifier = { + icon = flame_positive + fertility = 0.3 + diplomacy = 4 + max_befriend_schemes_add = 1 + befriend_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value + courting_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value +} + +wc_elemental_fire_minor_companionship_modifier = { + icon = flame_positive + fertility = 0.2 + diplomacy = 2 + max_befriend_schemes_add = 1 + befriend_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value + courting_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value +} + +wc_elemental_fire_fear_me_modifier = { + icon = flame_positive + dread_baseline_add = 15 + dread_decay_mult = -0.5 + tyranny_gain_mult = -0.5 + prowess = 5 + hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value + martial = 3 + scale = { + value = { + add = 1 + multiply = var:elemental_fire_cycle_mult + } + desc = wc_from_elemental_communion + } +} + +wc_elemental_fire_love_me_modifier = { + icon = flame_positive + general_opinion = 10 + knight_effectiveness_mult = 0.2 + long_reign_bonus_mult = 0.5 + owned_personal_scheme_success_chance_add = 15 + tax_mult = 0.1 + diplomacy = 3 + + scale = { + value = { + add = 1 + multiply = var:elemental_fire_cycle_mult + } + desc = wc_from_elemental_communion + } +} + +wc_elemental_fire_planar_fire_modifier = { + icon = flame_positive + army_maintenance_mult = -0.2 + monthly_dynasty_prestige_mult = 0.2 + monthly_prestige_gain_mult = 0.2 + monthly_piety_gain_mult = 0.2 + levy_size = 0.3 + advantage = 5 + learning = 1 + martial = 1 + intrigue = 1 + stewardship = 1 + diplomacy = 1 + monthly_lifestyle_xp_gain_mult = 0.1 +} + +wc_hearth_blessing_modifier = { + icon = flame_positive + negate_health_penalty_add = 0.2 + scale = { + value = { + add = 1 + multiply = temple_holding_count_value + } + } +} + +wc_cauterized_wound_modifier = { + icon = flame_positive + prowess = 1 + scale = { + value = { + add = 1 + multiply = wc_cauterize_wound_val + } + } +} + +wc_vernal_solstice_modifier = { + icon = flame_positive + development_growth = 0.1 +} + +wc_vernal_solstice_cooldown_modifier = { + icon = flame_negative +} + +wc_elemental_sacrifice_modifier = { + icon = magic_positive + stacking = yes +} + +wc_fire_magic_blessing_modifier = { + icon = flame_positive + stacking = yes +} + +wc_elemental_fire_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_elemental_air_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_elemental_air_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_elemental_water_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_elemental_water_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_elemental_earth_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_light_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_light_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_death_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_death_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_life_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_life_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_shadow_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_shadow_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_order_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_order_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_disorder_learning_boost_modifier = { + icon = magic_positive + stacking = yes + monthly_disorder_magic_lifestyle_xp_gain_mult = 0.1 +} + +wc_fire_magic_offensive_force_modifier = { + icon = flame_positive + army_pursuit_mult = 0.25 + army_screen_mult = 0.1 + attacker_advantage = 2 +} + +wc_fire_magic_defensive_force_modifier = { + icon = flame_positive + counter_efficiency = 0.15 + army_toughness_mult = 0.1 + defender_advantage = 2 +} + +wc_fire_decay_ritual_feed_modifier = { + icon = flame_positive + dread_baseline_add = 5 + dread_decay_mult = -0.1 + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = 0.2 + prowess = 5 +} + +wc_elemental_fire_planar_fire_decay_win_modifier = { + icon = flame_positive + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = 0.3 + monthly_prestige_gain_mult = 0.2 + monthly_piety_gain_mult = 0.2 + prowess = 3 + general_opinion = 10 + knight_effectiveness_mult = 0.2 + levy_reinforcement_rate = 0.2 +} + +wc_flamestrike_modifier = { + icon = flame_negative + development_growth_factor = -0.1 + stacking = yes +} + +wc_fire_shield_modifier = { + icon = flame_positive +} + +wc_frostfire_bolt_good_modifier = { + icon = magic_positive + + taiga_advantage = 10 + mountains_advantage = 10 + jungle_advantage = 10 + desert_advantage = 10 + drylands_advantage = 10 + desert_mountains_advantage = 10 +} + +wc_frostfire_bolt_bad_modifier = { + icon = magic_negative + + taiga_advantage = -10 + mountains_advantage = -10 + jungle_advantage = -10 + desert_advantage = -10 + drylands_advantage = -10 + desert_mountains_advantage = -10 +} + +wc_frostbolt_modifier = { + icon = ice_negative + + character_travel_speed_mult = -0.1 +} + +wc_frost_nova_modifier = { + icon = ice_negative + + movement_speed = -0.5 + siege_phase_time = 0.5 +} + +wc_frost_armor_modifier = { + icon = ice_positive +} + +wc_blizzard_county_modifier = { + icon = ice_negative +} + +wc_blizzard_character_modifier = { + icon = ice_negative + + character_travel_safety = -20 + movement_speed = -0.2 + epidemic_resistance = -10 +} + +wc_counterspell_modifier = { + icon = magic_positive +} + +wc_scry_modifier = { + icon = magic_positive + + enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + enemy_personal_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value + scheme_discovery_chance_mult = 0.2 + hostile_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value + personal_scheme_phase_duration_add = minor_scheme_phase_duration_bonus_value +} + +wc_empowered_scry_modifier = { + icon = magic_positive + + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + enemy_personal_scheme_phase_duration_add = medium_scheme_phase_duration_malus_value + scheme_discovery_chance_mult = 0.2 + hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value + hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value + personal_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value +} + +wc_haste_modifier = { + icon = magic_positive + + movement_speed = 0.15 + character_travel_speed_mult = 0.15 +} + +wc_slow_modifier = { + icon = magic_negative + + movement_speed = -0.25 + character_travel_speed_mult = -0.25 + scale = { + value = { + add = wc_order_magic_resistance_scale_value + } + desc = wc_from_mr_order_desc + } +} + +wc_conjure_food_modifier = { + icon = magic_positive + + stress_loss_mult = 0.2 + health = 0.5 +} + +wc_conjure_drink_modifier = { + icon = magic_positive +} + +wc_conjure_feast_modifier = { + icon = magic_positive +} + +wc_evocation_province_modifier = { + icon = magic_positive +} + +wc_evocation_character_modifier = { + icon = magic_positive +} + +wc_arcane_dome_county_modifier = { + icon = magic_positive +} + +wc_arcane_dome_character_modifier = { + icon = magic_negative + + hostile_county_attrition = 3.5 + hostile_county_attrition_raiding = 3.5 + supply_capacity_mult = -10 + supply_duration = -10 + advantage = -35 + siege_phase_time = 110 + scale = { + value = { + add = wc_order_magic_resistance_scale_value + } + desc = wc_from_mr_order_desc + } +} + +wc_quickening_modifier = { + icon = magic_positive + stacking = yes +} + +wc_holy_fire_modifier = { + icon = magic_negative + + health = -0.3 + martial = -5 + prowess = -5 + scale = { + value = { + add = wc_light_magic_resistance_scale_value + } + desc = wc_from_mr_light_desc + } + #Decrease light mr +} + +wc_lightwell_modifier = { + icon = magic_positive + + health = 0.1 + martial = 2 + prowess = 2 + #increase light mr +} + +wc_exorcism_modifier = { + icon = magic_negative + stacking = yes + + martial = -3 + prowess = -3 + stewardship = -3 + intrigue = -3 + diplomacy = -3 + learning = -3 + health = -0.3 + scale = { + value = { + add = wc_light_magic_resistance_scale_value + } + desc = wc_from_mr_light_desc + } + # Decrease all MR +} + +wc_salvation_modifier = { + icon = health_positive +} + +wc_saved_with_salvation_modifier = { + icon = health_negative + + health = -0.1 + life_expectancy = -10 + # Decrease all MR +} + +wc_divine_shield_modifier = { + icon = magic_positive + + #Removes chance of being killed in battle + #Block next non-holy spell +} + +wc_consecration_county_positive_modifier = { + icon = magic_positive + + travel_danger = -15 + supply_limit_mult = 0.3 + monthly_county_control_growth_add = 0.6 +} + +wc_consecration_county_negative_modifier = { + icon = magic_negative + + travel_danger = 15 + supply_limit_mult = -0.30 + monthly_county_control_growth_add = -0.8 + + scale = { + value = { + add = wc_light_magic_resistance_scale_value + } + desc = wc_from_mr_light_desc + } +} + +wc_rebuke_modifier = { + icon = magic_negative + #25% cast time +} + +wc_divine_storm_county_modifier = { + icon = magic_negative + + travel_danger = 50 + monthly_county_control_growth_add = -0.2 + epidemic_resistance = -10 + build_speed = 0.3 + levy_size = -0.25 +} + +wc_divine_storm_character_modifier = { + icon = magic_negative + + health = -0.5 + martial = -5 + prowess = -5 + scale = { + value = { + add = wc_light_magic_resistance_scale_value + } + desc = wc_from_mr_light_desc + } +} + +wc_blessed_bastion_modifier = { + icon = magic_positive + + # +1 mana regen + # increase all mr 3 + # 30% holy spells cd +} + +wc_blessed_bastion_county_modifier = { + icon = magic_positive + + travel_danger = -20 + fort_level = 3 + defender_holding_advantage = 10 + epidemic_resistance = 10 + hostile_raid_time = 0.5 +} + +wc_blessed_blood_modifier = { + icon = health_positive + + health = 0.1 + negative_inactive_inheritance_chance = -0.25 + positive_inactive_inheritance_chance = 0.10 +} + +wc_divine_purpose_modifier = { + icon = magic_positive + # Lower chance of being killed in war +} + +wc_echo_of_light_modifier = { + icon = magic_positive +} + +wc_devotion_aura_modifier = { + icon = magic_positive + health = 0.1 + # Increase all mr 3 +} + +wc_retribution_aura_modifier = { + icon = magic_positive + martial = 1 + # when targeted by a hostile spell, or someone dies, get this buff + # 25% holy spells cd + # -15% cast time +} + +wc_concentration_aura_modifier = { + icon = magic_positive + monthly_lifestyle_xp_gain_mult = 0.1 + # +0.5 mana regen +} + +wc_vengeance_aura_modifier = { + icon = magic_positive + prowess = 3 + attacker_advantage = 2 + # give wc_vengeance_aura_modifier_negative to hostile spell targets +} + +wc_vengeance_aura_modifier_negative = { + icon = magic_negative + prowess = -1 + # +10% cast time + # -1 mr +} + +wc_fleshcrafting_modifier = { + icon = death_positive + + diplomacy = 1 + martial = 1 + stewardship = 1 + intrigue = 1 + learning = 1 + prowess = 1 +} + +wc_deaths_advance_modifier = { + icon = death_positive + + prowess = 5 +} + +wc_blood_gorged_modifier = { + icon = death_positive +} + +wc_death_pact_modifier = { + icon = death_positive +} + +wc_mark_of_blood_commander_modifier = { + icon = death_negative + + advantage = -1 + + stacking = yes +} + +wc_mark_of_blood_knight_modifier = { + icon = death_negative + + prowess = -1 + + stacking = yes +} + +wc_death_coil_positive_modifier = { + icon = death_positive + health = 0.2 + prowess = 2 +} + +wc_death_coil_negative_modifier = { + icon = death_negative + health = -0.2 +} + +wc_death_grip_modifier = { + icon = death_negative + movement_speed = -0.75 +} + +wc_death_and_decay_county_modifier = { + icon = health_negative + + development_decline = -3 +} + +wc_death_and_decay_character_modifier = { + icon = death_negative + + hostile_county_attrition = 1 + hostile_county_attrition_raiding = 1 + supply_capacity_mult = -0.75 + supply_duration = -0.75 +} + +wc_cripple_modifier = { + icon = health_negative + + diplomacy = -5 + martial = -5 + stewardship = -5 + intrigue = -5 + learning = -5 + prowess = -5 +} + +wc_strangulate_modifier = { + icon = death_negative +} + +wc_crimson_binding_modifier = { + icon = death_negative +} + +wc_summon_water_elemental_modifier = { + icon = water_positive + + winter_advantage = 2 + coastal_advantage = 2 + naval_movement_speed_mult = 0.25 + no_water_crossing_penalty = yes + + # +5% cast time + # +5% cooldown + # +30% duration +} + +wc_empowered_water_elemental_modifier = { + icon = water_positive + + # Slow down enemy after each battle +} + +wc_empowered_water_elemental_enemy_modifier = { + icon = water_negative + + movement_speed = -0.1 +} + +wc_soothing_waters_modifier = { + icon = water_positive + + health = 0.1 + stress_gain_mult = -0.05 + + stacking = yes +} + +wc_river_spirits_rage_character_modifier = { + icon = water_negative + + character_travel_safety = -25 + character_travel_speed = -10 + health = -0.1 + + stacking = yes +} + +wc_river_spirits_rage_army_modifier = { + icon = water_negative + + movement_speed = -0.25 + naval_movement_speed_mult = -0.5 + coastal_advantage = -2 + embarkation_cost_mult = 0.25 + no_water_crossing_penalty = no +} + +wc_invoke_tsunami_modifier = { + icon = water_negative + + levy_size = -0.2 + additional_fort_level = -2 + development_growth_factor = -0.2 +} + +wc_icefury_modifier = { + icon = water_negative + + levy_reinforcement_rate = -0.2 +} + +wc_ice_structure_spirit_province_modifier = { + icon = water_positive + + # embarkation_cost_mult = -0.5 + # movement_speed = 0.2 + additional_fort_level = 2 + development_growth = 0.2 +} + +wc_ice_structure_decay_province_modifier = { + icon = water_positive + + # embarkation_cost_mult = -0.5 + # movement_speed = 0.2 + additional_fort_level = 2 + # owned_scheme_secrecy_add = -15 +} + +wc_ice_structure_spirit_character_modifier = { + icon = water_positive + + embarkation_cost_mult = -0.5 + movement_speed = 0.2 +} + +wc_ice_structure_decay_character_modifier = { + icon = water_mixed + + embarkation_cost_mult = -0.5 + movement_speed = 0.2 + owned_scheme_secrecy_add = -15 +} + +wc_eternal_winter_modifier = { + icon = ice_negative +} + +wc_eternal_winter_renown_modifier = { + icon = ice_positive + + monthly_dynasty_prestige = 1 + + scale = { + value = eternal_winter_renown_value + } +} + +wc_eternal_winter_gold_modifier = { + icon = ice_positive + + monthly_income = 1 + + scale = { + value = eternal_winter_gold_value + } +} + +wc_aquatic_bounty_coastal_modifier = { + icon = water_positive + + development_growth_factor = 0.25 +} + +wc_aquatic_bounty_riverside_modifier = { + icon = water_positive + + development_growth_factor = 0.25 +} + +wc_sirens_call_modifier = { + icon = water_negative + + naval_movement_speed_mult = -0.15 + enemy_hostile_scheme_phase_duration_add = -10 +} + +wc_lingering_hibernation_modifier = { + icon = water_positive + + negate_health_penalty_add = 1 +} + +wc_cold_storage_modifier = { + icon = ice_positive + + artifact_decay_reduction_mult = -0.1 +} + +wc_cold_storage_winter_modifier = { + icon = ice_positive + + artifact_decay_reduction_mult = -0.2 +} + +wc_void_leader_modifier = { + icon = magic_positive + + prowess = 1 + # +25% cast time +} + +wc_voidborne_modifier = { + icon = magic_mixed + + prowess = 1 + monthly_lifestyle_xp_gain_mult = 0.01 + dread_baseline_add = 2 + owned_hostile_scheme_success_chance_add = 2 + + general_opinion = -1 + diplomacy = -1 + stress_loss_mult = -0.05 + + scale = { + value = wc_spell_voidborne_scaling_value + desc = wc_from_voidborne_target + } +} + +wc_rend_flesh_1_modifier = { + icon = magic_negative + + health = -0.1 + prowess = -1 + intrigue = -1 +} +wc_rend_flesh_2_modifier = { + icon = magic_negative + + health = -0.25 + prowess = -3 + intrigue = -5 + # +15% cast time + # -3 shadow mr +} +wc_rend_flesh_3_modifier = { + icon = magic_negative + + health = -0.5 + prowess = -5 + intrigue = -8 + positive_inactive_inheritance_chance = -0.10 + # +25% cast time + # -5 shadow mr +} +wc_insanity_modifier = { + icon = magic_negative + + stress_gain_mult = 0.25 +} + +wc_mania_modifier = { + icon = magic_positive + + intrigue = 2 + # -15% cast time for shadow spells +} + +wc_silenced_modifier = { + icon = magic_negative + + #cant cast spells +} + +wc_shadow_crashed_modifier = { + icon = magic_negative + + # -15% max mana + # -5 shadow mr +} + +wc_twisted_chains_modifier = { + icon = magic_positive +} + +wc_twisted_chains_dread_modifier = { + icon = magic_positive + + dread_baseline_add = 15 + + scale = { + value = { + add = 1 + multiply = twisted_chains_cast_var_value + } + desc = wc_from_tc_desc + } +} + +wc_ascension_modifier = { + icon = magic_positive + + # +10% max mana + # +25% mana regen +} + +wc_whispers_murder_modifier = { + icon = intrigue_positive + + dread_baseline_add = 15 + owned_hostile_scheme_success_chance_add = 15 +} + +wc_whispers_love_modifier = { + icon = intrigue_positive + + fertility = 0.25 + attraction_opinion = 10 +} + +wc_whispers_tyranny_modifier = { + icon = intrigue_positive + + tyranny_loss_mult = 0.5 + tyranny_gain_mult = -1 + legitimacy_gain_mult = 0.2 +} + +wc_whispers_hurt_modifier = { + icon = martial_positive + + prowess = 4 +} + +wc_whispers_artifact_modifier = { + icon = learning_positive + + learning = 1 + artifact_decay_reduction_mult = -0.1 +} + +wc_whispers_health_modifier = { + icon = health_positive + + health = 1 +} + +wc_communion_yogg_saron_modifier = { + icon = intrigue_positive + + owned_hostile_scheme_success_chance_add = 10 + owned_personal_scheme_success_chance_add = 10 + owned_political_scheme_success_chance_add = 10 + stress_gain_mult = 0.25 +} + +wc_communion_cthun_modifier = { + icon = county_modifier_control_positive + + stress_gain_mult = 0.25 + monthly_county_control_growth_add = 0.3 +} + +wc_communion_nzoth_modifier = { + icon = martial_positive + + martial = 3 + prowess = 3 + intrigue = 3 +} + +wc_communion_ghuun_modifier = { + icon = health_positive + + health = 0.5 +} + +wc_power_word_barrier_modifier = { + icon = health_positive + + negate_health_penalty_add = 0.25 +} + +wc_dispersion_modifier = { + icon = health_negative + + health = -0.15 +} + +wc_necrotic_rule_modifier = { + icon = prestige_positive + + # Dark frenzy gain +25% + # Dark frenzy decay -50% +} \ No newline at end of file diff --git a/common/on_action/army_on_actions.txt b/common/on_action/army_on_actions.txt index 8447af8452..2f14476f9d 100644 --- a/common/on_action/army_on_actions.txt +++ b/common/on_action/army_on_actions.txt @@ -261,6 +261,271 @@ on_army_enter_province = { 100 = bp2_yearly.4030 # Winter province event 1 = epidemic_events.1120 # Corpse catapult event } + effect = { + # Warcraft + # Blizzard Spell + if = { + limit = { + exists = scope:army.location.county + scope:army.location.county = { + has_county_modifier = wc_blizzard_county_modifier + } + } + + scope:army.army_commander = { + apply_character_blizzard_effect = yes + } + + scope:army.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:army + } + apply_character_blizzard_effect = yes + } + } + } + else_if = { + limit = { + exists = scope:army.location.county + OR = { + AND = { + exists = scope:army.army_commander + scope:army.army_commander = { + has_character_modifier = wc_blizzard_character_modifier + } + } + has_character_modifier = wc_blizzard_character_modifier + } + } + + scope:army.army_commander = { + remove_character_modifier = wc_blizzard_character_modifier + } + + scope:army.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:army + } + } + remove_character_modifier = wc_blizzard_character_modifier + } + } + # Evocation Ritual + if = { + limit = { + exists = scope:army.location + scope:army.location = { + has_province_modifier = wc_evocation_province_modifier + } + } + + scope:army.army_commander = { + apply_character_evocation_effect = yes + } + + scope:army.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:army + } + apply_character_evocation_effect = yes + } + } + } + else_if = { + limit = { + exists = scope:army.location + OR = { + AND = { + exists = scope:army.army_commander + scope:army.army_commander = { + has_character_modifier = wc_evocation_character_modifier + } + } + has_character_modifier = wc_evocation_character_modifier + } + } + + scope:army.army_commander = { + remove_character_modifier = wc_evocation_character_modifier + } + + scope:army.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:army + } + } + remove_character_modifier = wc_evocation_character_modifier + } + } + # Arcane Dome + if = { + limit = { + exists = scope:army.location.county + scope:army.location.county = { + has_county_modifier = wc_arcane_dome_county_modifier + } + + NOR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + scope:army.army_commander = { target_is_liege_or_above = scope:army.location.county.holder } + scope:army.army_commander = { target_is_vassal_or_below = scope:army.location.county.holder } + scope:army.army_commander = scope:army.location.county.holder + scope:army.army_owner = { target_is_liege_or_above = scope:army.location.county.holder } + scope:army.army_owner = { target_is_vassal_or_below = scope:army.location.county.holder } + scope:army.army_owner = scope:army.location.county.holder + } + } + + scope:army.army_commander = { + apply_character_arcane_dome_effect = yes + } + } + else_if = { + limit = { + exists = scope:army.location.county + OR = { + AND = { + exists = scope:army.army_commander + scope:army.army_commander = { + has_character_modifier = wc_arcane_dome_character_modifier + } + } + has_character_modifier = wc_arcane_dome_character_modifier + } + } + + scope:army.army_commander = { + remove_character_arcane_dome_effect = yes + } + } + # Death and Decay + if = { + limit = { + exists = scope:army.location.county + scope:army.location.county = { + has_county_modifier = wc_death_and_decay_county_modifier + has_variable = death_and_decay_caster + } + + scope:army.location.county.var:death_and_decay_caster = { + NOR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + scope:army.army_commander = { target_is_liege_or_above = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_commander = { target_is_vassal_or_below = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_commander = scope:army.location.county.var:death_and_decay_caster + scope:army.army_owner = { target_is_liege_or_above = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_owner = { target_is_vassal_or_below = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_owner = scope:army.location.county.var:death_and_decay_caster + } + } + } + + scope:army.army_commander = { + apply_character_death_and_decay_effect = yes + } + } + else_if = { + limit = { + exists = scope:army.location.county + OR = { + AND = { + exists = scope:army.army_commander + scope:army.army_commander = { + has_character_modifier = wc_death_and_decay_character_modifier + } + } + has_character_modifier = wc_death_and_decay_character_modifier + } + } + + scope:army.army_commander = { + remove_character_death_and_decay_effect = yes + } + } + # Ice Structure + if = { + limit = { + exists = scope:army.location + scope:army.location = { + OR = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + } + + scope:army.location = { + switch = { + trigger = has_province_modifier + wc_ice_structure_spirit_province_modifier = { + scope:army.army_commander = { + apply_character_ice_structure_effect = { TYPE = spirit } + add_piety = 1000000 + } + } + + wc_ice_structure_decay_province_modifier = { + scope:army.army_commander = { + apply_character_ice_structure_effect = { TYPE = decay } + add_gold = 1000000 + } + } + } + } + } + else_if = { + limit = { + exists = scope:army.location.county + OR = { + AND = { + exists = scope:army.army_commander + scope:army.army_commander = { + OR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + } + OR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + } + + scope:army.army_commander = { + remove_character_modifier = wc_ice_structure_spirit_character_modifier + remove_character_modifier = wc_ice_structure_decay_character_modifier + } + } + # End Warcraft + } } # Called when a raid action starts diff --git a/common/on_action/character_levels.txt b/common/on_action/character_levels.txt index 255f3ae44d..93a9e47a7e 100644 --- a/common/on_action/character_levels.txt +++ b/common/on_action/character_levels.txt @@ -1,5 +1,7 @@ on_piety_level_gain = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = level_gain } send_interface_toast = { type = msg_character_level_increase title = piety_level_gain.message @@ -85,6 +87,8 @@ on_piety_level_loss = { on_prestige_level_gain = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = level_gain } send_interface_toast = { type = msg_character_level_increase title = prestige_level_gain.message @@ -140,6 +144,8 @@ on_prestige_level_loss = { on_influence_level_gain = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = level_gain } if = { limit = { government_allows = administrative diff --git a/common/on_action/child_birth_on_actions.txt b/common/on_action/child_birth_on_actions.txt index fafc5a14b6..b709ca0447 100644 --- a/common/on_action/child_birth_on_actions.txt +++ b/common/on_action/child_birth_on_actions.txt @@ -184,6 +184,8 @@ on_birth_mother = { } } } + # Warcraft + ascension_checker_effect = { SOURCE = birth } } } @@ -343,6 +345,8 @@ on_birth_father = { } } } + # Warcraft + ascension_checker_effect = { SOURCE = birth } } } @@ -631,7 +635,7 @@ on_birth_child = { add = blood_legacy_4_extra_player_chance any_parent = { is_ai = no } } - add_trait = magic_good_1 + wc_EFFECT_magical_TRAIT_effect = { EFFECT = add_trait TRAIT = magic_good_1 } } } diff --git a/common/on_action/childhood_on_actions.txt b/common/on_action/childhood_on_actions.txt index aa7945220c..86f77a9627 100644 --- a/common/on_action/childhood_on_actions.txt +++ b/common/on_action/childhood_on_actions.txt @@ -3,6 +3,10 @@ is_adult = no number_of_personality_traits < personality_trait_limit } + effect = { + #Warcraft + ascension_checker_effect = { SOURCE = trait_gain } + } random_events = { 100 = child_personality.0001 # craven, lazy or arbitrary 100 = child_personality.0002 # arrogant, compassionate or callous @@ -193,6 +197,8 @@ on_16th_birthday = { } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = age_up } if = { limit = { is_ai = yes diff --git a/common/on_action/court_maintenance_on_actions.txt b/common/on_action/court_maintenance_on_actions.txt index 0ba133ee44..2ce3d8326a 100644 --- a/common/on_action/court_maintenance_on_actions.txt +++ b/common/on_action/court_maintenance_on_actions.txt @@ -4,6 +4,11 @@ # scope:new_employer is their new employer # scope:old_employer is their old employer (if they had one; otherwise unset) on_join_court = { + on_actions = { + delay = { days = 1 } + on_join_court_blizzard # Warcraft + on_join_court_evocation # Warcraft + } events = { court_maintenance.0005 # Add 'Order member' trait to courtiers who join holy order court } diff --git a/common/on_action/culture_on_actions.txt b/common/on_action/culture_on_actions.txt index eb17dd17d6..f69de53c05 100644 --- a/common/on_action/culture_on_actions.txt +++ b/common/on_action/culture_on_actions.txt @@ -29,6 +29,8 @@ on_culture_era_changed = { # Root = character on_character_culture_change = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = culture_change } every_held_title = { update_dynamic_coa = yes } diff --git a/common/on_action/death.txt b/common/on_action/death.txt index 86c426c9ac..1bfe2b2396 100644 --- a/common/on_action/death.txt +++ b/common/on_action/death.txt @@ -329,6 +329,19 @@ on_death = { } + # Warcraft + # if = { + # limit = { + # exists = global_var:mongol_empire_was_broken_up + # exists = global_var:handed_out_mongolia_in_mongol_succession # If Mongolia wasn't properly granted, something has gone wrong, and the primary_heir should receive the Mongol Empire as expected + # any_held_title = { + # this = title:e_mongol_empire + # } + # } + # destroy_title = title:e_mongol_empire + # } + + # Diarchies ## Handle regency loyalties. if = { @@ -1552,6 +1565,8 @@ on_death = { additional_flavor_check_death_effect = yes # Warcraft + wc_spell_death_maintenence_effect = yes + if = { limit = { has_variable = block_union @@ -1574,7 +1589,6 @@ on_death = { remove_block_character_unions_effect = yes } - } events = { death_management.0096 # Updates marriage opinions of other spouses if relevant. diff --git a/common/on_action/game_start.txt b/common/on_action/game_start.txt index 32f50aa7e9..3c2ff51e25 100644 --- a/common/on_action/game_start.txt +++ b/common/on_action/game_start.txt @@ -387,6 +387,13 @@ on_game_start_after_lobby = { else = { union_members_on_game_start_alternate_universe_effect = yes } + # if = { # for access in gui + # limit = { has_game_rule = wc_dangerous_magic_on } + # set_global_variable = { name = dangerous_magic value = yes } + # } + # else = { + # set_global_variable = { name = dangerous_magic value = no } + # } # Warcraft every_living_character = { trigger_on_game_start_effect = yes diff --git a/common/on_action/hook_on_actions.txt b/common/on_action/hook_on_actions.txt index 61e7281f25..ac7c98c243 100644 --- a/common/on_action/hook_on_actions.txt +++ b/common/on_action/hook_on_actions.txt @@ -4,6 +4,7 @@ on_hook_used = { effect = { # Warcraft + ascension_checker_effect = { SOURCE = hook_used } # Struggle Catalysts. #if = { # limit = { diff --git a/common/on_action/lifestyles/general_lifestyle_on_actions.txt b/common/on_action/lifestyles/general_lifestyle_on_actions.txt new file mode 100644 index 0000000000..60b63d6a62 --- /dev/null +++ b/common/on_action/lifestyles/general_lifestyle_on_actions.txt @@ -0,0 +1,16 @@ +# Called from code when a player refunds their perks +# Root is the player +on_perks_refunded = { + effect = { + refund_all_perks = yes + add_stress = refund_perks_stress_impact + add_character_flag = { + flag = has_refunded_perks + } + remove_all_perk_lifestyle_traits_effect = yes + + # Warcraft + wc_remove_all_wc_lifestyle_traits_effect = yes + + } +} diff --git a/common/on_action/lifestyles/wc_lifestyle_on_actions.txt b/common/on_action/lifestyles/wc_lifestyle_on_actions.txt index fad0590ba5..184c100fcf 100644 --- a/common/on_action/lifestyles/wc_lifestyle_on_actions.txt +++ b/common/on_action/lifestyles/wc_lifestyle_on_actions.txt @@ -1,5 +1,7 @@ -on_perk_gained = { +on_vanilla_lifestyle_perk_gained = { effect = { set_long_lived_lifestyle_xp_slowdown_delayed_event_effect = yes + # Warcraft + ascension_checker_effect = { SOURCE = lifestyle } } -} \ No newline at end of file +} diff --git a/common/on_action/marriage_concubinage.txt b/common/on_action/marriage_concubinage.txt new file mode 100644 index 0000000000..f8be6e668a --- /dev/null +++ b/common/on_action/marriage_concubinage.txt @@ -0,0 +1,227 @@ +# Characters getting married +# root = Major partner of the marriage +# scope:spouse = Minor partner of the marriage +on_marriage = { # Will not fire from historical marriages + effect = { + #Warcraft + ascension_checker_effect = { SOURCE = marriage } + add_achievement_flag_effect = { FLAG = achievement_until_death_do_us_part_flag } + marriage_soulmate_exclusivity_confrontation_effect = { SPOUSE_1 = root SPOUSE_2 = scope:spouse } + + vassals_dislike_marry_lowborn_effect = { + SPOUSE = scope:spouse + RULER = root + } + + create_character_memory = { + type = married + participants = { + spouse = scope:spouse + } + } + scope:spouse = { + create_character_memory = { + type = married + participants = { + spouse = root + } + } + } + + # Update opinion effects for the new spouse as well as all other spouses/concubines. + scope:spouse = { + update_active_consort_opinion_effect = { PARTNER = root } + } + every_consort = { + limit = { NOT = { this = scope:spouse } } + update_active_consort_opinion_effect = { PARTNER = root } + } + + #If the mother isn't the "major" party in the marriage we need to trigger 0001 for her + if = { + limit = { + scope:spouse = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = root } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + any_spouse = { this = scope:spouse } + this = root #To make sure it is the new spouse + } + } + } + } + } + } + save_scope_as = spouse_scope + scope:spouse = { + scope:spouse_scope = { + save_scope_as = spouse + } + trigger_event = marriage_effect.0001 + } + } + } + events = { + #If mother marries real_father: + marriage_effect.0001 # For mother (also clears the secret and sets the father) + marriage_effect.1001 # If you marry your lover - root fires it off + delay = { days = { 5 10 }} + marriage_effect.2001 # Monogamous wedding event + ep3_emperor_yearly.2040 # EP3 Byzantine flavor if you are remarrying + } +} + +# Characters get divorced in any way +# root = character initiating the divorce +# scope:spouse = the divorced spouse +# scope:reason = flag:script or flag:faith +on_divorce = { # Will not fire from historical divorces + effect = { + save_scope_as = spouse_2 + scope:spouse = { + trigger_event = marriage_effect.3001 #Flag if you really liked your spouse, to enable suicide + } + send_divorce_notifications_effect = { CHARACTER = root SPOUSE = scope:spouse } + send_divorce_notifications_effect = { CHARACTER = scope:spouse SPOUSE = root } + + # Update opinion effects for the divorced spouse as well as all remaining spouses/concubines. + scope:spouse = { + save_scope_as = is_being_divorced + update_active_consort_opinion_effect = { PARTNER = root } + } + every_consort = { + limit = { NOT = { this = scope:spouse } } + update_active_consort_opinion_effect = { PARTNER = root } + } + } +} + +# Character becomes another's concubine +# root = the concubinist +# scope:concubine = the concubine +on_concubinage = { + effect = { + #Warcraft + ascension_checker_effect = { SOURCE = marriage } + if = { # For if real_father becomes consort of mother (also clears the secret and sets the father) + limit = { + root = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = scope:concubine } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + any_consort = { this = ROOT } + this = scope:concubine #To make sure it is the new partner + } + } + } + } + } + } + scope:concubine = { + save_scope_as = consort + } + root = { + trigger_event = marriage_effect.0011 + } + } + if = { # For if mother becomes concubine of real_father (also clears the secret and sets the father) + limit = { + scope:concubine = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = root } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + any_consort = { this = ROOT } + this = root #To make sure it is the new partner + } + } + } + } + } + } + root = { + save_scope_as = consort + } + scope:concubine = { + trigger_event = marriage_effect.0011 + } + } + + # Update opinion effects for the new spouse as well as all other spouses/concubines. + scope:concubine = { + update_active_consort_opinion_effect = { PARTNER = root } + } + every_consort = { + limit = { NOT = { this = scope:concubine } } + update_active_consort_opinion_effect = { PARTNER = root } + } + } +} + +# Character ceases to be another's concubine +# root = the concubinist +# scope:concubine = the concubine +# scope:reason = flag:death, flag:faith, or flag:script +on_concubinage_end = { + effect = { + scope:concubine = { + save_scope_as = is_being_set_aside + update_active_consort_opinion_effect = { PARTNER = root } + } + every_consort = { + limit = { NOT = { this = scope:concubine } } + update_active_consort_opinion_effect = { PARTNER = root } + } + } +} + + +# root = first person in betrothal +# scope:second = second person in betrothal +# scope:reason = flag:timeout, flag:death, flag:faith, or flag:script +on_betrothal_broken = { + effect = { + if = { + limit = { + scope:reason = flag:timeout + } + trigger_event = marriage_interaction.0003 + } + else = { + send_break_betrothal_notifications_effect = { CHARACTER = root BETROTHED = scope:second } + send_break_betrothal_notifications_effect = { CHARACTER = scope:second BETROTHED = root } + } + } +} diff --git a/common/on_action/prison_on_actions.txt b/common/on_action/prison_on_actions.txt index a58efe0c43..e1b1e71c27 100644 --- a/common/on_action/prison_on_actions.txt +++ b/common/on_action/prison_on_actions.txt @@ -164,6 +164,8 @@ on_imprison = { # imprisoning character set as scope:imprisoner on_release_from_prison = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = prison } # We give you a cool chapter if you escaped from prison lol if = { limit = { diff --git a/common/on_action/religion_on_actions.txt b/common/on_action/religion_on_actions.txt index 2118e081c9..941e687ca9 100644 --- a/common/on_action/religion_on_actions.txt +++ b/common/on_action/religion_on_actions.txt @@ -194,6 +194,8 @@ on_faith_conversion = { } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = faith_change } # EP3 - State Faith if = { limit = { diff --git a/common/on_action/schemes/court_on_actions.txt b/common/on_action/schemes/court_on_actions.txt new file mode 100644 index 0000000000..4aa58b9b03 --- /dev/null +++ b/common/on_action/schemes/court_on_actions.txt @@ -0,0 +1,43 @@ + +########################### +# ONGOING EVENTS +########################### + +court_ongoing = { + trigger = { + exists = scope:scheme + } + random_events = { + #10 = court_ongoing.1000 # Fart incident #TODO_CD_EP3: try to rewrite it, add custom loc or change the tone + 10 = court_ongoing.1010 # A LadyLord's honor (duel/convince) + 40 = court_ongoing.1020 # Fetch a gift (40 because this can lead to 5 different events) + 10 = court_ongoing.1100 # Compliment poem + 10 = court_ongoing.1200 # Extreme request + 15 = court_ongoing.1110 # Competition (15 because of more restrictive triggers) + 10 = court_ongoing.1120 # Boring party guest + 10 = bp2_yearly.8080 # Send your ward in to sing your praises + + #Apply scheme modifiers from saved variables + 1000 = personal_scheme_ongoing.1000 #Apply exotic wares modifier you procured while on a pilgrimage + } +} + + + +#################################################################### +# OUTCOME ON ACTIONS +#################################################################### + +court_outcome = { + random_events = { + 10 = court_outcome.1000 # You save target from a wolf + 10 = court_outcome.1100 # You save target from an intruder + } + # Warcraft + effect = { + scope:owner = { + ascension_checker_effect = { SOURCE = scheme } + } + } +} + diff --git a/common/on_action/schemes/learn_language_on_actions.txt b/common/on_action/schemes/learn_language_on_actions.txt new file mode 100644 index 0000000000..b80b1fe6d6 --- /dev/null +++ b/common/on_action/schemes/learn_language_on_actions.txt @@ -0,0 +1,46 @@ +learn_language_success = { + random_events = { + 100 = learn_language_outcome.1000 + } + # Warcraft + effect = { + scope:owner = { + ascension_checker_effect = { SOURCE = scheme } + } + } +} + +learn_language_failure = { + random_events = { + 100 = learn_language_outcome.2000 + } +} + + +learn_language_ongoing = { + trigger = { + is_playable_character = yes + is_physically_able = yes + } + random_events = { + 500 = 0 + 2 = learn_language_ongoing.1000 # Young character picks up the language *really* fast + 2 = learn_language_ongoing.1010 # Someone becomes infatuated with you when you speak the 'unbelievably romantic' foreign language + 2 = learn_language_ongoing.1020 # Someone in your vicinity that speaks the language offers to help you learn it + 2 = learn_language_ongoing.1030 # Someone offers you a trinket-slot book on learning languages + 2 = learn_language_ongoing.1040 # Earn the admiration of the one you're targeting + 2 = learn_language_ongoing.1050 # Your rival has sabotaged your notes! Lose progress. + 2 = learn_language_ongoing.1060 # Offend someone who doesn't speak your language + 2 = learn_language_ongoing.1070 # The target 'helps' you by sending you a lewd book + 6 = learn_language_ongoing.1080 # Your Court Tutor helps you along + 2 = learn_language_ongoing.1090 # Learning a language is hard + 2 = learn_language_ongoing.1100 # News of your efforts are spreading, gain cultural acceptance + 2 = learn_language_ongoing.1110 # Become a Poet? + 2 = learn_language_ongoing.1120 # Lose prestige for reading children's fables + 4 = learn_language_ongoing.1130 # Attracted Spouse/Lover help you out + 4 = learn_language_ongoing.1140 # Friend/family member/non-attracted spouse helps you out + 2 = learn_language_ongoing.1200 # Your dog ate your homework! + 100 = learn_language_ongoing.1300 # You pick up some language tips while traveling + } +} + diff --git a/common/on_action/schemes/murder_on_actions.txt b/common/on_action/schemes/murder_on_actions.txt new file mode 100644 index 0000000000..a257e807ba --- /dev/null +++ b/common/on_action/schemes/murder_on_actions.txt @@ -0,0 +1,374 @@ +murder_ongoing = { + # Events that can happen while planning to murder someone. + trigger = { + exists = scope:scheme + } + effect = { + trigger_event = murder_ongoing.3302 + } + + random_events = { + chance_to_happen = 10 + 200 = 0 + ################ + ## Generic Intrigue Scheme events# + ################ + ##Agents: + 200 = intrigue_scheme_ongoing.1001 # Pay gold for Scheme Progress + 100 = intrigue_scheme_ongoing.1002 # Zealous agent promotes your agenda + 100 = intrigue_scheme_ongoing.1004 # A Gregarious agent is a little too loose-lipped + 100 = intrigue_scheme_ongoing.1006 # A Lazy agent is a little careless + 30 = intrigue_scheme_ongoing.1007 # Caring agent wants you to stop + 50 = intrigue_scheme_ongoing.1008 # Agent close to being discovered + 50 = intrigue_scheme_ongoing.1009 # Close relation is willing to join your scheme after all + 50 = intrigue_scheme_ongoing.2003 # Discover a secret about someone else than your target + 50 = murder_ongoing.3010 # Drunkard Agent + 100 = intrigue_scheme_ongoing.5019 # Find old architectural papers + 100 = intrigue_scheme_ongoing.5026 # Court chaplain is in on it + + ##Target: + 100 = intrigue_scheme_ongoing.2001 # Trusting target + 100 = intrigue_scheme_ongoing.2002 # Drunkard target + ##Owner: + 50 = intrigue_scheme_ongoing.3001 # Being Just Causes Stress + 50 = intrigue_scheme_ongoing.3002 # Being Compassionate Causes Pain + ##Child target: + 200 = intrigue_scheme_ongoing.4001 # Agent is put in charge of a group of children + 200 = intrigue_scheme_ongoing.4002 # Child is gullible + 150 = intrigue_scheme_ongoing.4003 # Agent has second thoughts + ##Other + 100 = intrigue_scheme_ongoing.5001 # Distract guards with itching powder + 100 = intrigue_scheme_ongoing.5002 # Convince mystic to give target omen + 100 = intrigue_scheme_ongoing.5005 # Gift them poisonous gold + 100 = intrigue_scheme_ongoing.5009 # "Friend of Animals" gets some help + 10 = intrigue_scheme_ongoing.5011 # You mess up with venomous animals + 50 = intrigue_scheme_ongoing.5014 # You buy them a plush and exotic carpet + 100 = intrigue_scheme_ongoing.5016 # Lower their courtiers opinion of them + 50 = intrigue_scheme_ongoing.5017 # Lower their spouse's opinion of them + 100 = intrigue_scheme_ongoing.5018 # Target at war - send camp followers to them + 100 = intrigue_scheme_ongoing.5024 # Encourage local celebration + 50 = murder_ongoing.3301 # Lose your knife + 100 = intrigue_scheme_ongoing.3005 # Messenger pigeon + 100 = intrigue_scheme_ongoing.3003 # Mapping the local surroundings + + 100 = intrigue_scheme_ongoing.3010 # Translate letters yourself + 100 = intrigue_scheme_ongoing.3011 # Complex language code + + ############# + # Generic Agent events + ############# + + 2000 = agent_events.9801 # Wrapper event for general agent events on_action. + + ############# + # Lifestyle events + ############# + 100 = intrigue_scheme_lifestyle.1001 # Opportunity for a general to set up a soldier spy ring + 50 = intrigue_scheme_lifestyle.1002 # Your soldier spy ring has been compromised! + 100 = intrigue_scheme_lifestyle.3001 # Study the targets habits + 100 = intrigue_scheme_lifestyle.3101 # Convert informants in target´s court + 50 = intrigue_scheme_lifestyle.3102 # Informants are revealed! + 100 = intrigue_scheme_lifestyle.3201 # Intercept communication + 100 = intrigue_scheme_lifestyle.3301 # Possible to gain hook - ends the scheme + 100 = intrigue_scheme_lifestyle.3401 # Convince courtier at target's court to inform on them + + ####Unique Assassination Ongoing Events##### + 100 = assassination_ongoing.0001 #Secret symphatizer! + 100 = assassination_ongoing.0002 #Recruiting fanatics + 100 = assassination_ongoing.0003 #Bribing courtiers + 100 = assassination_ongoing.0004 #Your master assassin fears death + 100 = assassination_ongoing.0005 #Making a poisoned blade + 100 = assassination_ongoing.0006 #A junior assassin faltered + 250 = assassination_ongoing.0007 #target is a paragon, assassin has doubts - least likely to trigger, so likelihood set to high + } +} + +################################################## +# Schemes 2.5 Reworked Murder On_Actions + +# This determines which type of murder we want to go with, as well as sorts general murder effects. +murder_success_pre_filter_on_action = { + effect = { + scope:owner = { + #Warcraft + ascension_checker_effect = { SOURCE = scheme } + # Right, which murder list do we want? + ## Incapable murders: for hitting bedridden characters. + if = { + limit = { + scope:target = { is_incapable = yes } + } + trigger_event = { on_action = murder_success_incapable_event_list_on_action } + } + ## Imprisoned murders: for anyone who is in house arrest or the dungeons. + else_if = { + limit = { + scope:target = { is_imprisoned = yes } + } + trigger_event = { on_action = murder_success_imprisoned_event_list_on_action } + } + ## Child murders: for free, child characters capable of independent movement. + else_if = { + limit = { + scope:target = { is_adult = no } + } + trigger_event = { on_action = murder_success_child_event_list_on_action } + } + ## Standard murders: for free, adult characters capable of independent movement. + else = { + trigger_event = { on_action = murder_success_standard_event_list_on_action } + } + # Plus we always want music. + play_music_cue = "mx_cue_murder" + # Achievements. + every_scheme = { + limit = { scheme_type = murder } + # The Things We Do For Love. + if = { + limit = { + scheme_target_character ?= { + any_spouse = { + any_relation = { + type = lover + this = scope:owner + } + } + } + } + scope:owner = { + add_achievement_flag_effect = { FLAG = achievement_the_things_we_do_for_love_flag } + } + } + # An Unfortunate Accident. + if = { + limit = { + scheme_target_character = { + save_temporary_scope_as = murder_target + scope:owner = { is_heir_of = scope:murder_target } + } + } + scope:owner = { + add_achievement_flag_effect = { FLAG = achievement_an_unfortunate_accident_flag } + } + } + # Death Did Us Part. + if = { + limit = { + scheme_target_character = { + any_spouse = { this = scope:owner } + } + } + scope:owner = { + add_achievement_flag_effect = { FLAG = achievement_death_did_us_part_flag } + } + } + # Royal Flush. + if = { + limit = { + exists = scheme_target_character + scope:owner = { + is_ai = no + faith = { has_doctrine = tenet_fp3_fedayeen } + } + } + if = { + limit = { + scope:target = { highest_held_title_tier = tier_empire } + } + scope:owner = { add_character_flag = fp3_assassinated_tier3 } + } + else_if = { + limit = { + scope:target = { highest_held_title_tier = tier_kingdom } + } + scope:owner = { add_character_flag = fp3_assassinated_tier2 } + } + else_if = { + limit = { + scope:target = { is_lowborn = yes } + } + scope:owner = { add_character_flag = fp3_assassinated_tier1 } + } + } + } + # BP2: If you did a murder based on your imaginary friend, fire the follow-up event + if = { + limit = { var:imaginary_friend_murder_target ?= scope:scheme.scheme_target_character } + # if you have murdered a sufficient amount, we fire a special ending + if = { + limit = { + has_variable = imaginary_friend_murder_count + var:imaginary_friend_murder_count >= 4 + } + trigger_event = { + id = bp2_yearly.2025 + days = 1 + } + } + else = { + trigger_event = { + id = bp2_yearly.2022 + days = 1 + } + } + } + # Aaaaand this is quite memorable. + create_character_memory = { + type = successful_murder + participants = { + victim = scope:scheme.scheme_target_character + } + } + } + } +} + +# Incapable murders: for hitting bedridden characters. +murder_success_incapable_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.8001 #Strangling incapable + } +} +# Imprisoned murders: for anyone who is in house arrest or the dungeons. +murder_success_imprisoned_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.7001 #Beat to death in prison + 100 = murder_outcome_reworked.7011 #Unwelcome guest during House Arrest + } +} +# Child murders: for free, child characters capable of independent movement. +murder_success_child_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.4001 #Leave a child in the forest + 100 = murder_outcome_reworked.4011 #Stab infant + 100 = murder_outcome_reworked.4021 #Creepy crawly bites infant + 100 = murder_outcome_reworked.4031 #Poisoned candy + 100 = murder_outcome_reworked.4041 #Child pushed to death + } +} +# Standard murders: for free, adult characters capable of independent movement. +murder_success_standard_event_list_on_action = { + random_events = { + # Old events. + 300 = murder_outcome_reworked.0001 #Assassin + 100 = murder_outcome_reworked.0011 #Hired thugs + 100 = murder_outcome_reworked.0021 #Poison food + 100 = murder_outcome_reworked.0031 #Creepy-crawlies + 100 = murder_outcome_reworked.0041 #A riled-up mob + 100 = murder_outcome_reworked.0051 #Immurement + 100 = murder_outcome_reworked.0061 #Sink a boat they're on + 100 = murder_outcome_reworked.0071 #Poison drink + } +} + +# This determines which type of murder we want to go with. +murder_failure_pre_filter_on_action = { + effect = { + scope:owner = { + # Right, which murder list do we want? + ## Incapable murders: for hitting bedridden characters. + if = { + limit = { + scope:target = { is_incapable = yes } + } + trigger_event = { on_action = murder_failure_incapable_event_list_on_action } + } + ## Imprisoned murders: for anyone who is in house arrest or the dungeons. + else_if = { + limit = { + scope:target = { is_imprisoned = yes } + } + trigger_event = { on_action = murder_failure_imprisoned_event_list_on_action } + } + ## Child murders: for free, child characters capable of independent movement. + else_if = { + limit = { + scope:target = { is_adult = no } + } + trigger_event = { on_action = murder_failure_child_event_list_on_action } + } + ## Standard murders: for free, adult characters capable of independent movement. + else = { + trigger_event = { on_action = murder_failure_standard_event_list_on_action } + } + } + } +} + +# Incapable murders: for hitting bedridden characters. +murder_failure_incapable_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.8003 # Strangling incapable + } +} +# Imprisoned murders: for anyone who is in house arrest or the dungeons. +murder_failure_imprisoned_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.7003 # Beat to death in prison + 100 = murder_outcome_reworked.7013 # Unwelcome guest during House Arrest + } +} +# Child murders: for free, child characters capable of independent movement. +murder_failure_child_event_list_on_action = { + random_events = { + # Old events. + 100 = murder_outcome_reworked.4003 # Lured child into forest + 100 = murder_outcome_reworked.4013 # Stab infant + 100 = murder_outcome_reworked.4023 # Creepy crawly bites infant + 100 = murder_outcome_reworked.4033 # Poisoned candy + 100 = murder_outcome_reworked.4043 # Child pushed to death + } +} +# Standard murders: for free, adult characters capable of independent movement. +murder_failure_standard_event_list_on_action = { + random_events = { + # Old events. + 300 = murder_outcome_reworked.0003 # Hired assassin + 100 = murder_outcome_reworked.0013 # Hired thugs + 100 = murder_outcome_reworked.0023 # Used poison + 100 = murder_outcome_reworked.0033 # Creepy-crawlies + 100 = murder_outcome_reworked.0043 # A riled-up mob + 100 = murder_outcome_reworked.0053 # Immurement + 100 = murder_outcome_reworked.0063 # Sink a boat they're on + 100 = murder_outcome_reworked.0073 # Poison drink + } +} + +# Intercept methods that are generally used up during the event and cannot be immediately replaced. +pick_unique_murder_intercept_on_action = { + # Old events. + ## We roll these elsewhere, so the order doesn't matter. + first_valid = { + murder_save.0001 # Lover saves you from an assassin + murder_save.0002 # Lover saves you from a creepy crawly + murder_save.0003 # Mindbreak character saves you from an assassin + murder_save.0004 # Warhorse saves you from a band of thugs + murder_save.0005 # Your Prison Pet saves you in prison + murder_save.0007 # Your cat saves you! + murder_save.0008 # Your dog saves you! + murder_save.0009 # Dynasty Perk: Family Connections + murder_save.0011 # Saved from poisoned food by cat + murder_save.0012 # Saved from poisoned food by dog + murder_save.0014 # Saved from assassin by language skills + murder_save.0015 # Saved by timely artifact + } +} + +# Intercept methods that are either not used up during their event or can be easily replaced (like bodyguards). +pick_repeatable_murder_intercept_on_action = { + random_events = { + # Old events. + 300 = murder_save.0010 # A Varangian saves them + 100 = murder_save.0006 # Their personal guard protects them from a band of thugs + 100 = court_position.9001 # Saved from poisoned food by food taster + 50 = court_position.9011 # Saved from poison by cup-bearer + 5 = murder_save.0013 # Saved from poisoned food by gluttonous trait + 100 = court_position.9021 # A Bodyguard saves you from an assassin + 600 = fp1_shieldmaiden.0021 # A Shieldmaiden saves them + } +} diff --git a/common/on_action/schemes/seduce_on_actions.txt b/common/on_action/schemes/seduce_on_actions.txt index dd8f2e91e0..bb63a52125 100644 --- a/common/on_action/schemes/seduce_on_actions.txt +++ b/common/on_action/schemes/seduce_on_actions.txt @@ -72,6 +72,8 @@ seduce_success = { } fallback = seduce_generic_success effect = { + # Warcraft + ascension_checker_effect = { SOURCE = scheme } root = { add_achievement_variable_effect = { VARIABLE = achievement_seductive_variable diff --git a/common/on_action/schemes/sway_on_actions.txt b/common/on_action/schemes/sway_on_actions.txt index 3e68c3986c..18f622bc5a 100644 --- a/common/on_action/schemes/sway_on_actions.txt +++ b/common/on_action/schemes/sway_on_actions.txt @@ -6,6 +6,12 @@ 2 = sway_outcome.1003 #They're warming up to me, can I take it further? #50 = sway_outcome.1004 #Only triggered from the Persian Struggle } + # Warcraft + effect = { + scope:owner = { + ascension_checker_effect = { SOURCE = scheme } + } + } } sway_failure = { diff --git a/common/on_action/story_cycles/wc_story_cycle_magic_on_actions.txt b/common/on_action/story_cycles/wc_story_cycle_magic_on_actions.txt new file mode 100644 index 0000000000..3436edfce9 --- /dev/null +++ b/common/on_action/story_cycles/wc_story_cycle_magic_on_actions.txt @@ -0,0 +1,11 @@ +ongoing_whispers_void_events = { + random_events = { + 100 = wc_magic_spell_events.2600 # The old gods tell you to kill a loved one + 100 = wc_magic_spell_events.2610 # The Old Gods send a seductress + 100 = wc_magic_spell_events.2620 # The old gods cause you to banish a courtier + 100 = wc_magic_spell_events.2630 # The old gods cause you to lash out on a friend or lover + 100 = wc_magic_spell_events.2640 # The old gods make you destroy an artifact + 100 = wc_magic_spell_events.2650 # The old gods make you give away valuables + 100 = wc_magic_spell_events.2660 # The whispers cause the owner to become sick + } +} \ No newline at end of file diff --git a/common/on_action/stress_on_actions.txt b/common/on_action/stress_on_actions.txt index 114e0ae368..47031cd7f5 100644 --- a/common/on_action/stress_on_actions.txt +++ b/common/on_action/stress_on_actions.txt @@ -28,6 +28,8 @@ on_stress_level_1 = { stress_threshold.0002 # Prison Mental Break } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = stress } add_achievement_flag_effect = { FLAG = achievement_stressful_situation_flag } play_music_cue = "mx_cue_stress" } @@ -47,6 +49,8 @@ on_stress_level_2 = { stress_threshold.0002 # Prison Mental Break } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = stress } add_achievement_flag_effect = { FLAG = achievement_stressful_situation_flag } } } @@ -65,6 +69,8 @@ on_stress_level_3 = { stress_threshold.0002 # Prison Mental Break } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = stress } add_achievement_flag_effect = { FLAG = achievement_stressful_situation_flag } } } @@ -79,7 +85,10 @@ on_stress_level_4 = { events = { stress_threshold.0400 # Trigger the 400 stress 'reset'. This event will also trigger its own mental breaks. } + effect = { + # Warcraft + ascension_checker_effect = { SOURCE = stress } add_achievement_flag_effect = { FLAG = achievement_stressful_situation_flag } } } diff --git a/common/on_action/title_on_actions.txt b/common/on_action/title_on_actions.txt index 084fdd586d..65fe2c5c03 100644 --- a/common/on_action/title_on_actions.txt +++ b/common/on_action/title_on_actions.txt @@ -49,6 +49,8 @@ on_title_destroyed = { target = scope:landed_title } } + # Warcraft + wc_spell_title_destruction_effect = yes #Notify folks the latin empire has fallen # if = { # limit = { scope:landed_title = title:e_latin_empire } @@ -100,6 +102,8 @@ on_title_destroyed = { # scope:previous_holder = previous holder. Might be dead on_title_gain = { effect = { + # Warcraft + ascension_checker_effect = { SOURCE = title_gain } # EP3 ADVENTURERS BECOMING LANDED if = { limit = { diff --git a/common/on_action/travel_on_actions.txt b/common/on_action/travel_on_actions.txt index 00634cf06a..a87c98f4b1 100644 --- a/common/on_action/travel_on_actions.txt +++ b/common/on_action/travel_on_actions.txt @@ -1,10 +1,7 @@ # Arrival in any province during travel on_travel_plan_movement = { # It should be more likely to fire a danger event if it's valid for the given province - trigger = { - is_playable_character = yes - is_adult = yes - } + # Warcraft - Move trigger on_actions = { travel_event_tombola @@ -20,160 +17,164 @@ on_travel_plan_movement = { # Used for loc in the travel completion event # Variable cleanup in the completion event (travel_completion_event.1000) effect = { - # Increase xp for traveler trait - traveler_progress_point_gain_effect = { CHANGE = 1 RANDOM_CHANGE = 1 } - # Increment the count of how many provinces the character has passed through - # Used for loc in the travel completion event - # Variable cleanup in the completion event (travel_completion_event.1000) - current_travel_plan = { - if = { - limit = { exists = var:travel_plan_provinces_traversed } - change_variable = { - name = travel_plan_provinces_traversed - add = 1 - } + # Warcraft - Move trigger here + if = { + limit = { + is_playable_character = yes + is_adult = yes + } + # End Warcraft + # Increase xp for traveler trait + traveler_progress_point_gain_effect = { CHANGE = 1 RANDOM_CHANGE = 1 } + # Increment the count of how many provinces the character has passed through + # Used for loc in the travel completion event + # Variable cleanup in the completion event (travel_completion_event.1000) + current_travel_plan = { if = { - limit = { - var:travel_plan_provinces_traversed > 50 - exists = root.var:travel_plan_start_date + limit = { exists = var:travel_plan_provinces_traversed } + change_variable = { + name = travel_plan_provinces_traversed + add = 1 + } + if = { + limit = { + var:travel_plan_provinces_traversed > 50 + exists = root.var:travel_plan_start_date + root = { + NOT = { has_trait = lifestyle_traveler } + } + } root = { - NOT = { has_trait = lifestyle_traveler } + trigger_event = travel_events.0050 } } - root = { - trigger_event = travel_events.0050 - } } } - } - #Track encountered cultures for worldly pilgrimage rewards - if = { - limit = { - involved_activity ?= { - has_activity_type = activity_pilgrimage - has_activity_option = { - category = special_type - option = pilgrimage_type_worldly + #Track encountered cultures for worldly pilgrimage rewards + if = { + limit = { + involved_activity ?= { + has_activity_type = activity_pilgrimage + has_activity_option = { + category = special_type + option = pilgrimage_type_worldly + } } + is_on_a_pilgrimage_trigger = yes } - is_on_a_pilgrimage_trigger = yes + pilgrimages_track_encountered_cultures_effect = yes } - pilgrimages_track_encountered_cultures_effect = yes - } - # We change your Legend if you travel through somewhere relevant - if = { - limit = { - current_travel_plan.current_location = { - has_any_point_of_interest_flag = yes - } - has_legend_chapter_trigger = { CHAPTER = conclusion } - NOT = { - promoted_legend ?= { - has_legend_chapter = { - name = conclusion - localization_key = legend_chapter_conclusion_point_of_interest + # We change your Legend if you travel through somewhere relevant + if = { + limit = { + current_travel_plan.current_location = { + has_any_point_of_interest_flag = yes + } + has_legend_chapter_trigger = { CHAPTER = conclusion } + NOT = { + promoted_legend ?= { + has_legend_chapter = { + name = conclusion + localization_key = legend_chapter_conclusion_point_of_interest + } } } } - } - current_travel_plan.current_location.county = { save_scope_as = county } - random = { - chance = 50 - send_interface_toast = { - title = legend_chapter_change_toast - left_icon = root - right_icon = scope:county - promoted_legend = { - set_legend_chapter = { - name = conclusion - localization_key = legend_chapter_conclusion_point_of_interest + current_travel_plan.current_location.county = { save_scope_as = county } + random = { + chance = 50 + send_interface_toast = { + title = legend_chapter_change_toast + left_icon = root + right_icon = scope:county + promoted_legend = { + set_legend_chapter = { + name = conclusion + localization_key = legend_chapter_conclusion_point_of_interest + } } } } } - } - # Visited Points of Interest tracker, currently only for Adventurers - points_of_interest_tracker_effect = yes - - # If you have the cultural ambassador travel option, we create a list of all the cultures you visit along your travel path and give out a slight bump at the end of your travel to cultural acceptance between your culture and their cultures - current_travel_plan = { - # Create a list of all the cultures you visit so we can consistently check if we should add a new one. Never want to apply the cultural acceptance bonus twice - if = { - limit = { - has_travel_option = cultural_ambassador_option - exists = var:cultural_ambassador_scope - current_location = { is_sea_province = no } - } + # If you have the cultural ambassador travel option, we create a list of all the cultures you visit along your travel path and give out a slight bump at the end of your travel to cultural acceptance between your culture and their cultures + current_travel_plan = { + # Create a list of all the cultures you visit so we can consistently check if we should add a new one. Never want to apply the cultural acceptance bonus twice if = { limit = { - NOR = { - has_variable_list = cultural_ambassador_culture_list - current_location.culture = root.culture - current_location = { is_sea_province = yes } - } - } - add_to_variable_list = { - name = cultural_ambassador_culture_list - target = current_location.culture + has_travel_option = cultural_ambassador_option + exists = var:cultural_ambassador_scope + current_location = { is_sea_province = no } } - } - else_if = { - limit = { - NOR = { - is_target_in_variable_list = { - name = cultural_ambassador_culture_list - target = current_location.culture + if = { + limit = { + NOR = { + has_variable_list = cultural_ambassador_culture_list + current_location.culture = root.culture + current_location = { is_sea_province = yes } } - current_location.culture = root.culture + } + add_to_variable_list = { + name = cultural_ambassador_culture_list + target = current_location.culture } } - add_to_variable_list = { - name = cultural_ambassador_culture_list - target = current_location.culture - } - current_location = { - culture = { save_scope_as = current_culture } - } - var:cultural_ambassador_scope = { save_scope_as = cultural_ambassador } - root = { - send_interface_toast = { - type = event_toast_effect_good - title = cultural_ambassador_toast.t - left_icon = scope:cultural_ambassador - scope:current_culture = { - change_cultural_acceptance = { - target = root.culture - value = miniscule_cultural_acceptance_gain - desc = cultural_ambassador_cultural_acceptance_gain_desc + else_if = { + limit = { + NOR = { + is_target_in_variable_list = { + name = cultural_ambassador_culture_list + target = current_location.culture + } + current_location.culture = root.culture + } + } + add_to_variable_list = { + name = cultural_ambassador_culture_list + target = current_location.culture + } + current_location = { + culture = { save_scope_as = current_culture } + } + var:cultural_ambassador_scope = { save_scope_as = cultural_ambassador } + root = { + send_interface_toast = { + title = cultural_ambassador_toast.t + left_icon = scope:cultural_ambassador + scope:current_culture = { + change_cultural_acceptance = { + target = root.culture + value = miniscule_cultural_acceptance_gain + desc = cultural_ambassador_cultural_acceptance_gain_desc + } } } } } } } - } - # Achievements. - if = { - limit = { is_ai = no } - ep2_im_in_my_elements_terrain_grabber_effect = yes - } - if = { - limit = { - is_hostage_warden = yes - any_warden_hostage = { - exists = location - exists = home_court.location - exists = root.location - location = home_court.location - location = root.location - } + # Achievements. + if = { + limit = { is_ai = no } + ep2_im_in_my_elements_terrain_grabber_effect = yes } - trigger_event = { - id = bp2_yearly.6120 - days = 2 + if = { + limit = { + is_hostage_warden = yes + any_warden_hostage = { + exists = location + exists = home_court.location + exists = root.location + location = home_court.location + location = root.location + } + } + trigger_event = { + id = bp2_yearly.6120 + days = 2 + } } } - #trigger contract completion event, if you have a contract with this location as contract destination + if = { limit = { is_landless_adventurer = yes @@ -220,6 +221,80 @@ on_travel_plan_movement = { } } } + + # Warcraft + # Blizzard Spell + if = { + limit = { + exists = current_travel_plan.current_location.county + current_travel_plan.current_location.county = { + has_county_modifier = wc_blizzard_county_modifier + } + } + + apply_character_blizzard_effect = yes + } + else_if = { + limit = { + exists = current_travel_plan.current_location.county + has_character_modifier = wc_blizzard_character_modifier + } + remove_character_modifier = wc_blizzard_character_modifier + } + # Evocation Ritual + if = { + limit = { + exists = current_travel_plan.current_location + current_travel_plan.current_location = { + has_province_modifier = wc_evocation_province_modifier + } + } + + apply_character_evocation_effect = yes + } + else_if = { + limit = { + exists = current_travel_plan.current_location.county + has_character_modifier = wc_evocation_character_modifier + } + remove_character_modifier = wc_evocation_character_modifier + } + # Ice Structure + if = { + limit = { + exists = current_travel_plan.current_location + current_travel_plan.current_location = { + OR = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + } + + current_travel_plan.current_location = { + switch = { + trigger = has_province_modifier + wc_ice_structure_spirit_province_modifier = { + apply_character_ice_structure_effect = { TYPE = spirit } + } + + wc_ice_structure_decay_province_modifier = { + apply_character_ice_structure_effect = { TYPE = decay } + } + } + } + } + else_if = { + limit = { + exists = current_travel_plan.current_location.county + OR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + remove_character_modifier = wc_ice_structure_spirit_character_modifier + remove_character_modifier = wc_ice_structure_decay_character_modifier + } #Surveyor MAA Mustering surveyor_perk_mustering_effect = yes @@ -513,6 +588,12 @@ on_travel_plan_movement = { } travel_danger_events_on_action = { + # Warcraft - Move trigger here + trigger = { + is_landed = yes + is_adult = yes + } + # End Warcraft random_events = { chance_of_no_event = { value = { @@ -795,6 +876,12 @@ travel_events_on_action = { } travel_event_tombola = { + # Warcraft - Move trigger here + trigger = { + is_landed = yes + is_adult = yes + } + # End Warcraft random_on_action = { 1 = travel_events_on_action 2 = on_tour_travel @@ -895,6 +982,8 @@ on_travel_plan_start = { NOT = { has_variable = recently_invalidated_hostage } } effect = { + # Warcraft + ascension_checker_effect = { SOURCE = travel } if = { limit = { has_character_modifier = isolating_modifier diff --git a/common/on_action/war_on_actions.txt b/common/on_action/war_on_actions.txt index 903cb0ca36..41470c5869 100644 --- a/common/on_action/war_on_actions.txt +++ b/common/on_action/war_on_actions.txt @@ -307,6 +307,34 @@ on_war_started = { } } } + # Warcraft + if = { + limit = { + has_perk = shadow_magic_tree_1_perk_7 + NOT = { has_character_flag = dark_invasion_cd } + } + send_interface_message = { + title = dark_invasion_title + if = { + limit = { + is_landless_ruler = no + } + every_knight = { + add_prowess_skill = 3 + } + } + else = { + every_courtier = { + add_prowess_skill = 3 + } + } + } + add_character_flag = { + flag = dark_invasion_cd + years = 10 + } + } + # End Warcraft } scope:defender = { if = { @@ -616,6 +644,8 @@ on_war_won_attacker = { # As in, won BY attacker. Only one of the two on_actions # Save scopes for localization. scope:attacker = { save_scope_as = winner } scope:defender = { save_scope_as = loser } + # Warcraft + ascension_checker_effect = { SOURCE = war } # Warcraft - leaving this commented so it can be reused for if you beat the Horde, Scourge etc. # Give out a legend seed for beating ya boi G Khan #if = { @@ -1121,6 +1151,8 @@ on_war_won_defender = { # Save scopes for localization. scope:attacker = { save_scope_as = loser } scope:defender = { save_scope_as = winner } + # Warcraft + ascension_checker_effect = { SOURCE = war } # Warcraft - leaving this commented so it can be reused for if you beat the Horde, Scourge etc. # Give out a legend seed for beating ya boi G Khan #if = { diff --git a/common/on_action/wc_lifestyles/wc_magic_lifestyles_on_actions.txt b/common/on_action/wc_lifestyles/wc_magic_lifestyles_on_actions.txt new file mode 100644 index 0000000000..fc96e8fec7 --- /dev/null +++ b/common/on_action/wc_lifestyles/wc_magic_lifestyles_on_actions.txt @@ -0,0 +1,19 @@ +# magic_lifestyles_progress_pulse = { # Fires 4 times per year + # trigger = { + # OR = { + # has_lifestyle = light_magic_lifestyle + # has_lifestyle = shadow_magic_lifestyle + # has_lifestyle = disorder_magic_lifestyle + # has_lifestyle = order_magic_lifestyle + # has_lifestyle = life_magic_lifestyle + # has_lifestyle = death_magic_lifestyle + # has_lifestyle = elemental_fire_magic_lifestyle + # has_lifestyle = elemental_water_magic_lifestyle + # has_lifestyle = elemental_air_magic_lifestyle + # has_lifestyle = elemental_earth_magic_lifestyle + # } + # } + + # effect = { + # } +# } \ No newline at end of file diff --git a/common/on_action/wc_magic_perk_on_actions.txt b/common/on_action/wc_magic_perk_on_actions.txt new file mode 100644 index 0000000000..45a960117d --- /dev/null +++ b/common/on_action/wc_magic_perk_on_actions.txt @@ -0,0 +1,523 @@ +on_scheme_reflect_regeneration = { + effect = { + change_variable = { + name = scheme_reflect_count + add = 1 + } + } +} + +on_abduct_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_abduct_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = true_target + } + } + scope:target = { + var:true_target = { + save_scope_as = target + } + remove_variable = true_target + } + } + scope:owner = { + if = { + limit = { + has_character_flag = is_in_event_abduct_outcome_0001 + } + trigger_event = { + id = abduct_outcome.0001 + days = 1 + } + } + else = { + trigger_event = abduct_outcome.0001 + } + } + } + } +} + +on_fabricate_hook_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_fabricate_hook_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = true_target + } + } + scope:target = { + var:true_target = { + save_scope_as = target + } + remove_variable = true_target + } + } + + scope:target = { + if = { + limit = { is_ruler = yes } + # Check for secrets that can be revealed + if = { + limit = { + any_secret = { + NOT = { is_known_by = scope:owner } + } + } + random_secret = { + limit = { + NOT = { is_known_by = scope:owner } + } + weight = { + base = 1 + modifier = { + # It's more fun to Discover a Criminal Secret + add = 5 + is_criminal_for = scope:target + } + } + save_scope_as = secret_to_reveal + } + } + else_if = { + # Others require Criminal Secrets + limit = { + any_secret = { + NOT = { is_known_by = scope:owner } + is_criminal_for = scope:target + } + } + random = { + chance = 20 + random_secret = { + limit = { + NOT = { is_known_by = scope:owner } + is_criminal_for = scope:target + } + save_scope_as = secret_to_reveal + } + } + } + } + else = { + if = { + limit = { + any_secret = { + NOT = { is_known_by = scope:owner } + is_criminal_for = scope:target + } + } + random_secret = { + limit = { + NOT = { is_known_by = scope:owner } + is_criminal_for = scope:target + } + save_scope_as = secret_to_reveal + } + } + } + } + + if = { + limit = { exists = scope:secret_to_reveal } + scope:owner = { + trigger_event = fabricate_hook_outcome.0001 # Secret discovery handling + } + } + else = { + if = { + limit = { scope:target = { is_ruler = yes } } + # Strong Hook against Ruler roll + random = { + chance = 20 + save_scope_value_as = { + name = strong_hook_against_ruler + value = yes + } + } + } + scope:owner = { + trigger_event = { + on_action = fabricate_hook_method_success_outcome + } + } + } + } + } +} + +on_murder_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_murder_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = true_target + } + } + scope:target = { + var:true_target = { + save_scope_as = target + } + remove_variable = true_target + } + } + trigger_event = { + on_action = murder_success_pre_filter_on_action + } + } + } +} + +on_steal_artifact_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_steal_artifact_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = true_target + } + } + scope:target = { + var:true_target = { + save_scope_as = artifact + } + remove_variable = true_target + } + } + scope:owner = { + trigger_event = { + on_action = steal_back_artifact_success + } + } + } + } +} + +on_claim_throne_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_claim_throne_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = cancel_scheme + } + } + remove_variable = cancel_scheme + scope:scheme = { + end_scheme = yes + } + } + else = { + if = { + limit = { + has_character_flag = is_executing_claim_throne + } + trigger_event = { + on_action = claim_throne_setup + days = 1 + } + } + else = { + trigger_event = { + on_action = claim_throne_setup + } + } + } + } + } +} + +# Warcraft - is this scheme still in use? +on_overthrow_regent_reflect = { + effect = { + if = { + limit = { + scope:target = { + has_variable = reflect_interaction + } + } + trigger_event = { + on_action = on_overthrow_regent_reflect + days = 1 + } + } + else = { + if = { + limit = { + scope:target = { + has_variable = cancel_scheme + } + } + remove_variable = cancel_scheme + scope:scheme = { + end_scheme = yes + } + } + else = { + if = { + limit = { + has_character_flag = is_in_event_diarchy_0501 + } + trigger_event = { + id = diarchy.0501 + days = 1 + } + } + else = { trigger_event = diarchy.0501 } + } + } + } +} + +remove_quickening = { + effect = { + change_variable = { name = quickening_count subtract = 1 } + } +} + +regenerate_presence_of_mind = { + effect = { + set_variable = wc_presence_of_mind_available + } +} + +regenerate_reverse_causality = { + effect = { + set_variable = wc_reverse_causality_available + } +} + +on_deaths_advance_liege_pulse = { + effect = { + trigger_event = { on_action = on_deaths_advance_liege_pulse months = 1 } + every_knight = { + if = { + limit = { + NOT = { + has_character_flag = deaths_advance_pulse + } + has_trait = being_undead + } + trigger_event = { on_action = on_deaths_advance_knight_pulse } + add_character_flag = deaths_advance_pulse + } + } + } +} + +on_deaths_advance_knight_pulse = { + effect = { + if = { + limit = { + OR = { + AND = { + liege ?= { + has_perk = death_magic_tree_2_perk_4 + } + is_knight_of = liege + } + AND = { + employer ?= { + has_perk = death_magic_tree_2_perk_4 + } + is_knight_of = employer + } + } + has_trait = being_undead + } + + add_character_modifier = wc_deaths_advance_modifier + trigger_event = { on_action = on_deaths_advance_knight_pulse months = 1 } + } + else = { + remove_character_modifier = wc_deaths_advance_modifier + remove_character_flag = deaths_advance_pulse + } + } +} + +on_blood_gorged_pulse = { + effect = { + if = { + limit = { + OR = { + health < poor_health + target_has_injury_trigger = yes + target_has_major_injury_trigger = yes + target_has_magic_injury_trigger = yes + } + } + add_character_modifier = wc_blood_gorged_modifier + } + else = { + remove_character_modifier = wc_blood_gorged_modifier + } + trigger_event = { on_action = on_blood_gorged_pulse months = 1 } + } +} + +on_aquatic_bounty_pulse = { + effect = { + switch = { + trigger = has_character_flag + + aquatic_bounty_coastal = { + every_sub_realm_title = { + limit = { + tier = tier_county + } + every_county_province = { + limit = { + is_coastal = yes + } + add_province_modifier = { + modifier = wc_aquatic_bounty_coastal_modifier + days = 30 + } + } + } + } + + aquatic_bounty_riverside = { + every_sub_realm_title = { + limit = { + tier = tier_county + } + every_county_province = { + limit = { + is_riverside_province = yes + } + add_province_modifier = { + modifier = wc_aquatic_bounty_riverside_modifier + days = 30 + } + } + } + } + } + + trigger_event = { + on_action = on_aquatic_bounty_pulse + days = 29 + } + } +} + +on_scheme_discovered = { + on_actions = { + on_scheme_discovered_best_served_cold + } +} + +on_scheme_discovered_best_served_cold = { + effect = { + scheme_target_character ?= { + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_4 + } + + add_to_variable_list = { + name = best_served_cold_targets + target = root.scheme_owner + years = 1 + } + } + } + } +} + +on_hibernation_removal = { + effect = { + trigger_event = magic_perk.0021 + } +} + +cold_storage_pulse = { + effect = { + if = { + limit = { + exists = location + } + if = { + limit = { + location_has_winter_trigger = yes + has_character_modifier = wc_cold_storage_modifier + } + remove_character_modifier = wc_cold_storage_modifier + add_character_modifier = wc_cold_storage_winter_modifier + } + else_if = { + limit = { + has_character_modifier = wc_cold_storage_winter_modifier + } + remove_character_modifier = wc_cold_storage_winter_modifier + add_character_modifier = wc_cold_storage_modifier + } + } + trigger_event = { + on_action = cold_storage_pulse + months = 1 + } + } +} \ No newline at end of file diff --git a/common/on_action/wc_magic_spell_on_actions.txt b/common/on_action/wc_magic_spell_on_actions.txt new file mode 100644 index 0000000000..747c581881 --- /dev/null +++ b/common/on_action/wc_magic_spell_on_actions.txt @@ -0,0 +1,668 @@ +wc_blizzard_county_pulse = { + effect = { + if = { + limit = { + has_county_modifier = wc_blizzard_county_modifier + } + + every_in_de_jure_hierarchy = { + limit = { + tier = tier_barony + } + title_province = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_blizzard_character_modifier + } + } + apply_character_blizzard_effect = yes + } + } + } + + trigger_event = { + on_action = wc_blizzard_county_pulse + months = 1 + } + } + } +} + +wc_blizzard_removal_pulse = { + effect = { + if = { + limit = { + has_character_modifier = wc_blizzard_character_modifier + } + + if = { + limit = { + exists = location.county + location.county = { + NOT = { + has_county_modifier = wc_blizzard_county_modifier + } + } + } + + remove_character_modifier = wc_blizzard_character_modifier + } + else = { + trigger_event = { + on_action = wc_blizzard_removal_pulse + months = 1 + } + } + } + } +} + +on_join_court_blizzard = { + effect = { + if = { + limit = { + exists = location.county + location.county = { has_county_modifier = wc_blizzard_county_modifier } + NOT = { + has_character_modifier = wc_blizzard_character_modifier + } + } + apply_character_blizzard_effect = yes + } + else_if = { + limit = { + exists = location.county + has_character_modifier = wc_blizzard_character_modifier + } + remove_character_modifier = wc_blizzard_character_modifier + } + } +} + +wc_evocation_province_pulse = { + effect = { + if = { + limit = { + has_province_modifier = wc_evocation_province_modifier + } + + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_evocation_character_modifier + } + } + apply_character_evocation_effect = yes + } + + trigger_event = { + on_action = wc_evocation_province_pulse + months = 1 + } + } + } +} + +wc_evocation_removal_pulse = { + effect = { + if = { + limit = { + has_character_modifier = wc_evocation_character_modifier + } + + if = { + limit = { + exists = location + location = { + NOT = { + has_province_modifier = wc_evocation_province_modifier + } + } + } + + remove_character_modifier = wc_evocation_character_modifier + } + else = { + trigger_event = { + on_action = wc_evocation_removal_pulse + months = 1 + } + } + } + } +} + +wc_arcane_dome_county_pulse = { + effect = { + if = { + limit = { + has_county_modifier = wc_arcane_dome_county_modifier + } + + save_scope_as = county + + every_in_de_jure_hierarchy = { + limit = { + tier = tier_barony + } + title_province = { + every_army_in_location = { + save_scope_as = army + if = { + limit = { + NOT = { + army_commander = { + has_character_modifier = wc_arcane_dome_character_modifier + } + } + + NOR = { + scope:county.holder = { + OR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + } + } + army_commander = { target_is_liege_or_above = scope:county.holder } + army_commander = { target_is_vassal_or_below = scope:county.holder } + army_commander = scope:county.holder + army_owner = { target_is_liege_or_above = scope:county.holder } + army_owner = { target_is_vassal_or_below = scope:county.holder } + army_owner = scope:county.holder + } + } + + army_commander = { + apply_character_arcane_dome_effect = yes + } + } + } + } + } + + trigger_event = { + on_action = wc_arcane_dome_county_pulse + months = 1 + } + } + } +} + +wc_arcane_dome_removal_pulse = { + effect = { + if = { + limit = { + has_character_modifier = wc_arcane_dome_character_modifier + } + + if = { + limit = { + exists = location.county + OR = { + location.county = { + NOT = { + has_county_modifier = wc_arcane_dome_county_modifier + } + } + + OR = { + location.county.holder = { + OR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + } + } + army_commander = { target_is_liege_or_above = location.county.holder } + army_commander = { target_is_vassal_or_below = location.county.holder } + army_commander = location.county.holder + army_owner = { target_is_liege_or_above = location.county.holder } + army_owner = { target_is_vassal_or_below = location.county.holder } + army_owner = location.county.holder + } + } + } + + remove_character_arcane_dome_effect = yes + } + else = { + trigger_event = { + on_action = wc_arcane_dome_removal_pulse + months = 1 + } + } + } + } +} + +on_join_court_evocation = { + effect = { + if = { + limit = { + exists = location + location = { has_province_modifier = wc_evocation_province_modifier } + NOT = { + has_character_modifier = wc_evocation_character_modifier + } + } + apply_character_evocation_effect = yes + } + else_if = { + limit = { + exists = location.county + has_character_modifier = wc_evocation_character_modifier + } + remove_character_modifier = wc_evocation_character_modifier + } + } +} + +wc_divine_storm_county_pulse = { + effect = { + if = { + limit = { + has_county_modifier = wc_divine_storm_county_modifier + } + + every_in_de_jure_hierarchy = { + limit = { + tier = tier_barony + } + title_province = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_divine_storm_character_modifier + } + } + apply_character_divine_storm_effect = yes + } + } + } + + trigger_event = { + on_action = wc_divine_storm_county_pulse + months = 1 + } + } + } +} + +wc_divine_storm_removal_pulse = { + effect = { + if = { + limit = { + has_character_modifier = wc_divine_storm_character_modifier + } + + if = { + limit = { + exists = location.county + location.county = { + NOT = { + has_county_modifier = wc_divine_storm_county_modifier + } + } + } + + remove_character_modifier = wc_divine_storm_character_modifier + } + else = { + trigger_event = { + on_action = wc_divine_storm_removal_pulse + months = 1 + } + } + } + } +} + +on_join_court_divine_storm = { + effect = { + if = { + limit = { + exists = location.county + location.county = { has_county_modifier = wc_divine_storm_county_modifier } + NOT = { + has_character_modifier = wc_divine_storm_character_modifier + } + } + apply_character_divine_storm_effect = yes + } + else_if = { + limit = { + exists = location.county + has_character_modifier = wc_divine_storm_character_modifier + } + remove_character_modifier = wc_divine_storm_character_modifier + } + } +} + + +wc_death_and_decay_county_pulse = { + effect = { + if = { + limit = { + has_county_modifier = wc_death_and_decay_county_modifier + } + + save_scope_as = county + + every_in_de_jure_hierarchy = { + limit = { + tier = tier_barony + } + title_province = { + every_army_in_location = { + save_scope_as = army + if = { + limit = { + NOT = { + army_commander = { + has_character_modifier = wc_death_and_decay_character_modifier + } + } + + scope:army.location.county.var:death_and_decay_caster = { + NOR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + scope:army.army_commander = { target_is_liege_or_above = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_commander = { target_is_vassal_or_below = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_commander = scope:army.location.county.var:death_and_decay_caster + scope:army.army_owner = { target_is_liege_or_above = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_owner = { target_is_vassal_or_below = scope:army.location.county.var:death_and_decay_caster } + scope:army.army_owner = scope:army.location.county.var:death_and_decay_caster + } + } + } + + army_commander = { + apply_character_death_and_decay_effect = yes + } + } + } + } + } + + trigger_event = { + on_action = wc_death_and_decay_county_pulse + months = 1 + } + } + } +} + +wc_death_and_decay_removal_pulse = { + effect = { + if = { + limit = { + has_character_modifier = wc_death_and_decay_character_modifier + } + + if = { + limit = { + exists = location.county + OR = { + location.county = { + NOT = { + has_county_modifier = wc_death_and_decay_county_modifier + } + } + + OR = { + location.county.holder = { + OR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + } + } + army_commander = { target_is_liege_or_above = location.county.holder } + army_commander = { target_is_vassal_or_below = location.county.holder } + army_commander = location.county.holder + army_owner = { target_is_liege_or_above = location.county.holder } + army_owner = { target_is_vassal_or_below = location.county.holder } + army_owner = location.county.holder + } + } + } + + remove_character_death_and_decay_effect = yes + } + else = { + trigger_event = { + on_action = wc_death_and_decay_removal_pulse + months = 1 + } + } + } + } +} +wc_ice_structure_province_pulse = { + effect = { + if = { + limit = { + OR = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + + switch = { + trigger = has_province_modifier + wc_ice_structure_spirit_province_modifier = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + } + } + apply_character_ice_structure_effect = { TYPE = spirit } + } + } + + wc_ice_structure_decay_province_modifier = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + apply_character_ice_structure_effect = { TYPE = decay } + } + } + } + + trigger_event = { + on_action = wc_ice_structure_province_pulse + months = 1 + } + } + } +} + +wc_ice_structure_removal_pulse = { + effect = { + if = { + limit = { + OR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + + switch = { + trigger = has_character_modifier + wc_ice_structure_spirit_character_modifier = { + if = { + limit = { + exists = location + location = { + NOT = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + } + } + } + + remove_character_modifier = wc_ice_structure_spirit_character_modifier + } + else = { + trigger_event = { + on_action = wc_ice_structure_removal_pulse + months = 1 + } + } + } + + wc_ice_structure_decay_character_modifier = { + if = { + limit = { + exists = location + location = { + NOT = { + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + } + + remove_character_modifier = wc_ice_structure_decay_character_modifier + } + else = { + trigger_event = { + on_action = wc_ice_structure_removal_pulse + months = 1 + } + } + } + } + } + } +} + +on_join_court_ice_structure = { + effect = { + if = { + limit = { + location ?= { + OR = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + NOR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + location = { + switch = { + trigger = has_province_modifier + wc_ice_structure_spirit_province_modifier = { + prev = { + apply_character_ice_structure_effect = { TYPE = spirit } + } + } + + wc_ice_structure_decay_province_modifier = { + prev = { + apply_character_ice_structure_effect = { TYPE = decay } + } + } + } + } + } + else_if = { + limit = { + exists = location.county + OR = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + remove_character_modifier = wc_ice_structure_spirit_character_modifier + remove_character_modifier = wc_ice_structure_decay_character_modifier + } + } +} + +wc_eternal_winter_duchy_pulse = { + effect = { + if = { + limit = { + any_de_jure_county = { + has_county_modifier = wc_eternal_winter_modifier + } + } + + every_de_jure_county = { + if = { + limit = { + county_has_winter_trigger = yes + NOT = { + has_county_modifier = wc_blizzard_county_modifier + } + } + add_county_modifier = { + modifier = wc_blizzard_county_modifier + } + + trigger_event = { + on_action = wc_blizzard_county_pulse + months = 1 + } + } + else_if = { + limit = { + county_has_winter_trigger = no + has_county_modifier = wc_blizzard_county_modifier + } + + remove_county_modifier = wc_blizzard_county_modifier + } + } + + trigger_event = { + on_action = wc_eternal_winter_duchy_pulse + months = 1 + } + } + else = { + every_de_jure_county = { + remove_county_modifier = wc_blizzard_county_modifier + } + } + } +} diff --git a/common/on_action/wc_mana_on_actions.txt b/common/on_action/wc_mana_on_actions.txt new file mode 100644 index 0000000000..91f9e68884 --- /dev/null +++ b/common/on_action/wc_mana_on_actions.txt @@ -0,0 +1,871 @@ +wc_on_mana_regeneration = { + effect = { + if = { + limit = { has_variable = wc_current_mana_variable } + + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = wc_mana_regeneration_value + } + } + else = { + set_variable = { name = wc_current_mana_variable value = wc_max_mana_value } + wc_recalculate_prowess_from_mana_effect = yes + } + magic_buff_maintenance_effect = yes + trigger_event = { on_action = wc_on_mana_regeneration months = 1 } + } +} + +wc_on_health_regeneration = { + effect = { + if = { + limit = { has_variable = wc_current_hp_variable } + wc_change_hp_by_value_effect = { + CHANGE = add + VALUE = wc_hp_replenishment_value + } + } + + else = { + set_variable = { name = wc_current_hp_variable value = wc_hp_capacity_value } + } + + trigger_event = { on_action = wc_on_health_regeneration months = 1 } + } +} + +wc_on_spell_progression = { + effect = { + every_in_list = { + variable = current_spells_casting + save_scope_as = casting_spell + root = { + execute_scoped_spell_effect = { + SPELL = scope:casting_spell + EFFECT = add_spell_progression_effect + } + } + } + every_in_list = { + variable = spells_cd + save_scope_as = cd_spell + root = { + execute_scoped_spell_effect = { + SPELL = scope:cd_spell + EFFECT = update_spell_cooldown_effect + } + } + } + if = { # so it doesnt double count spells + limit = { + NOT = { exists = var:spell_loop_on } + } + set_variable = { name = spell_loop_on value = yes } + } + trigger_event = { on_action = wc_on_spell_progression days = 1 } + } +} + +## root is the caster +### before removing the mana of the spell cast and doing anything +### Variable prefix: current_ +### Variables: spell_name, rank, targets_list (variable list), recipient, elemental_type (for elemental type), class (spell class), target_type +### e.g. var:current_spell_type = flag:decay +wc_on_spell_cast_started = { + effect = { + if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:character + has_variable = spell_recipient + } + var:spell_recipient = { + save_scope_as = current_target_character + root = { + trigger_event = { + on_action = wc_on_spell_cast_started_character + } + } + } + } + else_if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:character_list + has_variable = spell_targets_list + } + + every_in_list = { + variable = spell_targets_list + save_scope_as = current_target_character + root = { + trigger_event = { + on_action = wc_on_spell_cast_started_character + } + } + } + } + else_if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:title + has_variable = spell_recipient + } + var:spell_recipient = { + save_scope_as = current_target_title + root = { + trigger_event = { + on_action = wc_on_spell_cast_started_title + } + } + } + } + else_if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:title_list + has_variable = spell_targets_list + } + + every_in_list = { + variable = spell_targets_list + save_scope_as = current_target_title + root = { + trigger_event = { + on_action = wc_on_spell_cast_started_title + } + } + } + } + + if = { + limit = { + var:current_spell_name = flag:conjure_refreshment + var:current_spell_rank < 3 + } + trigger_event = wc_magic_spell_events.0200 + } + + # Flame and Frost synergy + if = { + limit = { + spell_is_arcane_frost = { + SPELL = var:current_spell_name + } + } + remove_variable = freeze_time_mult + + set_variable = { + name = freeze_time_mult + value = { + value = 0.01 + multiply = var:current_cost + } + } + } + else_if = { + limit = { + spell_is_arcane_fire = { + SPELL = var:current_spell_name + } + } + remove_character_flag = frost_synergy + } + + if = { + limit = { + var:current_spell_name = flag:give_disease + } + + set_variable = give_disease_interaction + } + + if = { + limit = { + var:current_spell_name = flag:epidemic + } + + set_variable = epidemic_interaction + } + } +} + +## root is the caster +### before removing the mana of the spell cast and doing anything +### Is called for every target character of a spell +### Scope current_target_character, is the current target character +### Variable prefix: current_ +### Variables: spell_name, rank, targets_list (variable list), recipient, elemental_type (for elemental type), class (spell class), target_type +### e.g. var:current_spell_type = flag:decay +wc_on_spell_cast_started_character = { + effect = { + + } +} + +## root is the caster +### before removing the mana of the spell cast and doing anything +### Is called for every target title of a spell +### Scope current_target_title, is the current target title +### Variable prefix: current_ +### Variables: spell_name, rank, targets_list (variable list), recipient, elemental_type (for elemental type), class (spell class), target_type +### e.g. var:current_spell_type = flag:decay +wc_on_spell_cast_started_title = { + effect = { + + } +} + +## root is the caster +### upon finishing the spell cast, before the spell is executed ### +### Setting the var should_cast to no will stop the actual execution of the spell effect +### Setting the var should_reflect to yes will execute the spell effects on the caster instead +### Setting the var should_include to no on a spell target will stop it from being included in the effects +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +wc_on_spell_cast_before_cast = { + effect = { + if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:character + has_variable = casted_recipient + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + if = { + limit = { + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + NOT = { + var:casted_spell = flag:spellsteal + } + var:casted_recipient = { + has_character_modifier = wc_counterspell_modifier + } + } + var:casted_recipient = { + remove_character_modifier = wc_counterspell_modifier + } + set_variable = { + name = should_reflect + value = yes + } + } + else_if = { + limit = { + var:casted_recipient = { + has_character_modifier = wc_frost_armor_modifier + } + } + root = { + save_scope_as = ice_caster + } + var:casted_recipient = { + save_scope_as = blocker + trigger_event = wc_magic_spell_events.0001 + } + root = { + send_interface_toast = { + title = wc_ice_block + left_icon = var:$SPELL$_recipient + right_icon = root + custom_tooltip = wc_iceblock_tt + } + } + set_variable = { + name = should_cast + value = no + } + } + else_if = { + limit = { + var:casted_recipient = { + has_character_modifier = wc_divine_shield_modifier + } + NOT = { var:casted_class = flag:light } + } + var:casted_recipient = { + save_scope_as = blocker + send_interface_toast = { + title = wc_spell_blocked + left_icon = scope:blocker + right_icon = root + custom_tooltip = wc_divine_shield_tt_self + remove_character_modifier = wc_divine_shield_modifier + } + } + root = { + send_interface_toast = { + title = wc_spell_blocked + left_icon = scope:blocker + right_icon = root + custom_tooltip = wc_divine_shield_tt + show_as_tooltip = { + var:casted_recipient = { + remove_character_modifier = wc_divine_shield_modifier + } + } + } + } + set_variable = { + name = should_cast + value = no + } + } + } + else_if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:character_list + has_variable = casted_targets_list + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + if = { + limit = { + any_in_list = { + variable = casted_targets_list + has_character_modifier = wc_counterspell_modifier + } + NOT = { + var:casted_spell = flag:spellsteal + } + } + every_in_list = { + variable = casted_targets_list + limit = { + has_character_modifier = wc_counterspell_modifier + } + remove_character_modifier = wc_counterspell_modifier + set_variable = { + name = should_include + value = no + } + root = { + set_variable = { + name = should_reflect + value = yes + } + } + } + } + else_if = { + limit = { + any_in_list = { + variable = casted_targets_list + has_character_modifier = wc_frost_armor_modifier + } + } + every_in_list = { + variable = casted_targets_list + limit = { + has_character_modifier = wc_frost_armor_modifier + } + root = { + save_scope_as = ice_caster + } + save_scope_as = blocker + trigger_event = wc_magic_spell_events.0001 + root = { + send_interface_toast = { + title = wc_ice_block + left_icon = var:$SPELL$_recipient + right_icon = root + custom_tooltip = wc_iceblock_tt + } + } + set_variable = { + name = should_include + value = no + } + } + } + else_if = { + limit = { + any_in_list = { + variable = casted_targets_list + has_character_modifier = wc_divine_shield_modifier + } + NOT = { var:casted_class = flag:light } + } + every_in_list = { + variable = casted_targets_list + save_scope_as = blocker + send_interface_toast = { + title = wc_spell_blocked + left_icon = scope:blocker + right_icon = root + custom_tooltip = wc_divine_shield_tt_self + remove_character_modifier = wc_divine_shield_modifier + } + root = { + send_interface_toast = { + title = wc_spell_blocked + left_icon = scope:blocker + right_icon = root + custom_tooltip = wc_divine_shield_tt + show_as_tooltip = { + scope:blocker = { + remove_character_modifier = wc_divine_shield_modifier + } + } + } + } + } + set_variable = { + name = should_cast + value = no + } + } + } + } +} + +## root is the caster +### upon finishing the spell cast, after setting cd and everything ### +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +wc_on_spell_cast_finish = { + effect = { + # MOVED EVERYTHING INTO SCRIPTED EFFECTS BECAUSE ON_ACTIONS DONT HOT UPDATE ANYMORE + record_magic_stats_effect = yes + + wc_on_spell_cast_finish_effect = yes + ascension_checker_effect = { SOURCE = spell } + } +} + +## root is the caster +### Is called for every target character of a spell +### Scope current_target_character, is the current target character +### upon finishing the spell cast, before setting cd or anything ### +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +wc_on_spell_cast_finish_character = { + effect = { + # Send interface message to target + if = { + limit = { + NOT = { scope:current_target_character = root } + } + scope:current_target_character = { + save_temporary_scope_as = castee + } + scope:castee = { + root = { + save_temporary_scope_as = caster + } + set_variable = { + name = on_casted_spell + value = root.var:casted_spell + } + send_interface_message = { + title = spell_cast_on_you_title + custom_tooltip = spell_cast_on_you_desc + } + } + + if = { + limit = { + NOT = { + root = scope:current_target_character + } + scope:current_target_character = { + has_perk = order_magic_tree_2_perk_1 + } + } + + scope:current_target_character = { + send_interface_toast = { + title = wc_aether_tap_title + left_icon = scope:current_target_character + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = 5 + } + } + } + } + + if = { + limit = { + scope:current_target_character = { + is_courtier = yes + NOT = { + root = court_owner + } + court_owner = { + has_perk = order_magic_tree_2_perk_1 + } + } + } + scope:current_target_character = { + court_owner = { + save_scope_as = aether_tapper + } + } + } + else_if = { + limit = { + scope:current_target_character = { + is_councillor = yes + is_ruler = no + NOT = { + root = employer + } + employer = { + has_perk = order_magic_tree_2_perk_1 + } + } + } + scope:current_target_character = { + employer = { + save_scope_as = aether_tapper + } + } + } + + scope:aether_tapper ?= { + send_interface_toast = { + title = wc_aether_tap_title + left_icon = this + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = 5 + } + } + } + } + + # Clear Scorch cooldown when hit with elemental or fel hostile magic + if = { + limit = { + NOT = { scope:current_target_character = root } + OR = { + var:casted_class = flag:elemental_fire + var:casted_class = flag:elemental_earth + var:casted_class = flag:elemental_water + var:casted_class = flag:elemental_air + var:casted_class = flag:disorder + } + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + + scope:current_target_character = { + execute_scoped_spell_effect = { SPELL = flag:scorch EFFECT = remove_spell_cooldown_effect } + } + } + + # Burn caster when target has Fire Shield + if = { + limit = { + scope:current_target_character = { + has_character_modifier = wc_fire_shield_modifier + } + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + + # TODO: Maybe remove Fire Shield modifier? + + root = { + add_or_increase_burned_effect = { CASTER = root } + + send_interface_toast = { + title = wc_spell_reflected + left_icon = root + right_icon = scope:current_target_character + custom_tooltip = wc_fire_shield_reflect_tt + } + } + } + + # Netherburn + if = { + limit = { + NOT = { + has_character_flag = netherburn_triggered + } + var:casted_class = flag:order + has_perk = order_magic_tree_4_perk_2 + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + scope:current_target_character = { + save_scope_value_as = { + name = spell_dodge_chance + value = wc_order_magic_resistance_dodge_value + } + } + random_list = { + 25 = { + burned_target_frostbite_modifier = { TARGET = var:casted_recipient CHANGE = add } + scope:current_target_character = { + add_or_increase_burned_effect = { CASTER = root } + add_opinion = { + modifier = wc_burned_me + target = scope:current_target_character + } + } + + send_interface_toast = { + title = wc_netherburn_triggered + left_icon = root + right_icon = scope:current_target_character + custom_tooltip = wc_netherburn_tt + } + + add_character_flag = { + flag = netherburn_triggered + years = 1 + } + } + 75 = { + modifier = { + is_alive = yes + add = scope:spell_dodge_chance + } + burned_target_frostbite_modifier = { TARGET = var:casted_recipient CHANGE = subtract } + } + } + } + + # If spell is hostile + if = { + limit = { + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier + scope:current_target_character = { + NOT = { has_character_modifier = wc_vengeance_aura_modifier_negative } + } + } + scope:current_target_character = { + send_interface_message = { + title = wc_vengeance_aura_title + add_character_modifier = { + modifier = wc_vengeance_aura_modifier_negative + months = 6 + } + } + } + } + if = { + limit = { + scope:current_target_character = { + has_character_flag = wc_retribution_aura_flag + NOT = { has_character_modifier = wc_retribution_aura_modifier } + } + } + scope:current_target_character = { + send_interface_message = { + title = wc_retribution_aura_title + add_character_modifier = { + modifier = wc_retribution_aura_modifier + months = 6 + } + } + } + } + if = { + limit = { + scope:current_target_character = { has_trait = holy_wrath } + } + random_list = { + 90 = {} + 10 = { + if = { + limit = { + NOT = { + scope:current_target_character = root + } + } + root = { + send_interface_message = { + title = trait_holy_wrath + show_as_tooltip = { + scope:current_target_character = { + add_or_increase_burned_effect = { CASTER = root } + } + } + } + } + } + scope:current_target_character = { + send_interface_message = { + title = trait_holy_wrath + add_or_increase_burned_effect = { CASTER = root } + } + } + } + } + } + if = { + limit = { + scope:current_target_character = { has_perk = shadow_magic_tree_3_perk_3 } + } + random = { + chance = 25 + send_interface_message = { + title = wc_void_shield_title + custom_tooltip = wc_void_shield_tt + add_character_flag = void_shield_flag + } + } + } + } + + # Echo of Light + if = { + limit = { + var:casted_class = flag:light + has_perk = light_magic_tree_1_perk_7 + OR = { + spell_is_helpful_trigger = { + SPELL = var:casted_spell + } + spell_is_dispel_type_trigger = { + SPELL = var:casted_spell + } + var:casted_spell = flag:salvation + } + } + scope:current_target_character = { + random_list = { + 75 = { + send_interface_message = { + title = wc_echo_of_light_modifier + add_character_modifier = { + modifier = wc_echo_of_light_modifier + months = 3 + } + } + if = { + limit = { + NOT = { + scope:current_target_character = root + } + } + root = { + send_interface_message = { + title = wc_echo_of_light_modifier + left_icon = root + show_as_tooltip = { + scope:current_target_character = { + add_character_modifier = { + modifier = wc_echo_of_light_modifier + months = 3 + } + } + } + } + } + } + } + 25 = {} + } + } + } + } +} + +## root is the caster +### Is called for every target title of a spell +### Scope current_target_title, is the current target title +### upon finishing the spell cast, before setting cd or anything ### +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +wc_on_spell_cast_finish_title = { + effect = { + # Send interface message to target + if = { + limit = { + NOT = { scope:current_target_title.holder = root } + } + scope:current_target_title.holder = { + save_temporary_scope_as = castee + } + scope:castee = { + root = { + save_temporary_scope_as = caster + } + set_variable = { + name = on_casted_spell + value = root.var:casted_spell + } + send_interface_message = { + title = spell_cast_on_you_title + custom_tooltip = spell_cast_on_you_desc + } + } + } + + backdraft_check_effect = yes + } +} +## root is the caster +### upon canceling spell, after refunding mana and everything ### +### Variable prefix: cancelled_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:cancelled_spell = flag:lava_lash +wc_on_spell_cast_cancelled = { + effect = { + + } +} + +on_game_start_after_lobby = { + on_actions = { + wc_on_game_start_magic + } +} + +wc_on_game_start_magic = { + effect = { + if = { + limit = { + NOT = { exists = global_var:spellbook_init } + } + init_elemental_fire_spells_effect = yes + init_order_spells_effect = yes + init_light_spells_effect = yes + init_death_spells_effect = yes + init_elemental_water_spells_effect = yes + init_shadow_spells_effect = yes + init_life_spells_effect = yes + init_elemental_air_spells_effect = yes + init_disorder_spells_effect = yes + init_elemental_earth_spells_effect = yes + + add_to_global_variable_list = { name = spell_types target = flag:light } + add_to_global_variable_list = { name = spell_types target = flag:shadow } + add_to_global_variable_list = { name = spell_types target = flag:life } + add_to_global_variable_list = { name = spell_types target = flag:death } + add_to_global_variable_list = { name = spell_types target = flag:order } + add_to_global_variable_list = { name = spell_types target = flag:disorder } + add_to_global_variable_list = { name = spell_types target = flag:elemental_earth } + add_to_global_variable_list = { name = spell_types target = flag:elemental_fire } + add_to_global_variable_list = { name = spell_types target = flag:elemental_water } + add_to_global_variable_list = { name = spell_types target = flag:elemental_air } + + set_global_variable = spellbook_init + } + } +} \ No newline at end of file diff --git a/common/on_action/yearly_on_actions.txt b/common/on_action/yearly_on_actions.txt index 7d00c1f89c..2e1b1d0ce5 100644 --- a/common/on_action/yearly_on_actions.txt +++ b/common/on_action/yearly_on_actions.txt @@ -730,6 +730,10 @@ quarterly_playable_pulse = { # EP1 maintenance pulses inspiration_maintenance_quarterly_pulse + + # Warcraft + # magic_lifestyles_progress_pulse - TODO + } random_on_action = { chance_to_happen = 75 diff --git a/common/opinion_modifiers/wc_doctrinal_crime_opinions.txt b/common/opinion_modifiers/wc_doctrinal_crime_opinions.txt index 51b6b8be12..e8a9776342 100644 --- a/common/opinion_modifiers/wc_doctrinal_crime_opinions.txt +++ b/common/opinion_modifiers/wc_doctrinal_crime_opinions.txt @@ -1,9 +1,8 @@ being_undead_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_undead_intolerant = { opinion = -50 } @@ -11,9 +10,8 @@ being_undead_intolerant = { being_demon_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_demon_intolerant = { opinion = -50 } @@ -21,9 +19,8 @@ being_demon_intolerant = { being_void_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_void_intolerant = { opinion = -50 } @@ -31,9 +28,8 @@ being_void_intolerant = { being_life_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_life_intolerant = { opinion = -50 } @@ -41,9 +37,8 @@ being_life_intolerant = { being_order_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_order_intolerant = { opinion = -50 } @@ -51,9 +46,8 @@ being_order_intolerant = { being_light_crime = { opinion = -100 imprisonment_reason = yes - revoke_title_reason = yes + execute_reason = yes } - being_light_intolerant = { opinion = -50 } @@ -63,4 +57,13 @@ tenet_scarlet_mark_crime = { imprisonment_reason = yes revoke_title_reason = yes banish_reason = yes +} + +user_of_magic_crime = { + opinion = -50 + imprisonment_reason = yes + execute_reason = yes +} +user_of_magic_intolerant = { + opinion = -25 } \ No newline at end of file diff --git a/common/opinion_modifiers/wc_magic_opinions.txt b/common/opinion_modifiers/wc_magic_opinions.txt new file mode 100644 index 0000000000..9debc35fb4 --- /dev/null +++ b/common/opinion_modifiers/wc_magic_opinions.txt @@ -0,0 +1,114 @@ +wc_casted_helpful_spell = { + stacking = yes + decaying = yes + opinion = 10 + years = 3 +} + +wc_casted_harmful_spell = { + opinion = -10 + stacking = yes + decaying = yes + years = 3 + imprisonment_reason = yes + divorce_reason = yes +} + +wc_burned_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_frostbit_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_wrathed_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_shocked_me = { + opinion = -30 + decaying = yes + years = 5 + stacking = yes +} + +wc_healed_me = { + opinion = 20 + decaying = yes + years = 5 + stacking = yes +} + +wc_poisoned_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_saved_me_salvation = { + opinion = 50 +} + +wc_plagued_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_void_sickness_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_silenced_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_shadow_crashed_me = { + opinion = -20 + decaying = yes + years = 5 + stacking = yes +} + +wc_twisted_chains_me = { + opinion = -30 + decaying = yes + years = 5 + stacking = yes +} + +wc_raised_me_from_dead = { + opinion = -50 +} + +### LOBOTOMIZED ### +lobotomized_family_member = { + opinion = -20 + decaying = yes + years = 20 +} + +lobotomized_me = { + opinion = -50 + decaying = yes + years = 50 + imprisonment_reason = yes +} \ No newline at end of file diff --git a/common/religion/doctrines/wc_doctrines_magic.txt b/common/religion/doctrines/wc_doctrines_magic.txt index 4214174e15..1eb0e77a1f 100644 --- a/common/religion/doctrines/wc_doctrines_magic.txt +++ b/common/religion/doctrines/wc_doctrines_magic.txt @@ -25,6 +25,7 @@ light_magic_illegal = yes light_magic_not_openly_learnable = yes being_light_illegal = yes + light_magic_gender_unspecified = yes } } doctrine_light_magic_shunned = { @@ -48,6 +49,7 @@ light_magic_shunned = yes light_magic_not_openly_learnable = yes being_light_shunned = yes + light_magic_gender_unspecified = yes } } doctrine_light_magic_ignored = { @@ -72,6 +74,7 @@ light_magic_ignored = yes light_magic_not_openly_learnable = yes being_light_accepted = yes + light_magic_gender_dominant = yes } } doctrine_light_magic_accepted = { @@ -94,6 +97,7 @@ light_magic_accepted = yes light_magic_openly_learnable = yes being_light_accepted = yes + light_magic_gender_dominant = yes } } doctrine_light_magic_approved = { @@ -125,6 +129,16 @@ light_magic_approved = yes light_magic_openly_learnable = yes being_light_accepted = yes + light_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_light_magic_1 = 0.3 + user_of_light_magic_2 = 0.6 + user_of_light_magic_3 = 0.9 + user_of_light_magic_4 = 1.2 + user_of_light_magic_5 = 1.5 + } } } } @@ -155,6 +169,7 @@ doctrine_shadow_magic = { shadow_magic_illegal = yes shadow_magic_not_openly_learnable = yes being_void_illegal = yes + shadow_magic_gender_unspecified = yes } } doctrine_shadow_magic_shunned = { @@ -178,6 +193,7 @@ doctrine_shadow_magic = { shadow_magic_shunned = yes shadow_magic_not_openly_learnable = yes being_void_shunned = yes + shadow_magic_gender_unspecified = yes } } doctrine_shadow_magic_ignored = { @@ -202,6 +218,7 @@ doctrine_shadow_magic = { shadow_magic_ignored = yes shadow_magic_not_openly_learnable = yes being_void_accepted = yes + shadow_magic_gender_dominant = yes } } doctrine_shadow_magic_accepted = { @@ -224,6 +241,7 @@ doctrine_shadow_magic = { shadow_magic_accepted = yes shadow_magic_openly_learnable = yes being_void_accepted = yes + shadow_magic_gender_dominant = yes } } doctrine_shadow_magic_approved = { @@ -255,6 +273,16 @@ doctrine_shadow_magic = { shadow_magic_approved = yes shadow_magic_openly_learnable = yes being_void_accepted = yes + shadow_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_shadow_magic_1 = 0.3 + user_of_shadow_magic_2 = 0.6 + user_of_shadow_magic_3 = 0.9 + user_of_shadow_magic_4 = 1.2 + user_of_shadow_magic_5 = 1.5 + } } } } @@ -285,6 +313,7 @@ doctrine_disorder_magic = { disorder_magic_illegal = yes disorder_magic_not_openly_learnable = yes being_demon_illegal = yes + disorder_magic_gender_unspecified = yes } } doctrine_disorder_magic_shunned = { @@ -308,6 +337,7 @@ doctrine_disorder_magic = { disorder_magic_shunned = yes disorder_magic_not_openly_learnable = yes being_demon_shunned = yes + disorder_magic_gender_unspecified = yes } } doctrine_disorder_magic_ignored = { @@ -332,6 +362,7 @@ doctrine_disorder_magic = { disorder_magic_ignored = yes disorder_magic_not_openly_learnable = yes being_demon_accepted = yes + disorder_magic_gender_dominant = yes } } doctrine_disorder_magic_accepted = { @@ -354,6 +385,7 @@ doctrine_disorder_magic = { disorder_magic_accepted = yes disorder_magic_openly_learnable = yes being_demon_accepted = yes + disorder_magic_gender_dominant = yes } } doctrine_disorder_magic_approved = { @@ -385,6 +417,16 @@ doctrine_disorder_magic = { disorder_magic_approved = yes disorder_magic_openly_learnable = yes being_demon_accepted = yes + disorder_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_disorder_magic_1 = 0.3 + user_of_disorder_magic_2 = 0.6 + user_of_disorder_magic_3 = 0.9 + user_of_disorder_magic_4 = 1.2 + user_of_disorder_magic_5 = 1.5 + } } } } @@ -415,6 +457,7 @@ doctrine_order_magic = { order_magic_illegal = yes order_magic_not_openly_learnable = yes being_order_illegal = yes + order_magic_gender_unspecified = yes } } doctrine_order_magic_shunned = { @@ -438,6 +481,7 @@ doctrine_order_magic = { order_magic_shunned = yes order_magic_not_openly_learnable = yes being_order_shunned = yes + order_magic_gender_unspecified = yes } } doctrine_order_magic_ignored = { @@ -462,6 +506,7 @@ doctrine_order_magic = { order_magic_ignored = yes order_magic_not_openly_learnable = yes being_order_accepted = yes + order_magic_gender_dominant = yes } } doctrine_order_magic_accepted = { @@ -484,6 +529,7 @@ doctrine_order_magic = { order_magic_accepted = yes order_magic_openly_learnable = yes being_order_accepted = yes + order_magic_gender_dominant = yes } } doctrine_order_magic_approved = { @@ -515,6 +561,16 @@ doctrine_order_magic = { order_magic_approved = yes order_magic_openly_learnable = yes being_order_accepted = yes + order_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_order_magic_1 = 0.3 + user_of_order_magic_2 = 0.6 + user_of_order_magic_3 = 0.9 + user_of_order_magic_4 = 1.2 + user_of_order_magic_5 = 1.5 + } } } } @@ -545,6 +601,7 @@ doctrine_life_magic = { life_magic_illegal = yes life_magic_not_openly_learnable = yes being_life_illegal = yes + life_magic_gender_unspecified = yes } } doctrine_life_magic_shunned = { @@ -568,6 +625,7 @@ doctrine_life_magic = { life_magic_shunned = yes life_magic_not_openly_learnable = yes being_life_shunned = yes + life_magic_gender_unspecified = yes } } doctrine_life_magic_ignored = { @@ -592,6 +650,7 @@ doctrine_life_magic = { life_magic_ignored = yes life_magic_not_openly_learnable = yes being_life_accepted = yes + life_magic_gender_dominant = yes } } doctrine_life_magic_accepted = { @@ -614,6 +673,7 @@ doctrine_life_magic = { life_magic_accepted = yes life_magic_openly_learnable = yes being_life_accepted = yes + life_magic_gender_dominant = yes } } doctrine_life_magic_approved = { @@ -645,6 +705,16 @@ doctrine_life_magic = { life_magic_approved = yes life_magic_openly_learnable = yes being_life_accepted = yes + life_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_life_magic_1 = 0.3 + user_of_life_magic_2 = 0.6 + user_of_life_magic_3 = 0.9 + user_of_life_magic_4 = 1.2 + user_of_life_magic_5 = 1.5 + } } } } @@ -675,6 +745,7 @@ doctrine_death_magic = { death_magic_illegal = yes death_magic_not_openly_learnable = yes being_undead_illegal = yes + death_magic_gender_unspecified = yes } } doctrine_death_magic_shunned = { @@ -698,6 +769,7 @@ doctrine_death_magic = { death_magic_shunned = yes death_magic_not_openly_learnable = yes being_undead_shunned = yes + death_magic_gender_unspecified = yes } } doctrine_death_magic_ignored = { @@ -722,6 +794,7 @@ doctrine_death_magic = { death_magic_ignored = yes death_magic_not_openly_learnable = yes being_undead_accepted = yes + death_magic_gender_dominant = yes } } doctrine_death_magic_accepted = { @@ -744,6 +817,7 @@ doctrine_death_magic = { death_magic_accepted = yes death_magic_openly_learnable = yes being_undead_accepted = yes + death_magic_gender_dominant = yes } } doctrine_death_magic_approved = { @@ -775,6 +849,16 @@ doctrine_death_magic = { death_magic_approved = yes death_magic_openly_learnable = yes being_undead_accepted = yes + death_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_death_magic_1 = 0.3 + user_of_death_magic_2 = 0.6 + user_of_death_magic_3 = 0.9 + user_of_death_magic_4 = 1.2 + user_of_death_magic_5 = 1.5 + } } } } @@ -822,6 +906,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_unspecified = yes } } doctrine_elemental_fire_magic_shunned = { @@ -862,6 +947,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_unspecified = yes } } doctrine_elemental_fire_magic_ignored = { @@ -899,6 +985,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_dominant = yes } } doctrine_elemental_fire_magic_accepted = { @@ -931,6 +1018,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_dominant = yes } } doctrine_elemental_fire_spirit_magic_accepted = { @@ -971,6 +1059,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_dominant = yes } } doctrine_elemental_fire_decay_magic_accepted = { @@ -1011,6 +1100,7 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_openly_learnable = yes + elemental_fire_magic_gender_dominant = yes } } doctrine_elemental_fire_spirit_magic_approved = { @@ -1059,6 +1149,16 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_openly_learnable = yes elemental_fire_decay_magic_not_openly_learnable = yes + elemental_fire_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_fire_spirit_magic_1 = 0.3 + user_of_elemental_fire_spirit_magic_2 = 0.6 + user_of_elemental_fire_spirit_magic_3 = 0.9 + user_of_elemental_fire_spirit_magic_4 = 1.2 + user_of_elemental_fire_spirit_magic_5 = 1.5 + } } } doctrine_elemental_fire_decay_magic_approved = { @@ -1107,6 +1207,16 @@ doctrine_elemental_fire_magic = { elemental_fire_magic_not_openly_learnable = yes elemental_fire_spirit_magic_not_openly_learnable = yes elemental_fire_decay_magic_openly_learnable = yes + elemental_fire_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_fire_decay_magic_1 = 0.3 + user_of_elemental_fire_decay_magic_2 = 0.6 + user_of_elemental_fire_decay_magic_3 = 0.9 + user_of_elemental_fire_decay_magic_4 = 1.2 + user_of_elemental_fire_decay_magic_5 = 1.5 + } } } } @@ -1154,6 +1264,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_unspecified = yes } } doctrine_elemental_water_magic_shunned = { @@ -1194,6 +1305,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_unspecified = yes } } doctrine_elemental_water_magic_ignored = { @@ -1231,6 +1343,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_dominant = yes } } doctrine_elemental_water_magic_accepted = { @@ -1263,6 +1376,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_dominant = yes } } doctrine_elemental_water_spirit_magic_accepted = { @@ -1303,6 +1417,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_dominant = yes } } doctrine_elemental_water_decay_magic_accepted = { @@ -1343,6 +1458,7 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_openly_learnable = yes + elemental_water_magic_gender_dominant = yes } } doctrine_elemental_water_spirit_magic_approved = { @@ -1391,6 +1507,16 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_openly_learnable = yes elemental_water_decay_magic_not_openly_learnable = yes + elemental_water_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_water_spirit_magic_1 = 0.3 + user_of_elemental_water_spirit_magic_2 = 0.6 + user_of_elemental_water_spirit_magic_3 = 0.9 + user_of_elemental_water_spirit_magic_4 = 1.2 + user_of_elemental_water_spirit_magic_5 = 1.5 + } } } doctrine_elemental_water_decay_magic_approved = { @@ -1439,6 +1565,16 @@ doctrine_elemental_water_magic = { elemental_water_magic_not_openly_learnable = yes elemental_water_spirit_magic_not_openly_learnable = yes elemental_water_decay_magic_openly_learnable = yes + elemental_water_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_water_decay_magic_1 = 0.3 + user_of_elemental_water_decay_magic_2 = 0.6 + user_of_elemental_water_decay_magic_3 = 0.9 + user_of_elemental_water_decay_magic_4 = 1.2 + user_of_elemental_water_decay_magic_5 = 1.5 + } } } } @@ -1486,6 +1622,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_unspecified = yes } } doctrine_elemental_air_magic_shunned = { @@ -1526,6 +1663,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_unspecified = yes } } doctrine_elemental_air_magic_ignored = { @@ -1563,6 +1701,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_dominant = yes } } doctrine_elemental_air_magic_accepted = { @@ -1595,6 +1734,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_dominant = yes } } doctrine_elemental_air_spirit_magic_accepted = { @@ -1635,6 +1775,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_dominant = yes } } doctrine_elemental_air_decay_magic_accepted = { @@ -1675,6 +1816,7 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_openly_learnable = yes + elemental_air_magic_gender_dominant = yes } } doctrine_elemental_air_spirit_magic_approved = { @@ -1723,6 +1865,16 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_openly_learnable = yes elemental_air_decay_magic_not_openly_learnable = yes + elemental_air_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_air_spirit_magic_1 = 0.3 + user_of_elemental_air_spirit_magic_2 = 0.6 + user_of_elemental_air_spirit_magic_3 = 0.9 + user_of_elemental_air_spirit_magic_4 = 1.2 + user_of_elemental_air_spirit_magic_5 = 1.5 + } } } doctrine_elemental_air_decay_magic_approved = { @@ -1771,6 +1923,16 @@ doctrine_elemental_air_magic = { elemental_air_magic_not_openly_learnable = yes elemental_air_spirit_magic_not_openly_learnable = yes elemental_air_decay_magic_openly_learnable = yes + elemental_air_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_air_decay_magic_1 = 0.3 + user_of_elemental_air_decay_magic_2 = 0.6 + user_of_elemental_air_decay_magic_3 = 0.9 + user_of_elemental_air_decay_magic_4 = 1.2 + user_of_elemental_air_decay_magic_5 = 1.5 + } } } } @@ -1818,6 +1980,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_unspecified = yes } } doctrine_elemental_earth_magic_shunned = { @@ -1858,6 +2021,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_unspecified = yes } } doctrine_elemental_earth_magic_ignored = { @@ -1895,6 +2059,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_dominant = yes } } doctrine_elemental_earth_magic_accepted = { @@ -1927,6 +2092,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_dominant = yes } } doctrine_elemental_earth_spirit_magic_accepted = { @@ -1967,6 +2133,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_dominant = yes } } doctrine_elemental_earth_decay_magic_accepted = { @@ -2007,6 +2174,7 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_openly_learnable = yes + elemental_earth_magic_gender_dominant = yes } } doctrine_elemental_earth_spirit_magic_approved = { @@ -2055,6 +2223,16 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_openly_learnable = yes elemental_earth_decay_magic_not_openly_learnable = yes + elemental_earth_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_earth_spirit_magic_1 = 0.3 + user_of_elemental_earth_spirit_magic_2 = 0.6 + user_of_elemental_earth_spirit_magic_3 = 0.9 + user_of_elemental_earth_spirit_magic_4 = 1.2 + user_of_elemental_earth_spirit_magic_5 = 1.5 + } } } doctrine_elemental_earth_decay_magic_approved = { @@ -2103,6 +2281,16 @@ doctrine_elemental_earth_magic = { elemental_earth_magic_not_openly_learnable = yes elemental_earth_spirit_magic_not_openly_learnable = yes elemental_earth_decay_magic_openly_learnable = yes + elemental_earth_magic_gender_clerical = yes + } + traits = { + virtues = { + user_of_elemental_earth_decay_magic_1 = 0.3 + user_of_elemental_earth_decay_magic_2 = 0.6 + user_of_elemental_earth_decay_magic_3 = 0.9 + user_of_elemental_earth_decay_magic_4 = 1.2 + user_of_elemental_earth_decay_magic_5 = 1.5 + } } } } diff --git a/common/religion/doctrines/wc_doctrines_religions.txt b/common/religion/doctrines/wc_doctrines_religions.txt index f5b13fff1d..fc95568102 100644 --- a/common/religion/doctrines/wc_doctrines_religions.txt +++ b/common/religion/doctrines/wc_doctrines_religions.txt @@ -115,7 +115,6 @@ hostility_override_tenet_shadow_syncretism = 1 #Pure evil religions - hostility_override_intolerance_hostility_doctrine = 3 hostility_override_shathgral_hostility_doctrine = 3 hostility_override_death_god_hostility_doctrine = 3 hostility_override_burning_legion_religion_hostility_doctrine = 3 diff --git a/common/religion/doctrines/wc_doctrines_special.txt b/common/religion/doctrines/wc_doctrines_special.txt index f4220394b0..0675ab3579 100644 --- a/common/religion/doctrines/wc_doctrines_special.txt +++ b/common/religion/doctrines/wc_doctrines_special.txt @@ -28,6 +28,70 @@ is_primitive_faith = { ### --- ### +doctrine_end_justifies_means = { + group = "special" + + is_available_on_create = { + has_doctrine = special_doctrine_end_justifies_means + } + + special_doctrine_end_justifies_means = { #Combination of tenet_human_sacrifice tenet_warmonger tenet_pursuit_of_power + parameters = { + #tenet_human_sacrifice + human_sacrifice_active = yes + flower_war_cb_active = yes + + #tenet_warmonger + warmonger = yes + conquest_cb_enabled = yes + invasion_cb_enabled = yes + great_holy_wars_active_if_reformed = yes + clergy_can_fight = yes + + #tenet_pursuit_of_power + #conquest_cb_enabled = yes + #invasion_cb_enabled = yes + + faith_can_raid = yes + + magic_use_ubiquitous = yes + } + + character_modifier = { + #tenet_human_sacrifice + #ai_war_chance = 1 + #ai_war_cooldown = -0.5 + + #tenet_warmonger + ai_war_chance = 0.5 + ai_war_cooldown = -0.25 + accolade_glory_gain_mult = 0.1 + + #tenet_pursuit_of_power + title_creation_cost_mult = -0.5 + tyranny_gain_mult = -0.5 + direct_vassal_opinion = -10 + } + + traits = { + virtues = { + sadistic callous + + #tenet_pursuit_of_power + ambitious + disloyal + } + sins = { + compassionate + + #tenet_pursuit_of_power + content + loyal + } + } + } +} + doctrine_elunic_gender_stratification = { group = "special" @@ -55,6 +119,7 @@ doctrine_earth_mother_mercy = { being_undead_illegal = no being_undead_shunned = no being_undead_accepted = yes + earthmother_magic_gender = yes } } } @@ -82,6 +147,7 @@ is_troll_faith = { special_doctrine_is_troll_faith = { parameters = { religious_troll_clothing = yes + troll_faith_magic_gender = yes } } } @@ -98,6 +164,7 @@ doctrine_eastern_kingdoms_syncretism = { hostility_override_tenet_eastern_kingdoms_syncretism = 1 hostility_override_special_doctrine_eastern_kingdoms_syncretism = 1 granting_titles_gives_stress = yes + eks_faith_magic_gender = yes } } } \ No newline at end of file diff --git a/common/schemes/scheme_types/abduct_scheme.txt b/common/schemes/scheme_types/abduct_scheme.txt index c18ff3d3d8..91cd038c7a 100644 --- a/common/schemes/scheme_types/abduct_scheme.txt +++ b/common/schemes/scheme_types/abduct_scheme.txt @@ -263,6 +263,30 @@ add_agent_slot = agent_footpad add_agent_slot = agent_lookout } + # Warcraft + if = { + limit = { + scope:target = { + has_perk = order_magic_tree_2_perk_5 + has_variable = scheme_reflect_count + var:scheme_reflect_count > 0 + } + } + scope:target = { + set_variable = reflect_interaction + set_variable = reflect_interaction_cancel + set_variable = { name = current_scheme value = scope:scheme } + open_interaction_window = { + interaction = wc_spell_reflect_cancel_interaction + actor = this + recipient = this + } + } + trigger_event = { + on_action = on_abduct_reflect + } + } + # End Warcraft } on_phase_completed = { suppress_scheme_follow_up_event_till_input_given_effect = yes diff --git a/common/schemes/scheme_types/claim_throne_scheme.txt b/common/schemes/scheme_types/claim_throne_scheme.txt index 7c72bd2e94..46462d0a7b 100644 --- a/common/schemes/scheme_types/claim_throne_scheme.txt +++ b/common/schemes/scheme_types/claim_throne_scheme.txt @@ -175,6 +175,14 @@ scope:owner = { first_contact_hostile_stance_of_trigger = { target = scope:target } } desc = reverse_first_contact_opinion_desc } + # Warcraft Magic + modifier = { + add = 25 + scope:owner = { + has_character_modifier = wc_twisted_chains_modifier + } + desc = wc_twisted_chains_modifier_desc_value + } } base_secrecy = { add = secrecy_base_value @@ -200,6 +208,30 @@ add_agent_slot = agent_cleric add_agent_slot = agent_justiciar } + # Warcraft + if = { + limit = { + scope:target = { + has_perk = order_magic_tree_2_perk_5 + has_variable = scheme_reflect_count + var:scheme_reflect_count > 0 + } + } + scope:target = { + set_variable = reflect_interaction + set_variable = reflect_interaction_cancel + set_variable = { name = current_scheme value = scope:scheme } + open_interaction_window = { + interaction = wc_spell_reflect_cancel_interaction + actor = this + recipient = this + } + } + trigger_event = { + on_action = on_claim_throne_reflect + } + } + # End Warcraft } on_phase_completed = { suppress_scheme_follow_up_event_till_input_given_effect = yes diff --git a/common/schemes/scheme_types/fabricate_hook_scheme.txt b/common/schemes/scheme_types/fabricate_hook_scheme.txt index efc44664f8..33480a2e7a 100644 --- a/common/schemes/scheme_types/fabricate_hook_scheme.txt +++ b/common/schemes/scheme_types/fabricate_hook_scheme.txt @@ -367,6 +367,30 @@ add_agent_slot = agent_infiltrator add_agent_slot = agent_lookout } + # Warcraft + if = { + limit = { + scope:target = { + has_perk = order_magic_tree_2_perk_5 + has_variable = scheme_reflect_count + var:scheme_reflect_count > 0 + } + } + scope:target = { + set_variable = reflect_interaction + set_variable = reflect_interaction_cancel + set_variable = { name = current_scheme value = scope:scheme } + open_interaction_window = { + interaction = wc_spell_reflect_cancel_interaction + actor = this + recipient = this + } + } + trigger_event = { + on_action = on_fabricate_hook_reflect + } + } + # End Warcraft } on_phase_completed = { suppress_scheme_follow_up_event_till_input_given_effect = yes diff --git a/common/schemes/scheme_types/murder_scheme.txt b/common/schemes/scheme_types/murder_scheme.txt index f7df53e611..7793373cf2 100644 --- a/common/schemes/scheme_types/murder_scheme.txt +++ b/common/schemes/scheme_types/murder_scheme.txt @@ -292,6 +292,15 @@ scope:owner = { first_contact_hostile_stance_of_trigger = { target = scope:target } } desc = reverse_first_contact_opinion_desc } + + # Warcraft Magic + modifier = { + add = 25 + scope:owner = { + has_character_modifier = wc_twisted_chains_modifier + } + desc = wc_twisted_chains_modifier_desc_value + } } base_secrecy = { add = secrecy_base_value @@ -330,6 +339,30 @@ root = { add_agent_slot = agent_poisoner } } } + # Warcraft + if = { + limit = { + scope:target = { + has_perk = order_magic_tree_2_perk_5 + has_variable = scheme_reflect_count + var:scheme_reflect_count > 0 + } + } + scope:target = { + set_variable = reflect_interaction + set_variable = reflect_interaction_cancel + set_variable = { name = current_scheme value = scope:scheme } + open_interaction_window = { + interaction = wc_spell_reflect_cancel_interaction + actor = this + recipient = this + } + } + trigger_event = { + on_action = on_murder_reflect + } + } + # End Warcraft } on_phase_completed = { suppress_scheme_follow_up_event_till_input_given_effect = yes diff --git a/common/schemes/scheme_types/seize_realm_scheme.txt b/common/schemes/scheme_types/seize_realm_scheme.txt index 77bfc50d91..61df536abc 100644 --- a/common/schemes/scheme_types/seize_realm_scheme.txt +++ b/common/schemes/scheme_types/seize_realm_scheme.txt @@ -245,6 +245,14 @@ scope:owner = { first_contact_hostile_stance_of_trigger = { target = scope:target } } desc = reverse_first_contact_opinion_desc } + # Warcraft Magic + modifier = { + add = 25 + scope:owner = { + has_character_modifier = wc_twisted_chains_modifier + } + desc = wc_twisted_chains_modifier_desc_value + } } # On Actions diff --git a/common/schemes/scheme_types/steal_back_artifact_scheme.txt b/common/schemes/scheme_types/steal_back_artifact_scheme.txt index e502300ab3..43e5243b39 100644 --- a/common/schemes/scheme_types/steal_back_artifact_scheme.txt +++ b/common/schemes/scheme_types/steal_back_artifact_scheme.txt @@ -194,6 +194,30 @@ add_agent_slot = agent_infiltrator add_agent_slot = agent_lookout } + # Warcraft + if = { + limit = { + scope:target = { + has_perk = order_magic_tree_2_perk_5 + has_variable = scheme_reflect_count + var:scheme_reflect_count > 0 + } + } + scope:target = { + set_variable = reflect_interaction + set_variable = reflect_interaction_cancel + set_variable = { name = current_scheme value = scope:scheme } + open_interaction_window = { + interaction = wc_spell_reflect_cancel_interaction + actor = this + recipient = this + } + } + trigger_event = { + on_action = on_steal_artifact_reflect + } + } + # End Warcraft } on_phase_completed = { suppress_scheme_follow_up_event_till_input_given_effect = yes diff --git a/common/script_values/00_activity_values.txt b/common/script_values/00_activity_values.txt index 3b23e18617..9cead3322f 100644 --- a/common/script_values/00_activity_values.txt +++ b/common/script_values/00_activity_values.txt @@ -599,8 +599,27 @@ feast_opinion_max_food_value = { } add = 10 } + # Warcraft + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + multiply = 2 + } + # End Warcraft multiply = court_brewmaster_multiplier } + + # Warcraft + if = { + limit = { + scope:activity.activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } + # End Warcraft } feast_opinion_medium_food_value = { @@ -624,8 +643,27 @@ feast_opinion_medium_food_value = { } add = 5 } + # Warcraft + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + multiply = 2 + } + # End Warcraft multiply = court_brewmaster_multiplier } + + # Warcraft + if = { + limit = { + scope:activity.activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } + # End Warcraft } feast_opinion_mediocre_food_value = { @@ -657,8 +695,27 @@ feast_opinion_mediocre_food_value = { } add = 2 } + # Warcraft + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + multiply = 2 + } + # End Warcraft multiply = court_brewmaster_multiplier } + + # Warcraft + if = { + limit = { + scope:activity.activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } + # End Warcraft } ### END FEASTS diff --git a/common/script_values/00_ai_values.txt b/common/script_values/00_ai_values.txt index 67ff0bf0e6..17151c2379 100644 --- a/common/script_values/00_ai_values.txt +++ b/common/script_values/00_ai_values.txt @@ -189,7 +189,9 @@ max_negative_rationality = -65 #fickle (-30) + zealous (-20) + wrathful (-15) high_negative_rationality = -30 #fickle medium_negative_rationality = -20 #zealous low_negative_rationality = -10 #impatient etc. 6 different traits -#There are a lot of lifestyle/physical traits which have big impacts on rationality. Maybe throw the intellect_good_3 +30 and the intellect_bad_3 -30 into the list as the highest ranking traits? Especially important for the positive rationality, as many characters will become more rational with age (if progressing in a lifestyle) +#There are a lot of lifestyle/physical traits which have big impacts on rationality. +#Maybe throw the intellect_good_3 +30 and the intellect_bad_3 -30 into the list as the highest ranking traits? +#Especially important for the positive rationality, as many characters will become more rational with age (if progressing in a lifestyle) #ai_vengefulness max_positive_vengefulness = 90 #vengeful (50) + stubborn (30) + patient (10) diff --git a/common/script_values/00_ep1_artifact_values.txt b/common/script_values/00_ep1_artifact_values.txt index fdbcf466e1..7c7d2ba462 100644 --- a/common/script_values/00_ep1_artifact_values.txt +++ b/common/script_values/00_ep1_artifact_values.txt @@ -322,3 +322,9 @@ artifact_durability_percent = { value = artifact_durability divide = artifact_max_durability } + +artifact_durability_percent_rounded = { + value = artifact_durability + divide = artifact_max_durability + round = yes +} \ No newline at end of file diff --git a/common/script_values/00_scheme_values.txt b/common/script_values/00_scheme_values.txt index 1905aa7fc8..2e56a2a71d 100755 --- a/common/script_values/00_scheme_values.txt +++ b/common/script_values/00_scheme_values.txt @@ -3770,6 +3770,15 @@ odds_murder_scheme_misc_value = { } add = 18 } + # Warcraft + if = { + limit = { + scope:owner = { + has_character_modifier = wc_twisted_chains_modifier + } + } + add = 25 + } } } diff --git a/common/script_values/01_dynamic_values.txt b/common/script_values/01_dynamic_values.txt index ae92fcf79e..e5b421c8f6 100644 --- a/common/script_values/01_dynamic_values.txt +++ b/common/script_values/01_dynamic_values.txt @@ -1692,12 +1692,25 @@ root_sexuality_female_chance = { # Referenced by code when auto-assigning perks. Root is a character. Supports the use of randomization num_perk_points = { - add = age - subtract = 16 - - divide = 3 - min = 0 - max = 20 + + # Warcraft + value = 0 + if = { + limit = { + NAND = { + has_game_rule = wc_mod_and_vanilla_perk_combination_disabled + has_any_wc_lifestyle_magical_trait_trigger = yes + } + } + + add = age + subtract = 16 + + divide = 3 + min = 0 + max = 20 + + } } stewardship_wealth_5002_investment_duration = 30 diff --git a/common/script_values/04_ep2_hunt_values.txt b/common/script_values/04_ep2_hunt_values.txt index 321215ad6b..05845727e7 100644 --- a/common/script_values/04_ep2_hunt_values.txt +++ b/common/script_values/04_ep2_hunt_values.txt @@ -766,6 +766,17 @@ hunt_success_chance_value = { limit = { var:hunt_success ?= flag:no } multiply = 0 } + if = { + limit = { + activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add = { + value = 20 + desc = game_concept_wc_spell_vernal_solstice + } + } min = 10 max = 80 } diff --git a/common/script_values/10_health_values.txt b/common/script_values/10_health_values.txt index 3e1d526099..6f0d7322fa 100644 --- a/common/script_values/10_health_values.txt +++ b/common/script_values/10_health_values.txt @@ -49,6 +49,63 @@ dysentery_max_recovery_time = 100 ergotism_min_recovery_time = minimum_recovery_time ergotism_max_recovery_time = 150 +# Warcraft +frost_fever_min_recovery_time = { # 416 min + value = minimum_recovery_time + add = { + value = 365 + } +} +frost_fever_max_recovery_time = { # 1146 max + value = frost_fever_min_recovery_time + add = { + value = 365 + multiply = 2 + } +} +crypt_fever_min_recovery_time = { # 416 min + value = minimum_recovery_time + add = { + value = 365 + } +} +crypt_fever_max_recovery_time = { # 1146 max + value = frost_fever_min_recovery_time + add = { + value = 365 + multiply = 2 + } +} +blood_plague_min_recovery_time = { # 1146 min + value = minimum_recovery_time + add = { + value = 365 + multiply = 2 + } +} +blood_plague_max_recovery_time = { # 1511 max + value = frost_fever_min_recovery_time + add = { + value = 365 + multiply = 3 + } +} +void_sickness_min_recovery_time = { # 1146 min + value = minimum_recovery_time + add = { + value = 365 + multiply = 2 + } +} +void_sickness_max_recovery_time = { # 1511 max + value = frost_fever_min_recovery_time + add = { + value = 365 + multiply = 3 + } +} +# End Warcraft + ### CONTAGION ### smallpox_contagion_min = 15 #If there is a physician, the character should be likely to meet them before first spread smallpox_contagion_max = 65 diff --git a/common/script_values/99_court_chaplain_values.txt b/common/script_values/99_court_chaplain_values.txt index 51e0608722..bbb101a8ef 100644 --- a/common/script_values/99_court_chaplain_values.txt +++ b/common/script_values/99_court_chaplain_values.txt @@ -325,6 +325,12 @@ court_chaplain_fabricate_claim_innovation_bonus_expansionism = { multiply = 0.50 } +court_chaplain_fabricate_claim_divine_service_perk = { + value = 0 + add = court_chaplain_fabricate_claim_base_total + multiply = 0.1 +} + # Relation impact court_chaplain_fabricate_claim_monthly_increase_friend_bonus = { value = court_chaplain_fabricate_claim_base_total diff --git a/common/script_values/wc_building_values.txt b/common/script_values/wc_building_values.txt index bffa463828..392bf9e2ab 100644 --- a/common/script_values/wc_building_values.txt +++ b/common/script_values/wc_building_values.txt @@ -182,4 +182,38 @@ titan_forge_highest_level_owned = { titan_forge_max_courtiers_to_generate = { value = titan_forge_highest_level_owned min = 1 +} + +temple_holding_count_value = { + value = 0 + + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_barony + } + if = { + limit = { + title_province = { + has_holding_type = church_holding + } + } + add = 1 + } + } + } + every_held_title = { + limit = { + tier = tier_barony + } + if = { + limit = { + title_province = { + has_holding_type = church_holding + } + } + add = 1 + } + } + } \ No newline at end of file diff --git a/common/script_values/wc_governments_values.txt b/common/script_values/wc_governments_values.txt index d201be4d03..876fb188b7 100644 --- a/common/script_values/wc_governments_values.txt +++ b/common/script_values/wc_governments_values.txt @@ -28,4 +28,37 @@ clan_government_tax_max_possible = { value = clan_government_tax_opinion_scale_positive multiply = 100 } +} + +dark_frenzy_gain_mult = { + value = 1 + + if = { + limit = { + has_character_modifier = wc_necrotic_rule_modifier + } + multiply = { + desc = wc_necrotic_rule_modifier_tt + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + add = 0.25 + } + } +} + +dark_frenzy_change_value = { + value = 0 + + if = { + limit = { + exists = scope:dark_frenzy_temp + } + add = scope:dark_frenzy_temp + } + + if = { + limit = { + scope:dark_frenzy_temp > 0 + } + multiply = dark_frenzy_gain_mult + } } \ No newline at end of file diff --git a/common/script_values/wc_law_values.txt b/common/script_values/wc_law_values.txt index 525f5dada2..eee76107fa 100644 --- a/common/script_values/wc_law_values.txt +++ b/common/script_values/wc_law_values.txt @@ -68,8 +68,29 @@ yearly_dark_frenzy_total_value = { add = yearly_dark_frenzy_decay_value } yearly_dark_frenzy_decay_value = { - value = yearly_dark_frenzy_decay_law_value - multiply = yearly_dark_frenzy_decal_realm_value + add = { + desc = MONTHLY_DARK_FRENZY_LAW + format = "WC_MAX_MANA_VALUE_FORMAT" + value = yearly_dark_frenzy_decay_law_value + } + + if = { + limit = { + has_character_modifier = wc_necrotic_rule_modifier + } + multiply = { + desc = wc_necrotic_rule_modifier_tt + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + value = 0.5 + } + } + + multiply = { + desc = MONTHLY_DARK_FRENZY_REALM + format = "WC_MAX_MANA_VALUE_FORMAT_DEC" + value = yearly_dark_frenzy_decal_realm_value + } + } yearly_dark_frenzy_decay_law_value = { value = -1 @@ -87,7 +108,7 @@ yearly_dark_frenzy_decay_law_value = { } } yearly_dark_frenzy_decal_realm_value = { - value = 1 + value = 0.9 if = { limit = { sub_realm_size < tiny_realm_size } multiply = 0.75 @@ -135,7 +156,6 @@ dark_frenzy_from_siege_value = { dark_frenzy_from_raid_value = { value = micro_dark_frenzy_gain } - dark_frenzy_from_convert_county = { value = minor_dark_frenzy_gain } diff --git a/common/script_values/wc_lifestyle_values.txt b/common/script_values/wc_lifestyle_values.txt index aad5cc42ce..06fec6fbe8 100644 --- a/common/script_values/wc_lifestyle_values.txt +++ b/common/script_values/wc_lifestyle_values.txt @@ -22,9 +22,9 @@ long_lived_lifestyle_xp_slowdown_offset_value = { } # Should be 30 in sum -long_lived_lifestyle_xp_slowdown_default_offset_value = 9 -long_lived_lifestyle_xp_slowdown_add_offset_value = 18 -long_lived_lifestyle_xp_slowdown_perks_to_basic_xp_value = 3 +long_lived_lifestyle_xp_slowdown_default_offset_value = 18 +long_lived_lifestyle_xp_slowdown_add_offset_value = 36 +long_lived_lifestyle_xp_slowdown_perks_to_basic_xp_value = 6 long_lived_lifestyle_xp_slowdown_human_offset_value = { value = long_lived_lifestyle_xp_slowdown_default_offset_value @@ -38,7 +38,7 @@ long_lived_lifestyle_xp_slowdown_basic_xp_value = { divide = long_lived_lifestyle_xp_slowdown_modifier_value } -long_lived_lifestyle_xp_slowdown_modifier_value = -5 +long_lived_lifestyle_xp_slowdown_modifier_value = -3 long_lived_lifestyle_xp_slowdown_per_perk_value = { value = long_lived_lifestyle_xp_slowdown_basic_xp_value diff --git a/common/script_values/wc_lifestyles_physical_values.txt b/common/script_values/wc_lifestyles_physical_values.txt deleted file mode 100644 index 7f3aa261b8..0000000000 --- a/common/script_values/wc_lifestyles_physical_values.txt +++ /dev/null @@ -1,7 +0,0 @@ -wc_perks_needed_for_level_1_physical_trait_value = 1 -wc_perks_needed_for_level_2_physical_trait_value = 3 -wc_perks_needed_for_level_3_physical_trait_value = 5 -wc_perks_needed_for_level_4_physical_trait_value = 7 -wc_perks_needed_for_level_5_physical_trait_value = 9 - -wc_perks_given_for_physical_level_up_value = 2 \ No newline at end of file diff --git a/common/script_values/wc_lifestyles_values.txt b/common/script_values/wc_lifestyles_values.txt new file mode 100644 index 0000000000..295e7e3b27 --- /dev/null +++ b/common/script_values/wc_lifestyles_values.txt @@ -0,0 +1,1804 @@ +wc_magic_bad_1_xp_gain_mult_value = -0.1 +wc_magic_bad_2_xp_gain_mult_value = -0.2 +wc_magic_bad_3_xp_gain_mult_value = -0.3 +wc_magic_good_1_xp_gain_mult_value = 0.1 +wc_magic_good_2_xp_gain_mult_value = 0.2 +wc_magic_good_3_xp_gain_mult_value = 0.3 +wc_magic_bad_noninheritable_xp_gain_mult_value = -0.15 +wc_magic_good_noninheritable_xp_gain_mult_value = 0.15 +wc_magic_racial_xp_gain_mult_value = 0.05 +wc_magic_special_exp_gain_mult_value = 0.1 +wc_magic_special2_exp_gain_mult_value = 0.2 +wc_perks_needed_for_level_1_physical_trait_value = 1 +wc_perks_needed_for_level_2_physical_trait_value = 3 +wc_perks_needed_for_level_3_physical_trait_value = 5 +wc_perks_needed_for_level_4_physical_trait_value = 7 +wc_perks_needed_for_level_5_physical_trait_value = 9 + +# wc_perks_given_for_physical_level_up_value = 2 + +wc_perks_needed_for_level_1_magic_trait_value = 1 +wc_perks_needed_for_level_2_magic_trait_value = 4 +wc_perks_needed_for_level_3_magic_trait_value = 8 +wc_perks_needed_for_level_4_magic_trait_value = 12 +wc_perks_needed_for_level_5_magic_trait_value = 16 + +wc_perks_given_for_magical_level_up_value = 4 # on average + +# wc_current_amount_of_perks_in_endurance_tree_value = { # These are used for localization +# value = 0 + +# if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 9 } +# } +# add = 9 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 8 } +# } +# add = 8 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 7 } +# } +# add = 7 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 6 } +# } +# add = 6 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 5 } +# } +# add = 5 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 4 } +# } +# add = 4 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 3 } +# } +# add = 3 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 2 } +# } +# add = 2 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_1 value = 1 } +# } +# add = 1 +# } +# } +# wc_current_amount_of_perks_in_dexterity_tree_value = { +# value = 0 + +# if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 9 } +# } +# add = 9 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 8 } +# } +# add = 8 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 7 } +# } +# add = 7 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 6 } +# } +# add = 6 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 5 } +# } +# add = 5 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 4 } +# } +# add = 4 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 3 } +# } +# add = 3 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 2 } +# } +# add = 2 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_2 value = 1 } +# } +# add = 1 +# } +# } +# wc_current_amount_of_perks_in_strength_tree_value = { +# value = 0 + +# if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 9 } +# } +# add = 9 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 8 } +# } +# add = 8 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 7 } +# } +# add = 7 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 6 } +# } +# add = 6 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 5 } +# } +# add = 5 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 4 } +# } +# add = 4 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 3 } +# } +# add = 3 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 2 } +# } +# add = 2 +# } +# else_if = { +# limit = { +# perks_in_tree = { tree = physical_tree_3 value = 1 } +# } +# add = 1 +# } +# } +# wc_perks_needed_for_next_level_physical_tree_endurance_trait_value = { +# if = { +# limit = { +# OR = { +# has_trait = physical_lifestyle_endurance_5 +# has_trait = physical_lifestyle_endurance_4 +# } +# } + +# value = wc_perks_needed_for_level_5_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_endurance_3 } + +# value = wc_perks_needed_for_level_4_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_endurance_2 } + +# value = wc_perks_needed_for_level_3_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_endurance_1 } + +# value = wc_perks_needed_for_level_2_physical_trait_value +# } +# else = { +# value = wc_perks_needed_for_level_1_physical_trait_value +# } +# } +# wc_perks_needed_for_next_level_physical_tree_dexterity_trait_value = { +# if = { +# limit = { +# OR = { +# has_trait = physical_lifestyle_dexterity_5 +# has_trait = physical_lifestyle_dexterity_4 +# } +# } + +# value = wc_perks_needed_for_level_5_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_dexterity_3 } + +# value = wc_perks_needed_for_level_4_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_dexterity_2 } + +# value = wc_perks_needed_for_level_3_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_dexterity_1 } + +# value = wc_perks_needed_for_level_2_physical_trait_value +# } +# else = { +# value = wc_perks_needed_for_level_1_physical_trait_value +# } +# } +# wc_perks_needed_for_next_level_physical_tree_strength_trait_value = { +# if = { +# limit = { +# OR = { +# has_trait = physical_lifestyle_strength_5 +# has_trait = physical_lifestyle_strength_4 +# } +# } + +# value = wc_perks_needed_for_level_5_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_strength_3 } + +# value = wc_perks_needed_for_level_4_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_strength_2 } + +# value = wc_perks_needed_for_level_3_physical_trait_value +# } +# else_if = { +# limit = { has_trait = physical_lifestyle_strength_1 } + +# value = wc_perks_needed_for_level_2_physical_trait_value +# } +# else = { +# value = wc_perks_needed_for_level_1_physical_trait_value +# } +# } +wc_perks_needed_for_next_level_light_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_light_magic_5 + has_trait = user_of_light_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_light_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_light_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_light_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_shadow_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_shadow_magic_5 + has_trait = user_of_shadow_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_shadow_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_shadow_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_shadow_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_disorder_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_disorder_magic_5 + has_trait = user_of_disorder_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_disorder_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_disorder_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_disorder_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_order_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_order_magic_5 + has_trait = user_of_order_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_order_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_order_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_order_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_life_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_life_magic_5 + has_trait = user_of_life_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_life_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_life_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_life_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_death_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_death_magic_5 + has_trait = user_of_death_magic_4 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_death_magic_3 } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_death_magic_2 } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { has_trait = user_of_death_magic_1 } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_elemental_fire_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_elemental_fire_magic_4 + has_trait = user_of_elemental_fire_spirit_magic_4 + has_trait = user_of_elemental_fire_decay_magic_4 + has_trait = user_of_elemental_fire_magic_5 + has_trait = user_of_elemental_fire_spirit_magic_5 + has_trait = user_of_elemental_fire_decay_magic_5 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_fire_magic_3 + has_trait = user_of_elemental_fire_spirit_magic_3 + has_trait = user_of_elemental_fire_decay_magic_3 + } + } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_fire_magic_2 + has_trait = user_of_elemental_fire_spirit_magic_2 + has_trait = user_of_elemental_fire_decay_magic_2 + } + } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_fire_magic_1 + has_trait = user_of_elemental_fire_spirit_magic_1 + has_trait = user_of_elemental_fire_decay_magic_1 + } + } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_elemental_water_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_elemental_water_magic_4 + has_trait = user_of_elemental_water_spirit_magic_4 + has_trait = user_of_elemental_water_decay_magic_4 + has_trait = user_of_elemental_water_magic_5 + has_trait = user_of_elemental_water_spirit_magic_5 + has_trait = user_of_elemental_water_decay_magic_5 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_water_magic_3 + has_trait = user_of_elemental_water_spirit_magic_3 + has_trait = user_of_elemental_water_decay_magic_3 + } + } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_water_magic_2 + has_trait = user_of_elemental_water_spirit_magic_2 + has_trait = user_of_elemental_water_decay_magic_2 + } + } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_water_magic_1 + has_trait = user_of_elemental_water_spirit_magic_1 + has_trait = user_of_elemental_water_decay_magic_1 + } + } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_elemental_air_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_elemental_air_magic_4 + has_trait = user_of_elemental_air_spirit_magic_4 + has_trait = user_of_elemental_air_decay_magic_4 + has_trait = user_of_elemental_air_magic_5 + has_trait = user_of_elemental_air_spirit_magic_5 + has_trait = user_of_elemental_air_decay_magic_5 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_air_magic_3 + has_trait = user_of_elemental_air_spirit_magic_3 + has_trait = user_of_elemental_air_decay_magic_3 + } + } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_air_magic_2 + has_trait = user_of_elemental_air_spirit_magic_2 + has_trait = user_of_elemental_air_decay_magic_2 + } + } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_air_magic_1 + has_trait = user_of_elemental_air_spirit_magic_1 + has_trait = user_of_elemental_air_decay_magic_1 + } + } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} +wc_perks_needed_for_next_level_elemental_earth_magic_trait_value = { + if = { + limit = { + OR = { + has_trait = user_of_elemental_earth_magic_4 + has_trait = user_of_elemental_earth_spirit_magic_4 + has_trait = user_of_elemental_earth_decay_magic_4 + has_trait = user_of_elemental_earth_magic_5 + has_trait = user_of_elemental_earth_spirit_magic_5 + has_trait = user_of_elemental_earth_decay_magic_5 + } + } + + value = wc_perks_needed_for_level_5_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_earth_magic_3 + has_trait = user_of_elemental_earth_spirit_magic_3 + has_trait = user_of_elemental_earth_decay_magic_3 + } + } + + value = wc_perks_needed_for_level_4_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_earth_magic_2 + has_trait = user_of_elemental_earth_spirit_magic_2 + has_trait = user_of_elemental_earth_decay_magic_2 + } + } + + value = wc_perks_needed_for_level_3_magic_trait_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_earth_magic_1 + has_trait = user_of_elemental_earth_spirit_magic_1 + has_trait = user_of_elemental_earth_decay_magic_1 + } + } + + value = wc_perks_needed_for_level_2_magic_trait_value + } + else = { + value = wc_perks_needed_for_level_1_magic_trait_value + } +} + +@wc_local_lifestyle_auto_selection_weight_base_value = 11 + +# wc_physical_lifestyle_auto_selection_weight_add_to_base_value = { +# value = 0 + +# if = { +# limit = { +# OR = { +# has_trait = education_martial_prowess +# has_dire_or_giant_trigger = yes +# has_trait = physique_good +# has_trait = strong +# has_trait = lifestyle_blademaster +# has_trait = lifestyle_hunter +# has_trait = athletic +# has_trait = berserker +# has_trait = viking +# has_trait = shieldmaiden +# # has_trait = varangian +# } +# } +# add = 1989 +# } +# if = { +# limit = { # Don't upgrade historical characters' classes on gamestart +# game_start_day_trigger = yes +# } +# multiply = 0 +# } +# } + +wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value = { + value = 0 + + if = { + limit = { + OR = { + has_trait = magic_good + has_trait = magic_good_noninheritable + } + } + add = 1989 + } +} + +@wc_local_lifestyle_auto_selection_weight_education_add_positive_tiny_to_base_value = 100 +@wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value = 250 +@wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value = 1000 + +@wc_local_lifestyle_multiply_mod_positive_big = 10 +@wc_local_lifestyle_multiply_mod_positive_medium = 5 +@wc_local_lifestyle_multiply_mod_positive_small = 3 +@wc_local_lifestyle_multiply_mod_positive_tiny = 1.5 + +@wc_local_lifestyle_multiply_mod_negative_medium = 0.25 +@wc_local_lifestyle_multiply_mod_negative_small = 0.5 +@wc_local_lifestyle_multiply_mod_negative_tiny = 0.75 + +wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value = { # Common multiplier of all focuses + value = 1 + + if = { + limit = { + OR = { + has_trait = magic_bad + has_trait = magic_bad_noninheritable + } + } + multiply = 0.01 + } + if = { + limit = { # Don't upgrade historical characters' classes on gamestart + game_start_day_trigger = yes + } + multiply = 0 + } +} +wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value = { + value = 1 + + if = { # Elemental duality - bravery + limit = { has_trait = brave } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = craven } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - naivete + limit = { has_trait = trusting } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = paranoid } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } +} +wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value = { + value = 1 + + if = { # Elemental duality - efficiency + limit = { has_trait = diligent } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = lazy } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - ruthlessness + limit = { has_trait = callous } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = sadistic } # Cruelty for cruelty's sake is not as efficient + multiply = @[wc_local_lifestyle_multiply_mod_positive_small] + } + else_if = { + limit = { has_trait = compassionate } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } +} + +wc_approved_magic_auto_selection_multiply_value = { # Cleargy and zealous prefer approved magic stronger than others + value = 1 + if = { + limit = { + OR = { + has_trait = zealous + is_clergy = yes + } + } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + else = { + multiply = @[wc_local_lifestyle_multiply_mod_positive_tiny] + } +} + +# wc_endurance_physical_auto_selection_value = { +# value = @[wc_local_lifestyle_auto_selection_weight_base_value] + +# #### Addings +# # Talent +# add = wc_physical_lifestyle_auto_selection_weight_add_to_base_value +# if = { # Education +# limit = { has_trait = education_martial_prowess } +# add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value +# } +# } +# wc_dexterity_physical_auto_selection_value = { +# value = @[wc_local_lifestyle_auto_selection_weight_base_value] + +# #### Addings +# # Talent +# add = wc_physical_lifestyle_auto_selection_weight_add_to_base_value +# if = { # Education +# limit = { has_trait = education_intrigue } +# add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value +# } +# } +# wc_strength_physical_auto_selection_value = { +# value = @[wc_local_lifestyle_auto_selection_weight_base_value] + +# #### Addings +# # Talent +# add = wc_physical_lifestyle_auto_selection_weight_add_to_base_value +# if = { # Education +# limit = { has_trait = education_martial_prowess } +# add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value +# } +# else_if = { +# limit = { has_trait = education_intrigue } +# add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value +# } +# } + +wc_light_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_tiny] # Paladins + # } + ## Light Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = light } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = light } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_shadow_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + else_if = { + limit = { has_trait = education_intrigue } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_tiny_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + # } + ## Shadow Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = shadow } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = shadow } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_disorder_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + else_if = { + limit = { has_trait = education_intrigue } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_tiny_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + # } + ## Disorder Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = disorder } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = disorder } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_order_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + # } + ## Order Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = order } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = order } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_life_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_tiny] # Druids + # } + ## Life Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = life } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = life } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_death_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + else_if = { + limit = { has_trait = education_intrigue } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_tiny_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_tiny] # Death Knights + # } + ## Death Magic + # Doctrines + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = death } } + multiply = wc_approved_magic_auto_selection_multiply_value + } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = death } + NOT = { has_trait = cynical } + } + multiply = 0 + } +} +wc_elemental_fire_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_small] # Shaman + # } + ## Fire Magic + # Doctrines + # if = { # Don't exists + # limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_fire } } + # multiply = wc_approved_magic_auto_selection_multiply_value + # } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + # Traits + if = { # Elemental duality - passion + limit = { has_trait = diligent } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = lazy } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - fury + limit = { has_trait = wrathful } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = calm } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } +} +wc_elemental_water_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_small] # Shaman + # } + ## Water Magic + # Doctrines + # if = { # Don't exists + # limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_water } } + # multiply = wc_approved_magic_auto_selection_multiply_value + # } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water } + NOT = { has_trait = cynical } + } + multiply = 0 + } + # Traits + if = { # Elemental duality - tranquility + limit = { has_trait = calm } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = wrathful } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - indecisiveness + limit = { has_trait = fickle } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = stubborn } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } +} +wc_elemental_air_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_small] # Shaman + # } + ## Air Magic + # Doctrines + # if = { # Don't exists + # limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_air } } + # multiply = wc_approved_magic_auto_selection_multiply_value + # } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air } + NOT = { has_trait = cynical } + } + multiply = 0 + } + # Traits + if = { # Elemental duality - cunning + limit = { has_trait = deceitful } + multiply = @[wc_local_lifestyle_multiply_mod_positive_small] + } + else_if = { + limit = { has_trait = honest } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { + limit = { has_trait = paranoid } + multiply = @[wc_local_lifestyle_multiply_mod_positive_small] + } + else_if = { + limit = { has_trait = trusting } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - madness + limit = { + OR = { + has_trait = lunatic_1 + has_trait = lunatic_genetic + has_trait = possessed_1 + has_trait = possessed_genetic + } + } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } +} +wc_elemental_earth_magic_auto_selection_value = { + value = @[wc_local_lifestyle_auto_selection_weight_base_value] + + #### Addings + # Talent + add = wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value + if = { # Education + limit = { has_trait = education_learning } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_big_to_base_value + } + else_if = { + limit = { has_trait = education_martial } + add = @wc_local_lifestyle_auto_selection_weight_education_add_positive_small_to_base_value + } + + ### Multipliers + # Common + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_all_magic_value + ## Other lifestyle traits + # if = { + # limit = { has_any_wc_lifestyle_physical_trait_trigger = yes } + + # multiply = @[wc_local_lifestyle_multiply_mod_negative_small] # Shaman + # } + ## Earth Magic + # Doctrines + # if = { # Don't exists + # limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_earth } } + # multiply = wc_approved_magic_auto_selection_multiply_value + # } + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth } + NOT = { has_trait = cynical } + } + multiply = 0 + } + # Traits + if = { # Elemental duality - stability + limit = { has_trait = just } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = arbitrary } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } + if = { # Elemental duality - stubbornness + limit = { has_trait = stubborn } + multiply = @[wc_local_lifestyle_multiply_mod_positive_medium] + } + else_if = { + limit = { has_trait = fickle } + multiply = @[wc_local_lifestyle_multiply_mod_negative_medium] + } +} +wc_elemental_fire_spirit_magic_auto_selection_value = { + value = wc_elemental_fire_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_fire_spirit } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_spirit } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value +} +wc_elemental_water_spirit_magic_auto_selection_value = { + value = wc_elemental_water_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_water_spirit } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_spirit } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value +} +wc_elemental_air_spirit_magic_auto_selection_value = { + value = wc_elemental_air_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_air_spirit } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_spirit } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value +} +wc_elemental_earth_spirit_magic_auto_selection_value = { + value = wc_elemental_earth_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_earth_spirit } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_spirit } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value +} +wc_elemental_fire_decay_magic_auto_selection_value = { + value = wc_elemental_fire_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_fire_decay } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_decay } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value +} +wc_elemental_water_decay_magic_auto_selection_value = { + value = wc_elemental_water_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_water_decay } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_decay } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value +} +wc_elemental_air_decay_magic_auto_selection_value = { + value = wc_elemental_air_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_air_decay } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_decay } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value +} +wc_elemental_earth_decay_magic_auto_selection_value = { + value = wc_elemental_earth_magic_auto_selection_value + + if = { + limit = { MAGIC_is_approved_trigger = { MAGIC = elemental_earth_decay } } + multiply = @[wc_local_lifestyle_multiply_mod_positive_big] + } + + if = { + limit = { + MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_decay } + NOT = { has_trait = cynical } + } + multiply = 0 + } + + multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value +} + + +wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value = 5 +wc_lifestyle_perk_auto_selection_weight_order_focus_value = 750 + +wc_min_elemental_favour_value = -100 +wc_max_elemental_favour_value = 100 +wc_spirit_elemental_favour_threshold_value = 34 # THIS OR MORE is spirit +wc_decay_elemental_favour_threshold_value = -34 # THIS OR LESS is decay + +wc_miniscule_elemental_favour_change_value = 5 +wc_minor_elemental_favour_change_value = 10 +wc_medium_elemental_favour_change_value = 15 +wc_major_elemental_favour_change_value = 25 # SHOULD BE LESS THAN wc_spirit_elemental_favour_threshold_value +wc_massive_elemental_favour_change_value = 50 # SHOULD BE MORE THAN wc_spirit_elemental_favour_threshold_value +wc_monumental_elemental_favour_change_value = 75 + +wc_starting_elemental_approved_favour_value = wc_monumental_elemental_favour_change_value +wc_starting_elemental_accepted_favour_value = wc_massive_elemental_favour_change_value + +wc_starting_elemental_fire_favour_value = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_spirit_magic_approved } } + add = wc_starting_elemental_approved_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_decay_magic_approved } } + subtract = wc_starting_elemental_approved_favour_value + } + else = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_spirit_magic_accepted } } + add = wc_starting_elemental_accepted_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_decay_magic_accepted } } + subtract = wc_starting_elemental_accepted_favour_value + } + } +} +wc_starting_elemental_water_favour_value = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_water_spirit_magic_approved } } + add = wc_starting_elemental_approved_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_water_decay_magic_approved } } + subtract = wc_starting_elemental_approved_favour_value + } + else = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_water_spirit_magic_accepted } } + add = wc_starting_elemental_accepted_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_water_decay_magic_accepted } } + subtract = wc_starting_elemental_accepted_favour_value + } + } +} +wc_starting_elemental_air_favour_value = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_air_spirit_magic_approved } } + add = wc_starting_elemental_approved_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_air_decay_magic_approved } } + subtract = wc_starting_elemental_approved_favour_value + } + else = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_air_spirit_magic_accepted } } + add = wc_starting_elemental_accepted_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_air_decay_magic_accepted } } + subtract = wc_starting_elemental_accepted_favour_value + } + } +} +wc_starting_elemental_earth_favour_value = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_spirit_magic_approved } } + add = wc_starting_elemental_approved_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_decay_magic_approved } } + subtract = wc_starting_elemental_approved_favour_value + } + else = { + if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_spirit_magic_accepted } } + add = wc_starting_elemental_accepted_favour_value + } + else_if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_decay_magic_accepted } } + subtract = wc_starting_elemental_accepted_favour_value + } + } +} + +wc_elemental_fire_favour_current_value = { # The game needs a value, but can't find it because a variable isn't set, so it trowns an error, this is a fix + value = 0 + if = { + limit = { has_variable = wc_elemental_fire_favour_variable } + + add = var:wc_elemental_fire_favour_variable + } + else = { + add = wc_starting_elemental_fire_favour_value + } +} +wc_elemental_water_favour_current_value = { + value = 0 + if = { + limit = { has_variable = wc_elemental_water_favour_variable } + + add = var:wc_elemental_water_favour_variable + } + else = { + add = wc_starting_elemental_water_favour_value + } +} +wc_elemental_air_favour_current_value = { + value = 0 + if = { + limit = { has_variable = wc_elemental_air_favour_variable } + + add = var:wc_elemental_air_favour_variable + } + else = { + add = wc_starting_elemental_air_favour_value + } +} +wc_elemental_earth_favour_current_value = { + value = 0 + if = { + limit = { has_variable = wc_elemental_earth_favour_variable } + + add = var:wc_elemental_earth_favour_variable + } + else = { + add = wc_starting_elemental_earth_favour_value + } +} + +wc_needed_elemental_fire_favour_to_switch_disposition_from_any_to_spirit_value = { # Used in localization + value = wc_spirit_elemental_favour_threshold_value + subtract = wc_elemental_fire_favour_current_value +} +wc_needed_elemental_fire_favour_to_switch_disposition_from_any_to_decay_value = { + value = wc_decay_elemental_favour_threshold_value + subtract = wc_elemental_fire_favour_current_value +} +wc_needed_elemental_fire_favour_to_switch_disposition_from_spirit_to_neutral_value = { + value = wc_elemental_fire_favour_current_value + subtract = wc_spirit_elemental_favour_threshold_value + multiply = -1 + subtract = 1 +} +wc_needed_elemental_fire_favour_to_switch_disposition_from_decay_to_neutral_value = { + value = wc_elemental_fire_favour_current_value + subtract = wc_decay_elemental_favour_threshold_value + multiply = -1 + add = 1 +} +wc_needed_elemental_water_favour_to_switch_disposition_from_any_to_spirit_value = { + value = wc_spirit_elemental_favour_threshold_value + subtract = wc_elemental_water_favour_current_value +} +wc_needed_elemental_water_favour_to_switch_disposition_from_any_to_decay_value = { + value = wc_decay_elemental_favour_threshold_value + subtract = wc_elemental_water_favour_current_value +} +wc_needed_elemental_water_favour_to_switch_disposition_from_spirit_to_neutral_value = { + value = wc_elemental_water_favour_current_value + subtract = wc_spirit_elemental_favour_threshold_value + multiply = -1 + subtract = 1 +} +wc_needed_elemental_water_favour_to_switch_disposition_from_decay_to_neutral_value = { + value = wc_elemental_water_favour_current_value + subtract = wc_decay_elemental_favour_threshold_value + multiply = -1 + add = 1 +} +wc_needed_elemental_air_favour_to_switch_disposition_from_any_to_spirit_value = { + value = wc_spirit_elemental_favour_threshold_value + subtract = wc_elemental_air_favour_current_value +} +wc_needed_elemental_air_favour_to_switch_disposition_from_any_to_decay_value = { + value = wc_decay_elemental_favour_threshold_value + subtract = wc_elemental_air_favour_current_value +} +wc_needed_elemental_air_favour_to_switch_disposition_from_spirit_to_neutral_value = { + value = wc_elemental_air_favour_current_value + subtract = wc_spirit_elemental_favour_threshold_value + multiply = -1 + subtract = 1 +} +wc_needed_elemental_air_favour_to_switch_disposition_from_decay_to_neutral_value = { + value = wc_elemental_air_favour_current_value + subtract = wc_decay_elemental_favour_threshold_value + multiply = -1 + add = 1 +} +wc_needed_elemental_earth_favour_to_switch_disposition_from_any_to_spirit_value = { + value = wc_spirit_elemental_favour_threshold_value + subtract = wc_elemental_earth_favour_current_value +} +wc_needed_elemental_earth_favour_to_switch_disposition_from_any_to_decay_value = { + value = wc_decay_elemental_favour_threshold_value + subtract = wc_elemental_earth_favour_current_value +} +wc_needed_elemental_earth_favour_to_switch_disposition_from_spirit_to_neutral_value = { + value = wc_elemental_earth_favour_current_value + subtract = wc_spirit_elemental_favour_threshold_value + multiply = -1 + subtract = 1 +} +wc_needed_elemental_earth_favour_to_switch_disposition_from_decay_to_neutral_value = { + value = wc_elemental_earth_favour_current_value + subtract = wc_decay_elemental_favour_threshold_value + multiply = -1 + add = 1 +} + +wc_layoutstretchfactor_elemental_fire_spiritanddecay_favour_value = { # Used in gui + value = 50 + + add = { + value = wc_elemental_fire_favour_current_value + multiply = 0.5 + } +} +wc_layoutstretchfactor_elemental_water_spiritanddecay_favour_value = { + value = 50 + + add = { + value = wc_elemental_water_favour_current_value + multiply = 0.5 + } +} +wc_layoutstretchfactor_elemental_air_spiritanddecay_favour_value = { + value = 50 + + add = { + value = wc_elemental_air_favour_current_value + multiply = 0.5 + } +} +wc_layoutstretchfactor_elemental_earth_spiritanddecay_favour_value = { + value = 50 + + add = { + value = wc_elemental_earth_favour_current_value + multiply = 0.5 + } +} + +wc_piety_per_elemental_favour_one_element = 12 +wc_piety_per_elemental_favour_four_elements = 3 + +wc_piety_per_elemental_favour = { + value = 0 + if = { + limit = { + calc_true_if = { + amount = 4 + + faith = { has_doctrine_parameter = elemental_fire_spirit_magic_approved } + faith = { has_doctrine_parameter = elemental_water_spirit_magic_approved } + faith = { has_doctrine_parameter = elemental_air_spirit_magic_approved } + faith = { has_doctrine_parameter = elemental_earth_spirit_magic_approved } + + faith = { has_doctrine_parameter = elemental_fire_decay_magic_approved } + faith = { has_doctrine_parameter = elemental_water_decay_magic_approved } + faith = { has_doctrine_parameter = elemental_air_decay_magic_approved } + faith = { has_doctrine_parameter = elemental_earth_decay_magic_approved } + } + } + add = wc_piety_per_elemental_favour_four_elements + } + else = { + add = wc_piety_per_elemental_favour_one_element + } +} + +wc_elemental_fire_favour_after_change_value = { # For localization + value = wc_elemental_fire_favour_current_value + + if = { + limit = { exists = scope:wc_elemental_favour_after_change_variable } + + add = scope:wc_elemental_favour_after_change_variable + } + + min = -100 + max = 100 +} +wc_elemental_water_favour_after_change_value = { + value = wc_elemental_water_favour_current_value + + if = { + limit = { exists = scope:wc_elemental_favour_after_change_variable } + + add = scope:wc_elemental_favour_after_change_variable + } + + min = -100 + max = 100 +} +wc_elemental_air_favour_after_change_value = { + value = wc_elemental_air_favour_current_value + + if = { + limit = { exists = scope:wc_elemental_favour_after_change_variable } + + add = scope:wc_elemental_favour_after_change_variable + } + + min = -100 + max = 100 +} +wc_elemental_earth_favour_after_change_value = { + value = wc_elemental_earth_favour_current_value + + if = { + limit = { exists = scope:wc_elemental_favour_after_change_variable } + + add = scope:wc_elemental_favour_after_change_variable + } + + min = -100 + max = 100 +} \ No newline at end of file diff --git a/common/script_values/wc_magic_lifestyles_values.txt b/common/script_values/wc_magic_lifestyles_values.txt deleted file mode 100644 index 96ea116a27..0000000000 --- a/common/script_values/wc_magic_lifestyles_values.txt +++ /dev/null @@ -1,7 +0,0 @@ -wc_perks_needed_for_level_1_magic_trait_value = 1 -wc_perks_needed_for_level_2_magic_trait_value = 4 -wc_perks_needed_for_level_3_magic_trait_value = 8 -wc_perks_needed_for_level_4_magic_trait_value = 12 -wc_perks_needed_for_level_5_magic_trait_value = 16 - -wc_perks_given_for_magical_level_up_value = 4 # on average \ No newline at end of file diff --git a/common/script_values/wc_magic_perk_values.txt b/common/script_values/wc_magic_perk_values.txt new file mode 100644 index 0000000000..376a93337a --- /dev/null +++ b/common/script_values/wc_magic_perk_values.txt @@ -0,0 +1,21 @@ +eternal_suffering_value = { + value = 0 + switch = { + trigger = has_inactive_trait + eternal_suffering_5 = { add = 5 } + eternal_suffering_4 = { add = 4 } + eternal_suffering_3 = { add = 3 } + eternal_suffering_2 = { add = 2 } + eternal_suffering_1 = { add = 1 } + } +} + +current_eternal_suffering_value = { + value = 0 + if = { + limit = { + exists = scope:current_eternal_suffering_value + } + add = scope:current_eternal_suffering_value + } +} \ No newline at end of file diff --git a/common/script_values/wc_magic_spell_values.txt b/common/script_values/wc_magic_spell_values.txt new file mode 100644 index 0000000000..6b8e1ee887 --- /dev/null +++ b/common/script_values/wc_magic_spell_values.txt @@ -0,0 +1,6684 @@ +## BASE VALUES ## +wc_spell_mana_cost_low = 15 +wc_spell_mana_cost_low_2 = 20 +wc_spell_mana_cost_medium = 23 +wc_spell_mana_cost_medium_2 = 27 +wc_spell_mana_cost_high = 31 +wc_spell_mana_cost_high_2 = 35 + +wc_spell_channeled_mana_cost_low = 0.75 +wc_spell_channeled_mana_cost_medium = 1 +wc_spell_channeled_mana_cost_high = 1.5 + +wc_spell_dispel_type_mana_cost = 40 + +wc_spell_rank_2_mana_cost_mult = 1.5 +wc_spell_rank_3_mana_cost_mult = 2.5 +wc_spell_2_targets_mana_cost_mult = 1.3 +wc_spell_3_targets_mana_cost_mult = 1.5 +# All rituals cost 50% of max mana base, up to 150 mana (1-2 exceptions) +# Add cooldown modifiers +# Add cast time modifiers +# Add mana cost modifiers +# Add duration modifiers +wc_spell_cast_time_instant = 0 +wc_spell_cast_time_very_short = 15 +wc_spell_cast_time_short = 35 +wc_spell_cast_time_medium = 60 +wc_spell_cast_time_long = 100 +wc_spell_cast_time_very_long = 165 +wc_spell_cast_time_ritual = 365 + +wc_spell_cooldown_none = 0 +wc_spell_cooldown_very_short = 60 +wc_spell_cooldown_short = 120 +wc_spell_cooldown_medium = 180 +wc_spell_cooldown_long = 270 +wc_spell_cooldown_very_long = 450 +wc_spell_cooldown_dispel_personal_short = 180 +wc_spell_cooldown_dispel_personal_medium = 270 +wc_spell_cooldown_dispel_personal_long = 360 +wc_spell_cooldown_dispel_rank_1 = 360 +wc_spell_cooldown_dispel_rank_2 = 530 +wc_spell_cooldown_dispel_rank_3 = 720 +wc_spell_cooldown_ritual_short = 1095 # 3 years, but it starts at 2 years technically +wc_spell_cooldown_ritual = 1825 # 5 years +wc_spell_cooldown_ritual_medium = 2735 #~7.5 years +wc_spell_cooldown_ritual_long = 3650 # 10 years +## BASE VALUES ## + +# Magical prowess bonsues should always be added in last, as well as general ones +wc_magic_mana_cost_value = { # Use for changing Mana cost for ALL spells (multiply this value) + value = 1 + min = 0 + if = { + limit = { + has_character_modifier = wc_backdraft_proc_modifier + } + add = { + value = -1 + desc = game_concept_wc_spell_backdraft + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_perk = shadow_magic_tree_2_perk_4 + } + if = { + limit = { + stress_level = 1 + } + multiply = { + value = 1 + subtract = { + add = 0.10 + desc = shadow_magic_tree_2_perk_4_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + else_if = { + limit = { + stress_level = 2 + } + multiply = { + value = 1 + subtract = { + add = 0.20 + desc = shadow_magic_tree_2_perk_4_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + else_if = { + limit = { + stress_level = 3 + } + multiply = { + value = 1 + subtract = { + add = 0.30 + desc = shadow_magic_tree_2_perk_4_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + } +} +wc_magic_cooldown_value = { # Use for changing Cooldown for ALL spells (multiply this value) + value = 1 + min = 0 + if = { + limit = { + has_character_modifier = wc_burnout_modifier + } + add = { + value = 0.3 + desc = wc_burnout_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_haste_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.15 + desc = wc_haste_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_slow_modifier + } + multiply = { + value = 1 + add = { + add = 0.15 + desc = wc_slow_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_communion_nzoth_modifier + } + multiply = { + value = 1 + add = { + add = 0.15 + desc = wc_communion_nzoth_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_flag = void_shield_flag + } + add = { + value = 0.3 + desc = wc_void_shield_title + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + subtract = { + value = wc_mp_value_cd_percentage + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } +} +wc_magic_resistance_per_mp = { + value = 0.05 +} +wc_magic_resistance_from_mp = { + value = 0 + add = wc_mp_value + multiply = wc_magic_resistance_per_mp +} +wc_diplo_range_per_mp = { + value = 0.75 +} +wc_diplo_range_from_mp = { + value = 0 + add = wc_mp_value + multiply = wc_diplo_range_per_mp +} +wc_magic_cast_time_value = { # Use for changing Cast time for ALL spells (multiply this value) + value = 1 + min = 0 + if = { + limit = { + has_trait = wounded_1 + } + add = { + value = 0.05 + desc = trait_wounded_1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + has_trait = wounded_2 + } + add = { + value = 0.1 + desc = trait_wounded_2 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + has_trait = wounded_3 + } + add = { + value = 0.2 + desc = trait_wounded_3 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_trait = frostbite_1 + } + add = { + value = 0.05 + desc = trait_frostbite_1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + has_trait = frostbite_2 + } + add = { + value = 0.1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = trait_frostbite_2 + } + } + else_if = { + limit = { + has_trait = frostbite_3 + } + add = { + value = 0.2 + desc = trait_frostbite_3 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_trait = ill + } + add = { + value = 0.15 + desc = trait_ill + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_trait = pneumonic + } + add = { + value = 0.3 + desc = trait_pneumonic + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_haste_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.15 + desc = wc_haste_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_slow_modifier + } + multiply = { + value = 1 + add = { + add = 0.15 + desc = wc_slow_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_frostbolt_modifier + } + add = { + value = 0.1 + desc = wc_frostbolt_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_blizzard_character_modifier + } + add = { + value = 0.2 + desc = wc_blizzard_character_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_rebuke_modifier + } + multiply = { + value = 1 + add = { + add = 0.25 + desc = wc_rebuke_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + multiply = { + value = 1 + add = { + add = 0.10 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_retribution_aura_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.15 + desc = wc_retribution_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_suramar_sacrifice_arcandor_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.15 + desc = wc_suramar_sacrifice_arcandor_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_trait = void_sickness + } + add = { + value = 0.05 + desc = trait_void_sickness + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_void_leader_modifier + } + multiply = { + value = 1 + add = { + add = -0.25 + desc = wc_void_leader_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + if = { + limit = { + has_character_modifier = wc_rend_flesh_2_modifier + } + add = { + value = 0.15 + desc = wc_rend_flesh_2_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_rend_flesh_3_modifier + } + add = { + value = 0.25 + desc = wc_rend_flesh_3_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_communion_nzoth_modifier + } + multiply = { + value = 1 + add = { + add = 0.15 + desc = wc_communion_nzoth_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } +} +wc_magic_duration_value = { # Use for changing Duration for ALL spells (multiply this value) + value = 1 + min = 0 + add = { + value = wc_mp_duration_value_percentage + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + + if = { + limit = { + has_variable = chronomancy_double_duration + } + multiply = 2 + } +} +wc_current_spell_duration = { + value = 0 + add = scope:duration +} +wc_current_spell_minus_one_duration = { + value = 0 + add = scope:duration + subtract = 1 +} +############################################################################################## ELEMENTAL MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_elemental_magic_mana_cost_value = { # Use for changing Mana cost for ALL elemental spells (multiply this value) + value = 1 + if = { + limit = { + exists = var:elemental_type + var:elemental_type = flag:decay + } + multiply = { + value = 0.75 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = wc_mana_decay_value_desc + } + } +} +wc_elemental_magic_cooldown_value = { # Use for changing Cooldown cost for ALL elemental spells (multiply this value) + value = 1 +} +wc_elemental_magic_cast_time_value = { # Use for changing Cast time for ALL elemental spells (multiply this value) + value = 1 +} +wc_elemental_magic_duration_value = { # Use for changing Duration for ALL elemental spells (multiply this value) + value = 1 +} +wc_nonelemental_magic_mana_cost_value = { # Use for changing Mana cost for ALL non elemental spells (multiply this value) + value = 1 +} +wc_nonelemental_magic_cooldown_value = { # Use for changing Cooldown cost for ALL non elemental spells (multiply this value) + value = 1 +} +wc_nonelemental_magic_cast_time_value = { # Use for changing Cast time for ALL non elemental spells (multiply this value) + value = 1 +} +wc_nonelemental_magic_duration_value = { # Use for changing Duration for ALL non elemental spells (multiply this value) + value = 1 +} +############################################################################################## ELEMENTAL FIRE MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_elemental_fire_magic_mana_cost_value = { # Use for changing Mana cost for ALL elemental fire spells (multiply this value) + value = 1 +} +wc_elemental_fire_magic_cooldown_value = { # Use for changing Cooldown for ALL elemental fire spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_fire_elemental_modifier + } + add = { + value = -0.15 + desc = wc_summon_fire_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_fire_magic_blessing_modifier + } + add = { + value = { + add = -0.05 + multiply = var:wc_fire_magic_blessing_var + } + desc = wc_fire_magic_blessing_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_elemental_fire_magic_cast_time_value = { # Use for changing Cast time for ALL elemental fire spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_fire_elemental_modifier + } + add = { + value = -0.3 + desc = wc_summon_fire_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_elemental_fire_magic_duration_value = { # Use for changing Duration for ALL elemental fire spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_fire_elemental_modifier + } + add = { + value = 0.15 + desc = wc_summon_fire_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_fire_magic_blessing_modifier + } + add = { + value = { + add = 0.05 + multiply = var:wc_fire_magic_blessing_var + } + desc = wc_fire_magic_blessing_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +################################################ GENERAL VALUES ################################################ + +wc_spell_none_duration_days_value = 0 # Error suppression + +### SUMMON FIRE ELEMENTAL ### +wc_spell_summon_fire_elemental_rank_1_cost_mana_base_value = wc_spell_mana_cost_low +wc_spell_summon_fire_elemental_duration_days_base_value = 200 +wc_spell_summon_fire_elemental_rank_1_cooldown_days_base_value = wc_spell_cooldown_short +wc_spell_summon_fire_elemental_rank_2_cooldown_days_base_value = wc_spell_cooldown_medium + +wc_spell_summon_fire_elemental_cost_mana_value = { + value = { + add = { + value = wc_spell_summon_fire_elemental_rank_1_cost_mana_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_summon_fire_elemental_rank_1_cost_mana_base_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_summon_fire_elemental_rank_1_cost_mana_base_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_summon_fire_elemental_cooldown_value = { + min = 0 + if = { + limit = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_summon_fire_elemental_rank_1_cooldown_days_base_value + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank = 2 + } + add = { + value = wc_spell_summon_fire_elemental_rank_2_cooldown_days_base_value + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank = 3 + } + add = { + value = wc_spell_summon_fire_elemental_rank_2_cooldown_days_base_value + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_summon_fire_elemental_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_summon_fire_elemental_duration_days_value = { + min = 5 + value = { + add = wc_spell_summon_fire_elemental_duration_days_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + if = { + limit = { + OR = { + AND = { + has_variable = current_spell_rank + var:current_spell_rank = 3 + } + NOT = { + has_variable = summon_fire_elemental_rank + } + } + AND = { + has_variable = summon_fire_elemental_rank + var:summon_fire_elemental_rank = 3 + } + } + add = { + value = { + add = 30 + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### SUMMON FIRE ELEMENTAL ### + +### LAVA LASH ### +wc_spell_lava_lash_cost_mana_value = { + value = { + add = { + value = 10 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} + +wc_spell_lava_lash_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} + +wc_spell_lava_lash_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes + +} + +wc_spell_lava_lash_duration_days_value = { + min = 5 + value = { + add = 90 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### LAVA LASH ### + +### BACKDRAFT ### +wc_spell_backdraft_cost_base_mana_value = 6 + +wc_spell_backdraft_cost_mana_value = { + value = { + add = { + value = wc_spell_backdraft_cost_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_backdraft_cost_base_mana_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_backdraft_cost_base_mana_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + if = { + limit = { + has_variable_list = spell_targets_list + } + if = { + limit = { + variable_list_size = { + name = spell_targets_list + value = 2 + } + } + multiply = { + value = wc_spell_2_targets_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_extra_targets + } + } + else_if = { + limit = { + variable_list_size = { + name = spell_targets_list + value = 3 + } + } + multiply = { + value = wc_spell_3_targets_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_extra_targets + } + } + } + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} + +wc_spell_backdraft_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} + +wc_spell_backdraft_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} + +wc_spell_backdraft_duration_days_value = { + min = 5 + value = { + add = 120 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} + +### BACKDRAFT ### +### FLAME WALL ### +wc_spell_flame_wall_base_mana_value = 11 +wc_spell_flame_wall_cost_mana_value = { + value = { + add = { + value = wc_spell_flame_wall_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_flame_wall_base_mana_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_flame_wall_base_mana_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_flame_wall_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_flame_wall_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_flame_wall_duration_days_value = { + min = 5 + value = { + add = 90 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### FLAME WALL ### +### FLAME SHOCK ### +wc_spell_flame_shock_base_mana_value = 8 +wc_spell_flame_shock_cost_mana_value = { + value = { + add = { + value = wc_spell_flame_shock_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_flame_shock_base_mana_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_flame_shock_base_mana_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_flame_shock_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_flame_shock_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_flame_shock_duration_days_value = 0 +### FLAME SHOCK ### +### BURNOUT ### +wc_spell_burnout_base_mana_value = 7 +wc_spell_burnout_cost_mana_value = { + value = { + add = { + value = wc_spell_burnout_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_flame_shock_base_mana_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_flame_shock_base_mana_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_burnout_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_burnout_cooldown_value = { + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_burnout_duration_days_value = { + min = 5 + value = { + add = 230 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### BURNOUT ### +## RITUAL: PLANAR FIRE ## +wc_spell_planar_fire_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + if = { + limit = { + has_character_flag = wc_has_free_planar_fire + } + value = { + multiply = 0 + desc = wc_free_planar_fire + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + max = 150 + round = yes +} +wc_spell_planar_fire_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + if = { + limit = { + has_character_flag = wc_has_free_planar_fire + } + value = { + multiply = 0 + desc = wc_free_planar_fire + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { has_character_flag = wc_ritual_failed_awful } + value = { + add = 365 + desc = wc_ritual_failed_awful + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + round = yes +} +wc_spell_planar_fire_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_planar_fire_duration_days_value = { # Duration for the effects + min = 5 + value = { + add = 450 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## RITUAL: PLANAR FIRE ## +## CAUTERIZE WOUND ## +wc_spell_cauterize_wound_base_mana_value = 5 +wc_spell_cauterize_wound_cost_mana_value = { + value = { + add = { + value = wc_spell_cauterize_wound_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + multiply = wc_elemental_fire_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_cauterize_wound_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_cauterize_wound_cooldown_value = { + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_cauterize_wound_duration_days_value = { + min = 5 + value = { + add = 200 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +wc_cauterize_wound_val = { + if = { + limit = { has_trait = wounded_1 } + add = 2 + } + else_if = { + limit = { has_trait = wounded_2 } + add = 4 + } + else_if = { + limit = { has_trait = wounded_3 } + add = 8 + } + if = { + limit = { has_trait = maimed } + add = 4 + } + if = { + limit = { has_trait = one_eyed } + add = 2 + } + if = { + limit = { has_trait = one_legged } + add = 4 + } + if = { + limit = { has_trait = one_legged } + add = 4 + } + if = { + limit = { has_trait = burned_1 } + add = 3 + } + else_if = { + limit = { has_trait = burned_2 } + add = 4 + } + else_if = { + limit = { has_trait = burned_3 } + add = 8 + } + if = { + limit = { has_trait = frostbite_1 } + add = 3 + } + else_if = { + limit = { has_trait = frostbite_2 } + add = 4 + } + else_if = { + limit = { has_trait = frostbite_3 } + add = 8 + } +} +## CAUTERIZE WOUND ## +## VERNAL SOLTSTICE ## +wc_spell_vernal_solstice_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_vernal_solstice_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_elemental_fire_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_vernal_solstice_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_vernal_solstice_duration_days_value = { + min = 5 + value = { + add = 1825 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_elemental_fire_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +############################################################################################## ORDER MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_order_magic_mana_cost_value = { # Use for changing Mana cost for ALL order spells (multiply this value) + value = 1 +} +wc_order_magic_cooldown_value = { # Use for changing Cooldown cost for ALL order spells (multiply this value) + value = 1 +} +wc_order_magic_cast_time_value = { # Use for changing Cast time for ALL order spells (multiply this value) + value = 1 +} +wc_order_magic_duration_value = { # Use for changing Duration for ALL order spells (multiply this value) + value = 1 +} + +wc_order_chronomancy_magic_duration_value = { # Use for changing Duration for ALL order spells (multiply this value) + value = 1 + + if = { + limit = { + has_variable = freeze_time_mult + } + multiply = { + value = 1 + add = { + add = var:freeze_time_mult + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = freeze_time_mult_value_desc + } + } + } +} + +wc_order_fire_magic_mana_cost_value = { # Use for changing Mana cost for fire order spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_flag = frost_synergy + } + multiply = { + value = 1 + subtract = { + add = 0.5 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = frost_synergy_value_desc + } + } + } +} +wc_order_fire_magic_cooldown_value = { # Use for changing cooldown for fire order spells (multiply this value) + value = 1 + + if = { + limit = { + has_trait_with_flag = wc_lifestyle_order_fire_magic_cooldown_bonus + } + multiply = { + value = 1 + subtract = { + add = 0.1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = trait_master_pyromancer + } + } + } +} +wc_order_fire_magic_cast_time_value = { # Use for changing cast time for fire order spells (multiply this value) + value = 1 + + if = { + limit = { + has_trait_with_flag = wc_lifestyle_order_fire_magic_cast_speed_bonus + } + multiply = { + value = 1 + subtract = { + add = 0.1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = trait_master_pyromancer + } + } + } +} + +wc_order_frost_magic_mana_cost_value = { # Use for changing Mana cost for frost order spells (multiply this value) + value = 1 +} + +wc_order_frost_magic_cooldown_value = { # Use for changing cooldown for frost order spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_flag = flame_synergy + } + multiply = { + value = 1 + subtract = { + add = 0.5 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = flame_synergy_value_desc + } + } + } + + if = { + limit = { + has_trait_with_flag = wc_lifestyle_order_frost_magic_cooldown_bonus + } + multiply = { + value = 1 + subtract = { + add = 0.1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = trait_master_cryomancer + } + } + } +} + +wc_order_frost_magic_duration_value = { # Use for changing duration for frost order spells (multiply this value) + value = 1 + + if = { + limit = { + has_trait_with_flag = wc_lifestyle_order_frost_magic_duration_bonus + } + multiply = { + value = 1 + add = { + add = 0.1 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = trait_master_cryomancer + } + } + } +} + +## POLYMORPH ## +wc_spell_polymorph_base_mana_value = wc_spell_mana_cost_low_2 +wc_spell_polymorph_cost_mana_value = { + value = { + add = { + value = wc_spell_polymorph_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_polymorph_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_polymorph_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_polymorph_duration_days_value = { + min = 10 + value = { + add = 200 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## POLYMORPH ## + +## COUNTERSPELL ## +wc_spell_counterspell_base_mana_value = wc_spell_mana_cost_medium +wc_spell_counterspell_cost_mana_value = { + value = { + add = { + value = wc_spell_counterspell_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_counterspell_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_counterspell_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_counterspell_duration_days_value = { + min = 10 + value = { + add = 100 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## COUNTERSPELL ## + +## SPELLSTEAL ## +wc_spell_spellsteal_base_mana_value = wc_spell_mana_cost_medium +wc_spell_spellsteal_cost_mana_value = { + value = { + add = { + value = wc_spell_spellsteal_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_spellsteal_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_spellsteal_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_spellsteal_duration_days_value = { + min = 10 + value = { + add = 100 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## SPELLSTEAL ## + +## SCRY ## +wc_spell_scry_base_mana_value = wc_spell_mana_cost_medium +wc_spell_scry_cost_mana_value = { + value = { + add = { + value = wc_spell_scry_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_scry_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_scry_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_scry_duration_days_value = { + min = 10 + value = { + add = 100 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## SCRY ## + +## HASTE ## +wc_spell_haste_base_mana_value = wc_spell_mana_cost_high +wc_spell_haste_cost_mana_value = { + value = { + add = { + value = wc_spell_haste_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_haste_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_haste_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_haste_duration_days_value = { + min = 10 + value = { + add = 80 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_chronomancy_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## HASTE ## + +## CONJURE REFRESHMENT ## +wc_spell_conjure_refreshment_base_mana_value = wc_spell_mana_cost_medium_2 +wc_spell_conjure_refreshment_cost_mana_value = { + value = { + add = { + value = wc_spell_conjure_refreshment_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank = 2 + } + add = { + value = { + add = wc_spell_conjure_refreshment_base_mana_value + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank = 3 + } + add = { + value = { + add = wc_spell_conjure_refreshment_base_mana_value + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_conjure_refreshment_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_conjure_refreshment_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_conjure_refreshment_duration_days_value = { + min = 10 + value = { + add = 80 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## CONJURE REFRESHMENT ## + +## CHRONOMANCY ## +wc_spell_chronomancy_base_mana_value = wc_spell_mana_cost_high_2 +wc_spell_chronomancy_cost_mana_value = { + value = { + add = { + value = wc_spell_chronomancy_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_chronomancy_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_chronomancy_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_chronomancy_duration_days_value = { + min = 0 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_chronomancy_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value +} +## CHRONOMANCY ## + +## EVOCATION ## +wc_spell_evocation_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_evocation_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_evocation_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_ritual_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_evocation_duration_days_value = { + min = 5 + value = { + add = 1825 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +## EVOCATION ## + +## ARCANE DOME ## +wc_spell_arcane_dome_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_arcane_dome_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_arcane_dome_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_ritual_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_arcane_dome_duration_days_value = { + min = 5 + value = { + add = 910 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +## ARCANE DOME ## + +## SCORCH ## +wc_spell_scorch_base_mana_value = wc_spell_mana_cost_low +wc_spell_scorch_cost_mana_value = { + value = { + add = { + value = wc_spell_scorch_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_fire_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_scorch_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cast_time_value + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_scorch_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_scorch_duration_days_value = 0 +## SCORCH ## + +## PYROBLAST ## +wc_spell_pyroblast_base_mana_value = wc_spell_mana_cost_low +wc_spell_pyroblast_cost_mana_value = { + value = { + add = { + value = wc_spell_pyroblast_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_fire_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_pyroblast_cast_time_value = { # TODO: Reduce to short after casting Frostfire Bolt + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cast_time_value + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_pyroblast_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_pyroblast_duration_days_value = 0 +## PYROBLAST ## + +## FLAMESTRIKE ## +wc_spell_flamestrike_base_mana_value = wc_spell_mana_cost_low_2 +wc_spell_flamestrike_cost_mana_value = { + value = { + add = { + value = wc_spell_flamestrike_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_fire_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_flamestrike_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cast_time_value + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_flamestrike_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_flamestrike_duration_days_base_value = { + min = 10 + value = { + add = 30 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +wc_spell_flamestrike_duration_days_value = { + min = 10 + value = wc_spell_flamestrike_duration_days_base_value + multiply = { + value = 10 + desc = wc_flamestrike_duration_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + round = yes +} +wc_spell_flamestrike_modifier_duration_months_value = { + value = wc_spell_flamestrike_duration_days_base_value + multiply = local_var:flamestrike_count +} +## FLAMESTRIKE ## + +## FIRE SHIELD ## +wc_spell_fire_shield_base_mana_value = wc_spell_mana_cost_low +wc_spell_fire_shield_cost_mana_value = { + value = { + add = { + value = wc_spell_fire_shield_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_fire_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_fire_shield_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cast_time_value + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_fire_shield_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_fire_shield_duration_days_value = { + min = 10 + value = { + add = 200 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## FIRE SHIELD ## + +## FROSTFIRE BOLT ## +wc_spell_frostfire_bolt_base_mana_value = wc_spell_mana_cost_medium +wc_spell_frostfire_bolt_cost_mana_value = { + value = { + add = { + value = wc_spell_frostfire_bolt_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_fire_magic_mana_cost_value + multiply = wc_order_frost_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_frostfire_bolt_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_fire_magic_cast_time_value + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_frostfire_bolt_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_cooldown_value + multiply = wc_order_fire_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_frostfire_bolt_duration_days_value = { + min = 10 + value = { + add = 150 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## FROSTFIRE BOLT ## + +## FROSTBOLT ## +wc_spell_frostbolt_base_mana_value = wc_spell_mana_cost_low +wc_spell_frostbolt_cost_mana_value = { + value = { + add = { + value = wc_spell_frostbolt_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_frost_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_frostbolt_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + if = { + limit = { + has_character_flag = icy_veins + } + multiply = { + value = 1 + subtract = { + add = 0.5 + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + desc = icy_veins_value_desc + } + } + } + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_frostbolt_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_frostbolt_duration_days_value = { + min = 10 + value = { + add = 90 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## FROSTBOLT ## + +## FROST NOVA ## +wc_spell_frost_nova_base_mana_value = wc_spell_mana_cost_low +wc_spell_frost_nova_cost_mana_value = { + value = { + add = { + value = wc_spell_frost_nova_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_frost_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_frost_nova_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_frost_nova_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_frost_nova_duration_days_value = { + min = 10 + value = { + add = 220 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## FROST NOVA ## + +## FROST ARMOR ## +wc_spell_frost_armor_base_mana_value = wc_spell_mana_cost_low_2 +wc_spell_frost_armor_cost_mana_value = { + value = { + add = { + value = wc_spell_frost_armor_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_frost_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_frost_armor_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_frost_armor_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_frost_armor_duration_days_value = { + min = 10 + value = { + add = 200 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## FROST ARMOR ## + +## BLIZZARD ## +wc_spell_blizzard_base_mana_value = wc_spell_mana_cost_medium_2 +wc_spell_blizzard_cost_mana_value = { + value = { + add = { + value = wc_spell_blizzard_base_mana_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_order_frost_magic_mana_cost_value + multiply = wc_order_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + round = yes +} +wc_spell_blizzard_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_blizzard_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_cooldown_value + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_blizzard_duration_days_value = { + min = 10 + value = { + add = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_order_frost_magic_duration_value + multiply = wc_order_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +## BLIZZARD ## +############################################################################################## LIGHT MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_light_magic_mana_cost_value = { # Use for changing Mana cost for ALL LIGHT spells (multiply this value) + value = 1 +} +wc_light_magic_cooldown_value = { # Use for changing Cooldown for ALL LIGHT fire spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = -0.3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_character_modifier = wc_retribution_aura_modifier + } + add = { + value = -0.25 + desc = wc_retribution_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_light_magic_cast_time_value = { # Use for changing Cast time for ALL LIGHT spells (multiply this value) + value = 1 +} +wc_light_magic_duration_value = { # Use for changing Duration for ALL LIGHT spells (multiply this value) + value = 1 +} +### DISPEL ### +wc_spell_dispel_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_dispel_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_dispel_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### DISPEL ### +### Flash of Light ### +wc_spell_flash_of_light_duration_days_value = 0 +wc_spell_flash_of_light_cost_mana_value = { + value = { + add = { + value = wc_spell_dispel_type_mana_cost + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = 12 + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = 18 + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_flash_of_light_cooldown_value = { + min = 0 + + if = { + limit = { + OR = { + AND = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + } + has_variable = current_spell_rank + } + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_cooldown_dispel_rank_1 + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = wc_spell_cooldown_dispel_rank_2 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_cooldown_dispel_rank_3 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_flash_of_light_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### Flash of Light ### +### Lightwell & Holy Fire ### +wc_spell_lightwell_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_lightwell_cooldown_value = { + min = 0 + add = { + value = { + add = wc_spell_cooldown_long + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_lightwell_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_lightwell_duration_days_value = { + min = 5 + value = { + add = 275 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_holy_fire_cost_mana_value = { + value = wc_spell_lightwell_cost_mana_value +} +wc_spell_holy_fire_cooldown_value = { + value = wc_spell_lightwell_cooldown_value +} +wc_spell_holy_fire_cast_time_value = { + value = wc_spell_lightwell_cast_time_value +} +wc_spell_holy_fire_duration_days_value = { + value = wc_spell_lightwell_duration_days_value +} +### Lightwell & Holy Fire ### +### Bless ### +wc_spell_bless_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = wc_spell_mana_cost_low + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = wc_spell_mana_cost_low + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_bless_cooldown_value = { + min = 0 + + if = { + limit = { + OR = { + AND = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + } + has_variable = current_spell_rank + } + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_cooldown_medium + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = wc_spell_cooldown_medium + add = 45 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_cooldown_medium + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_bless_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_bless_duration_days_value = { + min = 5 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = 365 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = 730 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Bless ### +### Consecration ### +wc_spell_consecration_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_consecration_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_consecration_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_consecration_duration_days_value = { + min = 5 + value = { + add = 270 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_consecration_spell_duration = { + value = 0 + add = scope:consecration_duration +} +### Consecration ### +### Rebuke ### +wc_spell_rebuke_duration_days_value = 0 +wc_spell_rebuke_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = { + add = 15 + multiply = wc_spell_rank_2_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = { + add = 18 + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_rebuke_cooldown_value = { + min = 0 + + if = { + limit = { + OR = { + AND = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + } + has_variable = current_spell_rank + } + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_cooldown_medium + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = wc_spell_cooldown_medium + add = 45 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_cooldown_long + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_rebuke_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### Rebuke ### +### Avenging Wrath ### +wc_spell_avenging_wrath_duration_days_value = 0 +wc_spell_avenging_wrath_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_avenging_wrath_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_avenging_wrath_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### Avenging Wrath ### +### Judgement ### +wc_spell_judgement_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_judgement_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_judgement_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### Judgement ### +### Divine Shield ### +wc_spell_divine_shield_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_divine_shield_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_divine_shield_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_divine_shield_duration_days_value = { + min = 5 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Divine Shield ### +### Exorcism ### +wc_spell_exorcism_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + multiply = { + value = wc_spell_rank_2_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_exorcism_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_exorcism_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_exorcism_duration_days_value = { + min = 5 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Exorcism ### +### Expulsion ### +wc_spell_expulsion_duration_days_value = 0 +wc_spell_expulsion_cost_mana_value = { + value = { + add = { + value = wc_spell_dispel_type_mana_cost + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + multiply = wc_light_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_expulsion_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_expulsion_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +### Expulsion ### +### Salvation ### +wc_spell_salvation_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.9 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + round = yes +} +wc_spell_salvation_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + add = 115 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_salvation_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### Salvation ### +### Divine Storm ### +wc_spell_divine_storm_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_divine_storm_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_divine_storm_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_divine_storm_duration_days_value = { + min = 5 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Divine Storm ### +### Blessed Bastion ### +wc_spell_blessed_bastion_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_blessed_bastion_cast_time_value = { + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_light_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_blessed_bastion_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_light_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_blessed_bastion_duration_days_value = { + min = 5 + value = { + add = 730 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_light_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Blessed Bastion ### + +############################################################################################## DEATH MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_death_magic_mana_cost_value = { # Use for changing Mana cost for ALL DEATH spells (multiply this value) + value = 1 + + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_2 + has_trait = wc_lifestyle_elemental_water_decay_magic + location_has_winter_trigger = yes + } + multiply = { + value = 0.8 + desc = spirit_of_entropy_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } +} +wc_death_magic_cooldown_value = { # Use for changing Cooldown for ALL DEATH fire spells (multiply this value) + value = 1 +} +wc_death_magic_cast_time_value = { # Use for changing Cast time for ALL DEATH spells (multiply this value) + value = 1 +} +wc_death_magic_duration_value = { # Use for changing Duration for ALL DEATH spells (multiply this value) + value = 1 +} + +################################################ SPELL VALUES ################################################ +### Raise Dead ### +wc_spell_raise_dead_undead_base_mana_cost_value = 0 +wc_spell_raise_dead_abomination_base_mana_cost_value = wc_spell_mana_cost_high +wc_spell_raise_dead_banshee_base_mana_cost_value = wc_spell_mana_cost_high +wc_spell_raise_dead_ghoul_base_mana_cost_value = wc_spell_mana_cost_low_2 +wc_spell_raise_dead_vampire_base_mana_cost_value = wc_spell_mana_cost_medium +# These are just for the tooltip +wc_spell_raise_dead_undead_mana_cost_value = { + value = wc_spell_raise_dead_cost_mana_value + add = { + value = wc_spell_raise_dead_undead_base_mana_cost_value + desc = trait_being_undead + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +wc_spell_raise_dead_abomination_mana_cost_value = { + value = wc_spell_raise_dead_cost_mana_value + add = { + value = wc_spell_raise_dead_abomination_base_mana_cost_value + desc = trait_creature_abomination + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +wc_spell_raise_dead_banshee_mana_cost_value = { + value = wc_spell_raise_dead_cost_mana_value + add = { + value = wc_spell_raise_dead_banshee_base_mana_cost_value + desc = trait_creature_banshee + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +wc_spell_raise_dead_ghoul_mana_cost_value = { + value = wc_spell_raise_dead_cost_mana_value + add = { + value = wc_spell_raise_dead_ghoul_base_mana_cost_value + desc = trait_creature_ghoul + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +wc_spell_raise_dead_vampire_mana_cost_value = { + value = wc_spell_raise_dead_cost_mana_value + add = { + value = wc_spell_raise_dead_vampire_base_mana_cost_value + desc = trait_creature_vampire + format = "WC_MAX_MANA_VALUE_FORMAT" + } +} +wc_spell_raise_dead_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + exists = var:raise_dead_type + } + switch = { + trigger = var:raise_dead_type + + flag:undead = { add = wc_spell_raise_dead_undead_base_mana_cost_value } + flag:abomination = { add = wc_spell_raise_dead_abomination_base_mana_cost_value } + flag:banshee = { add = wc_spell_raise_dead_banshee_base_mana_cost_value } + flag:ghoul = { add = wc_spell_raise_dead_ghoul_base_mana_cost_value } + flag:vampire = { add = wc_spell_raise_dead_vampire_base_mana_cost_value } + } + } + else_if = { + limit = { + exists = var:current_raise_dead_type + } + switch = { + trigger = var:current_raise_dead_type + + flag:undead = { add = wc_spell_raise_dead_undead_base_mana_cost_value } + flag:abomination = { add = wc_spell_raise_dead_abomination_base_mana_cost_value } + flag:banshee = { add = wc_spell_raise_dead_banshee_base_mana_cost_value } + flag:ghoul = { add = wc_spell_raise_dead_ghoul_base_mana_cost_value } + flag:vampire = { add = wc_spell_raise_dead_vampire_base_mana_cost_value } + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_raise_dead_cast_time_value = { + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_raise_dead_cooldown_value = { + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_raise_dead_duration_days_value = 0 +### Raise Dead ### + +### Death Coil ### +wc_spell_death_coil_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_death_coil_cast_time_value = { + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_death_coil_cooldown_value = { + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_death_coil_duration_days_value = { + min = 5 + value = { + add = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Death Coil ### + +### Death Grip ### +wc_spell_death_grip_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_death_grip_cast_time_value = { + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_death_grip_cooldown_value = { + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_death_grip_duration_days_value = { + min = 5 + value = { + add = 60 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Death Grip ### + +### Give Disease ### +wc_spell_give_disease_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_give_disease_cast_time_value = { + value = { + add = wc_spell_cast_time_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_give_disease_cooldown_value = { + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_give_disease_duration_days_value = 0 +### Give Disease ### + +### Death and Decay ### +wc_spell_death_and_decay_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_death_and_decay_cast_time_value = { + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_death_and_decay_cooldown_value = { + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_death_and_decay_duration_days_value = { + min = 5 + value = { + add = 75 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Death and Decay ### + +### Cripple ### +wc_spell_cripple_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_cripple_cast_time_value = { + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_cripple_cooldown_value = { + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_cripple_duration_days_value = { + min = 5 + value = { + add = 30 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Cripple ### + +### Improved Body ### +wc_spell_improved_body_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_improved_body_cast_time_value = { + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_improved_body_cooldown_value = { + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_improved_body_duration_days_value = 0 +### Improved Body ### + +### Coagulation ### +wc_spell_coagulation_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + multiply = { + value = wc_spell_rank_2_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + multiply = { + value = wc_spell_rank_3_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_coagulation_cast_time_value = { + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_coagulation_cooldown_value = { + min = 0 + if = { + limit = { + OR = { + AND = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + } + has_variable = current_spell_rank + } + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_cooldown_dispel_rank_1 + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = wc_spell_cooldown_dispel_rank_2 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_cooldown_dispel_rank_3 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_coagulation_duration_days_value = 0 +### Coagulation ### + +### Blood Boil ### +wc_spell_blood_boil_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_blood_boil_cast_time_value = { + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_blood_boil_cooldown_value = { + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_blood_boil_duration_days_value = 0 +### Blood Boil ### + +### Strangulate ### +wc_spell_strangulate_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_death_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_strangulate_cast_time_value = { + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_strangulate_cooldown_value = { + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_strangulate_duration_days_value = { + min = 5 + value = { + add = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +### Strangulate ### + +### Supreme Raise Dead ### +wc_spell_supreme_raise_dead_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 100 + max = 250 + round = yes +} +wc_spell_supreme_raise_dead_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_supreme_raise_dead_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_supreme_raise_dead_duration_days_value = 0 +### Supreme Raise Dead ### + +### Army of the Dead ### +wc_spell_army_of_the_dead_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_army_of_the_dead_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_army_of_the_dead_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_army_of_the_dead_duration_days_value = 0 +wc_spell_army_of_the_dead_strenght_value = { + value = 500 + if = { + limit = { + exists = scope:first_recipient + } + multiply = { + value = scope:first_recipient.development_level + divide = 50 + add = 1 + } + } + multiply = { + value = death_magic_lifestyle_perks + divide = 100 + add = 1 + } +} +### Supreme Raise Dead ### + +### Epidemic ### +wc_spell_epidemic_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_epidemic_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_epidemic_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_epidemic_duration_days_value = 0 +### Epidemic ### + +### Crimson Binding ### +wc_spell_crimson_binding_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_crimson_binding_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_death_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_crimson_binding_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_crimson_binding_duration_days_value = { + min = 5 + value = { + add = 365 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_death_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### Crimson Binding ### + + +############################################################################################## ELEMENTAL WATER MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_elemental_water_magic_mana_cost_value = { # Use for changing Mana cost for ALL elemental water spells (multiply this value) + value = 1 + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_4 + trigger_if = { + limit = { + var:spell_recipient ?= { + is_character_trigger = yes + } + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:spell_recipient + } + } + trigger_else_if = { + limit = { + has_variable = original_recipient + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:original_recipient + } + } + trigger_else = { + always = no + } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_4 + trigger_if = { + limit = { + var:spell_recipient ?= { + is_character_trigger = yes + } + } + has_relation_rival = var:spell_recipient + } + trigger_else_if = { + limit = { + has_variable = original_recipient + } + has_relation_rival = var:original_recipient + } + trigger_else = { + always = no + } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_elemental_water_magic_cooldown_value = { # Use for changing Cooldown for ALL elemental water spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_water_elemental_modifier + } + add = { + value = 0.05 + desc = wc_summon_water_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_elemental_water_magic_cast_time_value = { # Use for changing Cast time for ALL elemental water spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_water_elemental_modifier + } + add = { + value = 0.05 + desc = wc_summon_water_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_elemental_water_magic_duration_value = { # Use for changing Duration for ALL elemental water spells (multiply this value) + value = 1 + if = { + limit = { + has_character_modifier = wc_summon_water_elemental_modifier + } + add = { + value = 0.30 + desc = wc_summon_water_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} + + + +### SUMMON WATER ELEMENTAL ### +wc_spell_summon_water_elemental_rank_1_cost_mana_base_value = wc_spell_mana_cost_medium +wc_spell_summon_water_elemental_duration_days_base_value = 150 +wc_spell_summon_water_elemental_rank_1_cooldown_days_base_value = wc_spell_cooldown_medium +wc_spell_summon_water_elemental_rank_2_cooldown_days_base_value = wc_spell_cooldown_long + +wc_spell_summon_water_elemental_cost_mana_value = { + value = { + add = { + value = wc_spell_summon_water_elemental_rank_1_cost_mana_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + multiply = { + value = wc_spell_rank_2_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_rank_3_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + + if = { + limit = { + hurricane_cost_trigger = { SPELL = summon_water_elemental } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_summon_water_elemental_cooldown_value = { + min = 0 + if = { + limit = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = { + add = wc_spell_summon_water_elemental_rank_1_cooldown_days_base_value + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + else_if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank = 2 + } + add = { + value = wc_spell_summon_water_elemental_rank_2_cooldown_days_base_value + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank = 3 + } + add = { + value = wc_spell_summon_water_elemental_rank_2_cooldown_days_base_value + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = summon_water_elemental } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = summon_water_elemental } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_summon_water_elemental_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cast_time_trigger = { SPELL = summon_water_elemental } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_summon_water_elemental_duration_days_value = { + min = 5 + value = { + add = wc_spell_summon_water_elemental_duration_days_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + if = { + limit = { + OR = { + AND = { + has_variable = current_spell_rank + var:current_spell_rank = 3 + } + NOT = { + has_variable = summon_water_elemental_rank + } + } + AND = { + has_variable = summon_water_elemental_rank + var:summon_water_elemental_rank = 3 + } + } + add = { + value = { + add = 30 + multiply = wc_spell_rank_3_mana_cost_mult + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### SUMMON WATER ELEMENTAL ### + +### SOOTHING WATERS ### +wc_spell_soothing_waters_cost_mana_value = { + value = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_soothing_waters_cooldown_value = { + min = 0 + + value = { + value = wc_spell_cooldown_short + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = soothing_waters } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = soothing_waters } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_soothing_waters_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_soothing_waters_duration_days_value = { + min = 5 + value = { + add = { + value = wc_spell_cooldown_short + multiply = 0.5 + multiply = 3 + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### SOOTHING WATERS ### + +### RIVER SPIRIT'S RAGE ### +wc_spell_river_spirits_rage_cost_mana_value = { + value = { + value = wc_spell_mana_cost_high + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + multiply = { + value = wc_spell_rank_2_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + multiply = { + value = wc_spell_rank_3_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + + if = { + limit = { + hurricane_cost_trigger = { SPELL = river_spirits_rage } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_river_spirits_rage_cooldown_value = { + min = 0 + + if = { + limit = { + OR = { + var:current_spell_rank ?= 0 + var:current_spell_rank ?= 1 + NOT = { has_variable = current_spell_rank } + } + } + add = { + value = wc_spell_cooldown_long + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 2 + } + add = { + value = wc_spell_cooldown_very_long + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + add = { + value = wc_spell_cooldown_very_long + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = river_spirits_rage } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = river_spirits_rage } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_river_spirits_rage_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cast_time_trigger = { SPELL = river_spirits_rage } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_river_spirits_rage_duration_days_value = { + min = 5 + value = { + value = 200 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### RIVER SPIRIT'S RAGE ### + +### INVOKE TSUNAMI ### +wc_spell_invoke_tsunami_cost_mana_value = { + value = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cost_trigger = { SPELL = invoke_tsunami } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_invoke_tsunami_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_medium + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = invoke_tsunami } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = invoke_tsunami } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_invoke_tsunami_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cast_time_trigger = { SPELL = invoke_tsunami } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_invoke_tsunami_duration_days_value = { + min = 5 + value = { + value = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### INVOKE TSUNAMI ### + +### FROST SHOCK ### +wc_spell_frost_shock_cost_mana_value = { + value = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_frost_shock_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_medium + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = frost_shock } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = frost_shock } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_frost_shock_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_frost_shock_duration_days_value = 0 +### FROST SHOCK ### + +### ICEFURY ### +wc_spell_icefury_cost_mana_value = { + value = { + value = wc_spell_mana_cost_low_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cost_trigger = { SPELL = icefury } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_icefury_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_very_long + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = icefury } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = icefury } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_icefury_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cast_time_trigger = { SPELL = icefury } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_icefury_duration_days_value = { + min = 5 + value = { + value = 120 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### ICEFURY ### + +### ICE STRUCTURE ### +wc_spell_ice_structure_cost_mana_value = { + value = { + value = wc_spell_mana_cost_medium_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cost_trigger = { SPELL = ice_structure } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_mana_cost_value + multiply = wc_elemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_ice_structure_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_short + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = ice_structure } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = ice_structure } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_ice_structure_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + + if = { + limit = { + hurricane_cast_time_trigger = { SPELL = ice_structure } + } + + multiply = { + value = 1 + subtract = { + value = 0.1 + desc = hurricane_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_ice_structure_duration_days_value = { + min = 5 + value = { + value = 160 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + round = yes +} +### ICE STRUCTURE ### + +### RITUAL: ETERNAL WINTER ### +wc_spell_eternal_winter_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_eternal_winter_cooldown_value = { + min = 0 + + value = { + add = wc_spell_cooldown_ritual + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_base_value_desc + } + if = { + limit = { + best_served_cold_scheme_cooldown_trigger = { SPELL = eternal_winter } + } + add = { + value = -0.1 + desc = best_served_cold_scheme_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + else_if = { + limit = { + best_served_cold_rival_cooldown_trigger = { SPELL = eternal_winter } + } + add = { + value = -0.1 + desc = best_served_cold_rival_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + multiply = wc_elemental_water_magic_cooldown_value + multiply = wc_elemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + + round = yes +} +wc_spell_eternal_winter_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_cast_time_value + multiply = wc_elemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + + round = yes +} +wc_spell_eternal_winter_duration_days_value = { + min = 5 + value = { + add = 730 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_elemental_water_magic_duration_value + multiply = wc_elemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} + +eternal_winter_renown_value = { + value = 0 + every_in_list = { + list = targets + add = 0.5 + } + every_in_list = { + list = target_kingdoms + add = 1 + } + + max = 50 +} + +eternal_winter_gold_value = { + value = 0 + every_in_list = { + list = targets + + every_de_jure_county = { + every_county_province = { + add = monthly_income + } + } + + # For titles without any de jure counties we grab their capital counties and base the income on their de jure duchy instead + if = { + limit = { + any_de_jure_county = { + count = 0 + } + } + title_capital_county.duchy ?= { + every_de_jure_county = { + every_county_province = { + add = monthly_income + } + } + } + } + } + divide = { + value = 10 + subtract = { + value = elemental_water_magic_lifestyle_perk_points + add = elemental_water_magic_lifestyle_perks + divide = 5 + } + min = 1 + } + + max = 100 +} +### RITUAL: ETERNAL WINTER ### + +############################################################################################## LIFE MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_life_magic_mana_cost_value = { # Use for changing Mana cost for ALL LIFE spells (multiply this value) + value = 1 + + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_2 + has_trait = wc_lifestyle_elemental_water_spirit_magic + location_has_winter_trigger = yes + } + multiply = { + value = 0.8 + desc = spirit_of_entropy_mult_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } +} +wc_life_magic_cooldown_value = { # Use for changing Cooldown for ALL LIFE spells (multiply this value) + value = 1 +} +wc_life_magic_cast_time_value = { # Use for changing Cast time for ALL LIFE spells (multiply this value) + value = 1 +} +wc_life_magic_duration_value = { # Use for changing Duration for ALL LIFE spells (multiply this value) + value = 1 +} +## CREATE PORTAL ## +wc_spell_create_portal_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.3 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_create_portal_cast_time_value = { + min = 0 + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_create_portal_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_order_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_create_portal_duration_days_value = 0 +### CREATE PORTAL ## + +############################################################################################## SHADOW MAGIC ####################################################### +################################################ GENERAL VALUES ################################################ +wc_shadow_magic_mana_cost_value = { # Use for changing Mana cost for ALL shadow spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_modifier = wc_twisted_chains_modifier + } + subtract = { + add = 0.25 + desc = wc_twisted_chains_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_shadow_magic_cooldown_value = { # Use for changing Cooldown for ALL shadow spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_modifier = wc_voidborne_modifier + } + subtract = { + add = 0.25 + desc = wc_voidborne_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + if = { + limit = { + has_character_modifier = wc_twisted_chains_modifier + } + subtract = { + add = 0.25 + desc = wc_twisted_chains_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +wc_shadow_magic_cast_time_value = { # Use for changing Cast time for ALL shadow spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_modifier = wc_voidborne_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.25 + desc = wc_voidborne_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + + if = { + limit = { + has_character_modifier = wc_mania_modifier + } + multiply = { + value = 1 + subtract = { + add = 0.15 + desc = wc_mania_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + } + +} +wc_shadow_magic_duration_value = { # Use for changing Duration for ALL shadow spells (multiply this value) + value = 1 + + if = { + limit = { + has_character_modifier = wc_voidborne_modifier + } + add = { + value = 0.25 + desc = wc_voidborne_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } + + if = { + limit = { + has_character_modifier = wc_twisted_chains_modifier + } + add = { + value = 0.5 + desc = wc_twisted_chains_modifier + format = "WC_MAX_MANA_VALUE_FORMAT_PER" + } + } +} +################################################ GENERAL VALUES ################################################ +### VOID TOUCH ### +wc_spell_void_touch_duration_days_value = 0 +wc_spell_void_touch_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_void_touch_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_void_touch_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### VOID TOUCH ### +### SUMMON VOID LEADER ### +wc_spell_summon_void_leader_duration_days_value = { + min = 5 + value = { + add = 720 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_summon_void_leader_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_summon_void_leader_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_summon_void_leader_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### SUMMON VOID LEADER ### +### VOIDBORNE ### +wc_spell_voidborne_duration_days_value = 0 +wc_spell_voidborne_cost_mana_value = { + value = { + add = { + value = 40 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_voidborne_cast_time_value = { + value = 0 +} +wc_spell_voidborne_cooldown_value = { + min = 0 + value = { + add = 530 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_voidborne_scaling_value = { + add = 1 + if = { # Tooltip + limit = { + var:current_spell_name = flag:voidborne + exists = var:spellbook_open + exists = scope:this_recipient.prowess + } + multiply = scope:this_recipient.prowess + } + else_if = { + limit = { + exists = var:voidborne_prowess + } + multiply = var:voidborne_prowess + } + divide = 2.5 +} + +### VOIDBORNE ### +### REND FLESH ### +wc_spell_rend_flesh_duration_days_value = { + min = 5 + value = { + add = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + if = { + limit = { + has_variable = current_spell_rank + } + if = { + limit = { + var:current_spell_rank ?= 2 + } + multiply = { + value = wc_spell_rank_2_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_2_value_desc + } + } + else_if = { + limit = { + var:current_spell_rank ?= 3 + } + multiply = { + value = wc_spell_rank_3_mana_cost_mult + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_rank_3_value_desc + } + } + } + + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_rend_flesh_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_rend_flesh_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_rend_flesh_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### REND FLESH ### +### MUTATE ### +negative_genetic_trait_count = { + value = 0 + every_character_trait = { + limit = { + has_trait_flag = negative + has_trait_flag = genetic + } + add = 1 + } +} +wc_spell_mutate_duration_days_value = 0 +wc_spell_mutate_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_high_2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_mutate_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_mutate_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### MUTATE ### +### DRAIN ESSSENCE ### +wc_spell_drain_essence_duration_days_value = 0 +wc_spell_drain_essence_cost_mana_value = { + value = { + add = { + value = 1 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_drain_essence_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_drain_essence_cooldown_value = { + min = 0 + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_drain_essence_mana_gain_value = { + min = 10 + value = 25 +} +### DRAIN ESSSENCE ### +### INSANITY ### +wc_spell_insanity_duration_days_value = 0 +wc_spell_insanity_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_low + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_insanity_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_insanity_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### INSANITY ### +### MANIA ### +wc_spell_mania_duration_days_value = { + min = 5 + value = { + add = 180 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_mania_cost_mana_value = { + value = { + add = { + value = wc_spell_dispel_type_mana_cost + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_mania_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_mania_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_dispel_personal_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### MANIA ### +### MIND BLAST ## +wc_spell_mind_blast_duration_days_value = 0 +wc_spell_mind_blast_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_mind_blast_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_mind_blast_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### MIND BLAST ## +### SILENCE ### +wc_spell_silence_duration_days_value = { + min = 10 + value = { + add = 90 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_silence_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_silence_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_instant + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_silence_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### SILENCE ### +### SHADOW CRASH ### +wc_spell_shadow_crash_duration_days_value = { + min = 10 + value = { + add = 90 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_shadow_crash_cost_mana_value = { + value = { + add = { + value = wc_spell_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + multiply = wc_shadow_magic_mana_cost_value + multiply = wc_nonelemental_magic_mana_cost_value + multiply = wc_magic_mana_cost_value + + round = yes +} +wc_spell_shadow_crash_cast_time_value = { + min = 0 + value = { + add = wc_spell_cast_time_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_shadow_crash_cooldown_value = { + min = 0 + value = { + add = wc_spell_cooldown_very_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +### SHADOW CRASH ### +### RITUAL: TWISTED CHAINS ### +wc_spell_twisted_chains_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_twisted_chains_cast_time_value = { + value = { + add = wc_spell_cast_time_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_twisted_chains_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_shadow_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_twisted_chains_duration_days_value = { + min = 5 + value = { + add = 400 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +twisted_chains_cast_var_value = { + value = 0 + if = { + limit = { + has_variable = twisted_chains_cast_count + } + add = var:twisted_chains_cast_count + } + else = { + add = 1 + } +} +twisted_chains_multiplier = { + value = wc_spell_twisted_chains_cost_mana_value + divide = 25 + round = yes +} +twisted_chains_decrease_value = { + value = -5 + multiply = twisted_chains_multiplier +} +twisted_chains_decrease_value_percent = { + value = -10 + multiply = twisted_chains_multiplier + divide = -100 +} +### RITUAL: TWISTED CHAINS ### +### RITUAL: DARK ASCENSION ### +wc_spell_ascension_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_ascension_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_ascension_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_shadow_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_ascension_duration_days_value = { + min = 5 + value = { + add = 1825 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + + multiply = wc_shadow_magic_duration_value + multiply = wc_nonelemental_magic_duration_value + multiply = wc_magic_duration_value + + round = yes +} +wc_spell_ascension_eps_value = { + value = 0 + if = { + limit = { + has_variable = wc_ascension_points + } + add = var:wc_ascension_points + } +} +wc_spell_ascension_eps_value_courtier = { + value = 0 + if = { + limit = { + has_variable = wc_evolution_points + } + add = var:wc_evolution_points + } +} +wc_ep_gain = { + value = 0 + + # From source + if = { + limit = { + OR = { + scope:source = flag:title_gain + scope:source = flag:war + } + } + add = 5 + } + else_if = { + limit = { + scope:source = flag:level_gain + } + add = 4 + } + else_if = { + limit = { + OR = { + scope:source = flag:faith_change + scope:source = flag:culture_change + } + } + add = 3 + } + else_if = { + limit = { + OR = { + scope:source = flag:hook_used + scope:source = flag:prison + scope:source = flag:scheme + scope:source = flag:lifestyle + scope:source = flag:spell + scope:source = flag:travel + } + } + add = 2 + } + else = { + add = 1 + } + + if = { + limit = { + OR = { + is_vassal_or_below_of = scope:master + is_councillor_of = scope:master + } + } + multiply = 3 + } + else_if = { + limit = { + is_close_or_extended_family_of = scope:master + } + multiply = 2 + } + + if = { + limit = { + scope:master = { is_landless_adventurer = yes } + } + multiply = 3 + } +} +positive_genetic_trait_count = { + value = 0 + every_character_trait = { + limit = { + has_trait_flag = positive + has_trait_flag = genetic + } + add = 1 + } +} +wc_mp_gain_ascension = { + value = 0 + add = var:wc_ascension_points + + if = { + limit = { + var:wc_ascension_points >= 100 + } + divide = 25 + } + else_if = { + limit = { + var:wc_ascension_points >= 50 + } + divide = 20 + } + else = { + divide = 10 + } + + round = yes +} +wc_max_mana_gain_ascension = { + value = wc_mp_gain_ascension + + multiply = 2 + + round = yes +} +wc_prestige_gain_ascension = { + value = 0 + add = var:wc_ascension_points + + multiply = 2 + + round = yes +} +wc_prestige_gain_ascension_top = { + value = wc_prestige_gain_ascension + divide = 2 +} +### RITUAL: DARK ASCENSION ### +### RITUAL: WHISPERS ### +wc_spell_whispers_cost_mana_value = { + value = { + add = { + value = { + add = wc_max_mana_value + multiply = 0.5 + } + } + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + max = 150 + round = yes +} +wc_spell_whispers_cast_time_value = { + value = { + add = wc_spell_cast_time_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_whispers_cooldown_value = { + value = { + add = wc_spell_cooldown_ritual + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + multiply = wc_shadow_magic_cooldown_value + multiply = wc_nonelemental_magic_cooldown_value + multiply = wc_magic_cooldown_value + round = yes +} +wc_spell_whispers_duration_days_value = 0 +### RITUAL: WHISPERS ### +### POWER WORD BARRIER ### +wc_mana_regeneration_value_minus_channeled = { # Get the mana regen value without factoring in channeled spells + value = wc_mana_regeneration_value + if = { + limit = { exists = var:channeled_spells_mana_cost var:channeled_spells_mana_cost != 0 } + subtract = var:channeled_spells_mana_cost + } +} +wc_spell_power_word_barrier_duration_days_value = 0 +wc_spell_power_word_barrier_cost_mana_value = { + value = { + add = { + value = wc_spell_channeled_mana_cost_medium + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_DEC" + } + } + if = { + limit = { + has_variable_list = spell_targets_list + } + if = { + limit = { + variable_list_size = { + name = spell_targets_list + value = 2 + } + } + multiply = { + value = 2 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_extra_targets + } + } + else_if = { + limit = { + variable_list_size = { + name = spell_targets_list + value = 3 + } + } + multiply = { + value = 3 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_mana_extra_targets + } + } + } +} +wc_spell_power_word_barrier_cast_time_value = { + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_power_word_barrier_cooldown_value = { + value = { + add = wc_spell_cooldown_very_short + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +### POWER WORD BARRIER ### +### DISPERSION ### +wc_spell_dispersion_duration_days_value = 0 +wc_spell_dispersion_cost_mana_value = { + value = { + add = { + value = wc_mana_regeneration_value_minus_channeled + multiply = 3.5 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_DEC" + } + } +} +wc_spell_dispersion_cast_time_value = { + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_dispersion_cooldown_value = { + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +### DISPERSION ### +### REALM OF NECROSIS ### +wc_spell_realm_of_necrosis_duration_days_value = 0 +wc_spell_realm_of_necrosis_cost_mana_value = { + value = { + add = { + value = wc_mana_regeneration_value_minus_channeled + multiply = 2 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT_DEC" + } + } +} +wc_spell_realm_of_necrosis_cast_time_value = { + value = { + add = 0 + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +wc_spell_realm_of_necrosis_cooldown_value = { + value = { + add = wc_spell_cooldown_long + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + min = 0 + multiply = wc_shadow_magic_cast_time_value + multiply = wc_nonelemental_magic_cast_time_value + multiply = wc_magic_cast_time_value + round = yes +} +### REALM OF NECROSIS ### \ No newline at end of file diff --git a/common/script_values/wc_magic_values.txt b/common/script_values/wc_magic_values.txt new file mode 100644 index 0000000000..97a67f5bdb --- /dev/null +++ b/common/script_values/wc_magic_values.txt @@ -0,0 +1,5044 @@ +### MANA + +wc_sorcerer_trait_1_mana_value = 10 +wc_sorcerer_trait_noninheritable_mana_value = 15 +wc_sorcerer_trait_2_mana_value = 20 +wc_sorcerer_trait_3_mana_value = 30 + +wc_base_mana_value = { + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = 40 +} + +wc_base_mana_cp_terrible_value = 5 +wc_base_mana_cp_poor_value = 7 +wc_base_mana_cp_average_value = 10 +wc_base_mana_cp_good_value = 13 +wc_base_mana_cp_excellent_value = 15 + +wc_lifestyle_xp_gain_terrible_value = 0.03 +wc_lifestyle_xp_gain_poor_value = 0.05 +wc_lifestyle_xp_gain_average_value = 0.07 +wc_lifestyle_xp_gain_good_value = 0.1 +wc_lifestyle_xp_gain_excellent_value = 0.15 + +wc_mana_per_magic_perk_base_value = 2 # Also used in localization +wc_mana_per_magic_perk_magiclevel2_value = 3 # Also used in localization +wc_mana_per_magic_perk_magiclevel3_value = 4 # Also used in localization +wc_mana_per_magic_perk_magiclevel4_value = 5 # Also used in localization + +wc_mana_per_light_magic_perk_value = { + if = { + limit = { has_trait = user_of_light_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_light_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_light_magic_4 + has_trait = user_of_light_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_shadow_magic_perk_value = { + if = { + limit = { has_trait = user_of_shadow_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_shadow_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_shadow_magic_4 + has_trait = user_of_shadow_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_disorder_magic_perk_value = { + if = { + limit = { has_trait = user_of_disorder_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_disorder_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_disorder_magic_4 + has_trait = user_of_disorder_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_order_magic_perk_value = { + if = { + limit = { has_trait = user_of_order_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_order_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_order_magic_4 + has_trait = user_of_order_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_life_magic_perk_value = { + if = { + limit = { has_trait = user_of_life_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_life_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_life_magic_4 + has_trait = user_of_life_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_death_magic_perk_value = { + if = { + limit = { has_trait = user_of_death_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_death_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_death_magic_4 + has_trait = user_of_death_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_elemental_fire_magic_perk_value = { + if = { + limit = { has_trait = user_of_elemental_fire_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_elemental_fire_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_fire_magic_4 + has_trait = user_of_elemental_fire_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_elemental_water_magic_perk_value = { + if = { + limit = { has_trait = user_of_elemental_water_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_elemental_water_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_water_magic_4 + has_trait = user_of_elemental_water_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_elemental_air_magic_perk_value = { + if = { + limit = { has_trait = user_of_elemental_air_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_elemental_air_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_air_magic_4 + has_trait = user_of_elemental_air_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} +wc_mana_per_elemental_earth_magic_perk_value = { + if = { + limit = { has_trait = user_of_elemental_earth_magic_2 } + + value = wc_mana_per_magic_perk_magiclevel2_value + } + else_if = { + limit = { has_trait = user_of_elemental_earth_magic_3 } + + value = wc_mana_per_magic_perk_magiclevel3_value + } + else_if = { + limit = { + OR = { + has_trait = user_of_elemental_earth_magic_4 + has_trait = user_of_elemental_earth_magic_5 + } + } + + value = wc_mana_per_magic_perk_magiclevel4_value + } + else = { value = wc_mana_per_magic_perk_base_value } +} + +wc_max_mana_value = { + if = { # Light + limit = { OR = { + has_trait = wc_lifestyle_light_magic + any_secret = { secret_type = secret_light_magic_user } + } + } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_light_magic_user } } + } + add = { + desc = wc_mana_from_light_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = light_magic_lifestyle_perks + add = light_magic_lifestyle_perk_points + multiply = wc_mana_per_light_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = light_magic_lifestyle_perks + add = light_magic_lifestyle_perk_points + multiply = wc_mana_per_light_magic_perk_value + } + } + } + if = { # Shadow + limit = { OR = { + has_trait = wc_lifestyle_shadow_magic + any_secret = { secret_type = secret_shadow_magic_user } + } } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_shadow_magic_user } } + } + add = { + desc = wc_mana_from_shadow_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = shadow_magic_lifestyle_perks + add = shadow_magic_lifestyle_perk_points + multiply = wc_mana_per_shadow_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = shadow_magic_lifestyle_perks + add = shadow_magic_lifestyle_perk_points + multiply = wc_mana_per_shadow_magic_perk_value + } + } + } + if = { # Disorder + limit = { OR = { + has_trait = wc_lifestyle_disorder_magic + any_secret = { secret_type = secret_disorder_magic_user } + } } + + min = wc_base_mana_value + if = { + limit = { + NOT = { any_secret = { secret_type = secret_disorder_magic_user } } + } + add = { + desc = wc_mana_from_disorder_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = disorder_magic_lifestyle_perks + add = disorder_magic_lifestyle_perk_points + multiply = wc_mana_per_disorder_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = disorder_magic_lifestyle_perks + add = disorder_magic_lifestyle_perk_points + multiply = wc_mana_per_disorder_magic_perk_value + } + } + + } + if = { # Order + limit = { OR = { + has_trait = wc_lifestyle_order_magic + any_secret = { secret_type = secret_order_magic_user } + } } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_order_magic_user } } + } + add = { + desc = wc_mana_from_order_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = order_magic_lifestyle_perks + add = order_magic_lifestyle_perk_points + multiply = wc_mana_per_order_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = order_magic_lifestyle_perks + add = order_magic_lifestyle_perk_points + multiply = wc_mana_per_order_magic_perk_value + } + } + + } + if = { # Life + limit = { OR = { + has_trait = wc_lifestyle_life_magic + any_secret = { secret_type = secret_life_magic_user } + } } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_life_magic_user } } + } + add = { + desc = wc_mana_from_life_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = life_magic_lifestyle_perks + add = life_magic_lifestyle_perk_points + multiply = wc_mana_per_life_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = life_magic_lifestyle_perks + add = life_magic_lifestyle_perk_points + multiply = wc_mana_per_life_magic_perk_value + } + } + } + if = { # Death + limit = { OR = { + has_trait = wc_lifestyle_death_magic + any_secret = { secret_type = secret_death_magic_user } + } } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_death_magic_user } } + } + add = { + desc = wc_mana_from_death_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = death_magic_lifestyle_perks + add = death_magic_lifestyle_perk_points + multiply = wc_mana_per_death_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = death_magic_lifestyle_perks + add = death_magic_lifestyle_perk_points + multiply = wc_mana_per_death_magic_perk_value + } + } + } + # Elemental + if = { # Fire + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + any_secret = { secret_type = secret_elemental_fire_magic_user } + } + } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_fire_magic_user } } + } + add = { + desc = wc_mana_from_elemental_fire_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_fire_magic_lifestyle_perks + add = elemental_fire_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_fire_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_fire_magic_lifestyle_perks + add = elemental_fire_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_fire_magic_perk_value + } + } + } + if = { # Water + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + any_secret = { secret_type = secret_elemental_water_magic_user } + } + } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_water_magic_user } } + } + add = { + desc = wc_mana_from_elemental_water_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_water_magic_lifestyle_perks + add = elemental_water_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_water_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_water_magic_lifestyle_perks + add = elemental_water_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_water_magic_perk_value + } + } + } + if = { # Air + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + any_secret = { secret_type = secret_elemental_air_magic_user } + } + } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_air_magic_user } } + } + add = { + desc = wc_mana_from_elemental_air_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_air_magic_lifestyle_perks + add = elemental_air_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_air_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_air_magic_lifestyle_perks + add = elemental_air_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_air_magic_perk_value + } + } + } + if = { # Earth + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + any_secret = { secret_type = secret_elemental_earth_magic_user } + } + } + + min = wc_base_mana_value + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_earth_magic_user } } + } + add = { + desc = wc_mana_from_elemental_earth_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_earth_magic_lifestyle_perks + add = elemental_earth_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_earth_magic_perk_value + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_earth_magic_lifestyle_perks + add = elemental_earth_magic_lifestyle_perk_points + multiply = wc_mana_per_elemental_earth_magic_perk_value + } + } + } + + if = { + limit = { has_trait = magic_good_1 } + + min = wc_base_mana_value + + add = { + desc = wc_mana_from_magic_good_1_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_1_mana_value + } + } + else_if = { + limit = { has_trait = magic_good_2 } + + min = wc_base_mana_value + + add = { + desc = wc_mana_from_magic_good_2_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_2_mana_value + } + } + else_if = { + limit = { has_trait = magic_good_3 } + + min = wc_base_mana_value + + add = { + desc = wc_mana_from_magic_good_3_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_3_mana_value + } + } + else_if = { + limit = { has_trait = magic_bad_1 } + subtract = { + desc = wc_mana_from_magic_bad_1_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_1_mana_value + } + } + else_if = { + limit = { has_trait = magic_bad_2 } + subtract = { + desc = wc_mana_from_magic_bad_2_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_2_mana_value + } + } + else_if = { + limit = { has_trait = magic_bad_3 } + subtract = { + desc = wc_mana_from_magic_bad_3_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_3_mana_value + } + } + + if = { + limit = { has_trait = magic_good_noninheritable } + add = { + desc = wc_mana_from_magic_good_noninheritable_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_noninheritable_mana_value + } + } + else_if = { + limit = { has_trait = magic_bad_noninheritable } + subtract = { + desc = wc_mana_from_magic_bad_noninheritable_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_trait_noninheritable_mana_value + } + } + + if = { + limit = { + exists = court_position:court_mage_court_position + } + + if = { + limit = { court_position:court_mage_court_position.aptitude:court_mage_court_position = 4 } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_court_mage_position_desc + value = wc_base_mana_cp_excellent_value + } + } + else_if = { + limit = { court_position:court_mage_court_position.aptitude:court_mage_court_position = 3 } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_court_mage_position_desc + value = wc_base_mana_cp_good_value + } + } + else_if = { + limit = { court_position:court_mage_court_position.aptitude:court_mage_court_position = 2 } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_court_mage_position_desc + value = wc_base_mana_cp_average_value + } + } + else_if = { + limit = { court_position:court_mage_court_position.aptitude:court_mage_court_position = 1 } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_court_mage_position_desc + value = wc_base_mana_cp_poor_value + } + } + else_if = { + limit = { court_position:court_mage_court_position.aptitude:court_mage_court_position = 0 } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_court_mage_position_desc + value = wc_base_mana_cp_terrible_value + } + } + } + + if = { + limit = { + has_perk = light_magic_tree_3_perk_4 + } + add = { + value = 10 + desc = light_magic_tree_3_perk_4_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_variable = max_mana_add + } + add = { + value = var:max_mana_add + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_misc + } + } + + multiply = { + value = 1 + + if = { + limit = { + has_character_modifier = wc_suramar_mana_crystals_modifier + } + add = { + desc = wc_suramar_mana_crystals_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.15 + } + } + + if = { + limit = { + has_character_modifier = wc_conjure_drink_modifier + } + add = { + desc = wc_conjure_drink_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.15 + } + } + + if = { + limit = { + has_character_modifier = wc_evocation_character_modifier + } + add = { + desc = wc_evocation_character_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.50 + } + } + + + if = { + limit = { + has_variable = reverse_causality_mult + } + add = { + add = 0.1 + desc = reverse_causailty_value_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + multiply = var:reverse_causality_mult + } + } + + if = { + limit = { + has_character_modifier = wc_shadow_crashed_modifier + } + subtract = { + desc = wc_shadow_crashed_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.15 + } + } + + if = { + limit = { + has_character_modifier = wc_ascension_modifier + } + add = { + desc = wc_ascension_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.10 + } + } + + if = { + limit = { + has_perk = shadow_magic_tree_2_perk_5 + } + add = { + desc = shadow_magic_tree_2_perk_5_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.15 + } + } + } + + min = 0 + ceiling = yes +} + +wc_magic_good_trait_1_mana_replenishment_value = 0.01 +wc_magic_good_trait_noninheritable_mana_replenishment_value = 0.02 +wc_magic_good_trait_2_mana_replenishment_value = 0.015 +wc_magic_good_trait_3_mana_replenishment_value = 0.025 + +wc_magic_bad_trait_1_mana_regeneration_value = -0.05 +wc_magic_bad_trait_noninheritable_mana_regeneration_value = -0.1 +wc_magic_bad_trait_2_mana_regeneration_value = -0.15 +wc_magic_bad_trait_3_mana_regeneration_value = -0.25 + +wc_mana_replenishment_base_value = 0.01 # Used in localization + +wc_mana_replenishment_value = { # Used in localization + value = wc_mana_replenishment_base_value + + if = { + limit = { has_trait = magic_good_1 } + add = wc_magic_good_trait_1_mana_replenishment_value + } + else_if = { + limit = { has_trait = magic_good_2 } + add = wc_magic_good_trait_2_mana_replenishment_value + } + else_if = { + limit = { has_trait = magic_good_3 } + add = wc_magic_good_trait_3_mana_replenishment_value + } + + if = { + limit = { has_trait = magic_good_noninheritable } + add = wc_magic_good_trait_noninheritable_mana_replenishment_value + } + min = 0.01 +} + +wc_mana_regeneration_value = { + add = { + desc = wc_hp_capacity_base_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + value = 2 + } + + add = { + desc = wc_mana_regeneration_from_max_value_desc + format = "WC_MANA_REPLENISHMENT_VALUE_FORMAT" + + value = wc_max_mana_value + + multiply = { + value = { + add = wc_mana_replenishment_value + multiply = 0.75 + } + } + } + + if = { + limit = { has_character_modifier = wc_blessed_bastion_modifier } + + add = { + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = 1 + } + } + + if = { + limit = { has_character_modifier = wc_suramar_ruler_modifier } + + add = { + desc = wc_suramar_ruler_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = 1 + } + } + + if = { + limit = { exists = var:channeled_spells_mana_cost var:channeled_spells_mana_cost != 0 } + add = { + desc = channeled_spells_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + value = var:channeled_spells_mana_cost + } + } + + multiply = { # Mana Regeneration + value = 1 + + if = { + limit = { has_trait = magic_bad_1 } + + add = { + desc = wc_mana_regeneration_from_magic_bad_1_trait_value_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + + value = wc_magic_bad_trait_1_mana_regeneration_value + } + } + else_if = { + limit = { has_trait = magic_bad_2 } + + add = { + desc = wc_mana_regeneration_from_magic_bad_2_trait_value_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + + value = wc_magic_bad_trait_2_mana_regeneration_value + } + } + else_if = { + limit = { has_trait = magic_bad_3 } + + add = { + desc = wc_mana_regeneration_from_magic_bad_3_trait_value_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + + value = wc_magic_bad_trait_3_mana_regeneration_value + } + } + if = { + limit = { has_trait = magic_bad_noninheritable } + + add = { + desc = wc_mana_regeneration_from_magic_bad_noninheritable_trait_value_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + + value = wc_magic_bad_trait_noninheritable_mana_regeneration_value + } + } + if = { + limit = { + has_perk = elemental_fire_magic_tree_2_perk_5 + has_variable_list = spells_cd + variable_list_size = { name = spells_cd value >= 3 } + } + add = { + desc = wc_feedback_perk_desc + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.3 + } + } + + if = { + limit = { + has_character_modifier = wc_conjure_drink_modifier + } + add = { + desc = wc_conjure_drink_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.15 + } + } + + if = { + limit = { + has_character_modifier = wc_evocation_character_modifier + } + add = { + desc = wc_evocation_character_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.50 + } + } + + if = { + limit = { + has_character_modifier = wc_concentration_aura_modifier + } + add = { + desc = wc_concentration_aura_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.1 + } + } + + if = { + limit = { + has_character_modifier = wc_death_pact_modifier + } + add = { + desc = wc_death_pact_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.2 + } + } + + if = { + limit = { + has_character_modifier = wc_ascension_modifier + } + add = { + desc = wc_ascension_modifier + format = "WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT" + value = 0.25 + } + } + } +} + +wc_sorcerer_trait_1_current_mana_to_prowess_value = 0.01 +wc_sorcerer_trait_noninheritable_current_mana_to_prowess_value = 0.02 +wc_sorcerer_trait_2_current_mana_to_prowess_value = 0.03 +wc_sorcerer_trait_3_current_mana_to_prowess_value = 0.05 +wc_burned_1_trait_current_mana_to_prowess_value = 0.002 +wc_burned_2_trait_current_mana_to_prowess_value = 0.005 +wc_burned_3_trait_current_mana_to_prowess_value = 0.008 +wc_arcane_dialectics_current_mana_to_prowess_value = 0.03 +wc_quickening_current_mana_to_prowess_value = 0.01 +wc_suramar_drink_current_mana_to_prowess_value = 0.01 + +wc_current_mana_to_prowess_base_percent = 0.01 # Also used in localization + +wc_current_mana_to_prowess_percent = { + value = wc_current_mana_to_prowess_base_percent + + if = { + limit = { has_trait = magic_good_1 } + add = wc_sorcerer_trait_1_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_good_2 } + add = wc_sorcerer_trait_2_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_good_3 } + add = wc_sorcerer_trait_3_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_bad_1 } + subtract = wc_sorcerer_trait_1_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_bad_2 } + subtract = wc_sorcerer_trait_2_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_bad_3 } + subtract = wc_sorcerer_trait_3_current_mana_to_prowess_value + } + + if = { + limit = { has_trait = magic_good_noninheritable } + add = wc_sorcerer_trait_noninheritable_current_mana_to_prowess_value + } + else_if = { + limit = { has_trait = magic_bad_noninheritable } + subtract = wc_sorcerer_trait_noninheritable_current_mana_to_prowess_value + } + + if = { + limit = { + has_trait = burned_1 + } + subtract = wc_burned_1_trait_current_mana_to_prowess_value + } + else_if = { + limit = { + has_trait = burned_2 + } + subtract = wc_burned_2_trait_current_mana_to_prowess_value + } + else_if = { + limit = { + has_trait = burned_3 + } + subtract = wc_burned_3_trait_current_mana_to_prowess_value + } + + if = { + limit = { + has_perk = order_magic_tree_1_perk_1 + wc_current_mana_percent_value >= 0.5 + } + add = wc_arcane_dialectics_current_mana_to_prowess_value + } + + if = { + limit = { + has_character_modifier = wc_quickening_modifier + has_variable = quickening_count + } + add = { + value = wc_quickening_current_mana_to_prowess_value + multiply = var:quickening_count + } + } + + if = { + limit = { + has_character_modifier = wc_suramar_good_drink_modifier + } + add = { + value = wc_suramar_drink_current_mana_to_prowess_value + } + } + + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = wc_sorcerer_trait_1_current_mana_to_prowess_value + } + + if = { + limit = { + has_perk = death_magic_tree_3_perk_1 + } + add = wc_sorcerer_trait_1_current_mana_to_prowess_value + } + + if = { + limit = { + has_perk = light_magic_tree_3_perk_2 + } + add = wc_arcane_dialectics_current_mana_to_prowess_value + } + + if = { + limit = { + has_character_modifier = wc_blood_gorged_modifier + } + add = wc_sorcerer_trait_2_current_mana_to_prowess_value + } + + if = { + limit = { + has_perk = death_magic_tree_2_perk_5 + any_realm_county = { + has_county_modifier = county_corruption_death_modifier + count >= 5 + } + } + add = { + value = wc_unholy_ground_conductivity_value + divide = 100 + max = 0.05 + } + } + + add = wc_mana_conductivity_mp_value + + min = 0 +} + +wc_unholy_ground_conductivity_value = { + value = 0 + every_realm_county = { + limit = { + has_county_modifier = county_corruption_death_modifier + } + add = 1 + } + + divide = 5 + + round = yes +} + +wc_mana_conductivity_mp_value = { + value = { + add = wc_mp_value + divide = 1000 + } +} + +wc_current_mana_to_prowess_value = { + if = { + limit = { has_variable = wc_current_mana_variable } + add = var:wc_current_mana_variable + } + + multiply = wc_current_mana_to_prowess_percent + + floor = yes +} + +wc_current_mana_percent_value = { # Used in localization and progressbars + if = { + limit = { has_variable = wc_current_mana_variable } + add = var:wc_current_mana_variable + } + divide = wc_max_mana_value # TODO: Divides by 0 + + min = 0 +} + +wc_sorcerer_good_trait_1_mp_value = 4 +wc_sorcerer_good_trait_2_mp_value = 7 +wc_sorcerer_good_trait_3_mp_value = 10 +wc_mp_special_being_value = 20 +wc_mp_powerful_being_value = 10 +wc_mp_special_race_value = 5 + +wc_mp_value = { + min = 0 + if = { + limit = { has_trait = magic_good_1 } + add = { + desc = wc_mana_from_magic_good_1_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_1_mp_value + } + } + else_if = { + limit = { has_trait = magic_good_2 } + add = { + desc = wc_mana_from_magic_good_2_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_2_mp_value + } + } + else_if = { + limit = { has_trait = magic_good_3 } + add = { + desc = wc_mana_from_magic_good_3_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_3_mp_value + } + } + else_if = { + limit = { has_trait = magic_good_noninheritable } + add = { + desc = wc_mana_from_magic_good_noninheritable_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_1_mp_value + } + } + else_if = { + limit = { has_trait = magic_bad_1 } + subtract = { + desc = wc_mana_regeneration_from_magic_bad_1_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_1_mp_value + } + } + else_if = { + limit = { has_trait = magic_bad_2 } + subtract = { + desc = wc_mana_regeneration_from_magic_bad_2_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_2_mp_value + } + } + else_if = { + limit = { has_trait = magic_bad_3 } + subtract = { + desc = wc_mana_regeneration_from_magic_bad_3_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_3_mp_value + } + } + else_if = { + limit = { has_trait = magic_bad_noninheritable } + subtract = { + desc = wc_mana_regeneration_from_magic_bad_noninheritable_trait_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = wc_sorcerer_good_trait_1_mp_value + } + } + if = { # Light + limit = { + OR = { + has_trait = wc_lifestyle_light_magic + any_secret = { secret_type = secret_light_magic_user } + } + } + if = { + limit = { + NOT = { any_secret = { secret_type = secret_light_magic_user } } + } + add = { + desc = wc_mana_from_light_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = light_magic_lifestyle_perks + add = light_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = light_magic_lifestyle_perks + add = light_magic_lifestyle_perk_points + } + } + } + if = { # Shadow + limit = { OR = { + has_trait = wc_lifestyle_shadow_magic + any_secret = { secret_type = secret_shadow_magic_user } + } } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_shadow_magic_user } } + } + add = { + desc = wc_mana_from_shadow_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = shadow_magic_lifestyle_perks + add = shadow_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = shadow_magic_lifestyle_perks + add = shadow_magic_lifestyle_perk_points + } + } + } + if = { # Disorder + limit = { OR = { + has_trait = wc_lifestyle_disorder_magic + any_secret = { secret_type = secret_disorder_magic_user } + } } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_disorder_magic_user } } + } + add = { + desc = wc_mana_from_disorder_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = disorder_magic_lifestyle_perks + add = disorder_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = disorder_magic_lifestyle_perks + add = disorder_magic_lifestyle_perk_points + } + } + } + if = { # Order + limit = { OR = { + has_trait = wc_lifestyle_order_magic + any_secret = { secret_type = secret_order_magic_user } + } } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_order_magic_user } } + } + add = { + desc = wc_mana_from_order_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = order_magic_lifestyle_perks + add = order_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = order_magic_lifestyle_perks + add = order_magic_lifestyle_perk_points + } + } + } + if = { # Life + limit = { OR = { + has_trait = wc_lifestyle_life_magic + any_secret = { secret_type = secret_life_magic_user } + } } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_life_magic_user } } + } + add = { + desc = wc_mana_from_life_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = life_magic_lifestyle_perks + add = life_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = life_magic_lifestyle_perks + add = life_magic_lifestyle_perk_points + } + } + } + if = { # Death + limit = { OR = { + has_trait = wc_lifestyle_death_magic + any_secret = { secret_type = secret_death_magic_user } + } } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_death_magic_user } } + } + add = { + desc = wc_mana_from_death_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = death_magic_lifestyle_perks + add = death_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = death_magic_lifestyle_perks + add = death_magic_lifestyle_perk_points + } + } + } + # Elemental + if = { # Fire + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + any_secret = { secret_type = secret_elemental_fire_magic_user } + } + } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_fire_magic_user } } + } + add = { + desc = wc_mana_from_elemental_fire_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_fire_magic_lifestyle_perks + add = elemental_fire_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_fire_magic_lifestyle_perks + add = elemental_fire_magic_lifestyle_perk_points + } + } + } + if = { # Water + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + any_secret = { secret_type = secret_elemental_water_magic_user } + } + } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_water_magic_user } } + } + add = { + desc = wc_mana_from_elemental_water_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_water_magic_lifestyle_perks + add = elemental_water_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_water_magic_lifestyle_perks + add = elemental_water_magic_lifestyle_perk_points + } + } + } + if = { # Air + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + any_secret = { secret_type = secret_elemental_air_magic_user } + } + } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_air_magic_user } } + } + add = { + desc = wc_mana_from_elemental_air_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_air_magic_lifestyle_perks + add = elemental_air_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_air_magic_lifestyle_perks + add = elemental_air_magic_lifestyle_perk_points + } + } + } + if = { # Earth + limit = { + OR = { + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + any_secret = { secret_type = secret_elemental_earth_magic_user } + } + } + + if = { + limit = { + NOT = { any_secret = { secret_type = secret_elemental_earth_magic_user } } + } + add = { + desc = wc_mana_from_elemental_earth_perks_value_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_earth_magic_lifestyle_perks + add = elemental_earth_magic_lifestyle_perk_points + } + } + else = { + add = { + desc = wc_source_unknown_desc + + format = "WC_MAX_MANA_VALUE_FORMAT" + + value = elemental_earth_magic_lifestyle_perks + add = elemental_earth_magic_lifestyle_perk_points + } + } + } + + if = { + limit = { + has_trait = aspect_of_nature + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_nature + value = wc_mp_powerful_being_value + } + } + else_if = { + limit = { + has_trait = aspect_of_earth + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_earth + value = wc_mp_powerful_being_value + } + } + else_if = { + limit = { + has_trait = aspect_of_magic + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_magic + value = wc_mp_powerful_being_value + } + } + else_if = { + limit = { + has_trait = aspect_of_time + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_time + value = wc_mp_powerful_being_value + } + } + else_if = { + limit = { + has_trait = aspect_of_infinity + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_infinity + value = wc_mp_powerful_being_value + } + } + else_if = { + limit = { + has_trait = aspect_of_death + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_aspect_of_death + value = wc_mp_powerful_being_value + } + } + if = { + limit = { + has_trait = being_undead + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_undead + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_trait = being_demon + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_demon + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_trait = being_void + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_void + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_trait = being_life + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_life + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_trait = being_order + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_order + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_trait = being_light + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = trait_being_light + value = wc_mp_special_race_value + } + } + if = { + limit = { + has_character_modifier = wc_suramar_studying_monsters_modifier + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_suramar_studying_monsters_modifier + value = 3 + } + } + if = { + limit = { + has_character_modifier = wc_suramar_blessing_arcandor_modifier + } + add = { + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_suramar_blessing_arcandor_modifier + value = 5 + } + } + if = { + limit = { + has_character_modifier = wc_burnout_modifier + has_variable = burnout_count + } + add = { + value = var:burnout_count + multiply = -5 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_burnout_modifier + } + } + else_if = { + limit = { + has_character_modifier = wc_burnout_good_modifier + has_variable = burnout_count + } + add = { + value = var:burnout_count + multiply = 5 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_burnout_good_modifier + } + } + if = { + limit = { + has_variable = mp_add + } + add = { + value = var:mp_add + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_misc + } + } + if = { + limit = { + has_character_modifier = wc_elemental_sacrifice_modifier + } + subtract = { + value = 5 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_elemental_sacrifice_modifier + } + } + if = { + limit = { + has_character_modifier = wc_fire_decay_ritual_feed_modifier + } + subtract = { + value = 10 + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_fire_decay_ritual_feed_modifier + } + } + if = { + limit = { + has_trait = holy_wrath + } + add = { + value = -5 + desc = trait_holy_wrath + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + floor = yes + min = 0 +} + +wc_mp_duration_value_percentage = { + add = wc_mp_value + multiply = 4 + divide = 1000 +} + +wc_mp_value_cd_percentage = { + add = wc_mp_value + multiply = 2.5 + divide = 1000 +} + +# Magic Resistance +wc_magic_resistance_base_value = { + value = 6 +} +wc_magic_resistance_racial_value = 5 +wc_magic_vulnerability_racial_value = -5 +wc_magic_resistance_religion_criminal_value = -3 +wc_magic_resistance_religion_shunned_value = -2 +wc_magic_resistance_religion_accepted_value = 2 +wc_magic_resistance_religion_idolised_value = 3 +wc_magic_resistance_level2_value = 2 +wc_magic_resistance_level3_value = 3 +wc_magic_resistance_level4_value = 4 +wc_magic_resistance_level5_value = 5 + +wc_magic_resistance_bad_value = 3 +wc_magic_resistance_decent_value = 6 +wc_magic_resistance_good_value = 10 +wc_magic_resistance_great_value = 14 +wc_magic_resistance_excellent_value = 17 + +wc_all_magic_resistance_add_value = { + value = 0 + + if = { + limit = { + has_perk = death_magic_tree_2_perk_2 + } + add = { + value = wc_anti_magic_barrier_resistance_value + desc = death_magic_tree_2_perk_2_name + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_communion_ghuun_modifier + } + add = { + value = 5 + desc = wc_communion_ghuun_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_power_word_barrier_modifier + } + add = { + value = 3 + desc = wc_power_word_barrier_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } +} + +wc_all_magic_resistance_mult_value = { + value = 1 +} + +wc_anti_magic_barrier_resistance_value = { + value = 0.002 + multiply = { + value = 1 + add = wc_current_mana_to_prowess_value + } + multiply = { + value = 1 + if = { + limit = { + intrigue > learning + } + add = { + value = intrigue + } + } + else = { + add = { + value = learning + } + } + } +} + +wc_light_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + # From User traits + if = { + limit = { has_trait = user_of_shadow_magic_2 } + + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_shadow_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_shadow_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_shadow_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_shadow_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_shadow_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_shadow_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_shadow_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_light_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_light_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_holy_fire_modifier + } + multiply = { + value = 0.75 + desc = wc_holy_fire_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_lightwell_modifier + } + multiply = { + value = 1.25 + desc = wc_lightwell_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = holy_wrath + } + multiply = { + value = 0 + desc = trait_holy_wrath + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_echo_of_light_modifier + } + add = { + value = 3 + desc = wc_echo_of_light_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_light_magic_resistance_value_neg = { + value = 0 + subtract = wc_light_magic_resistance_value +} +wc_order_magic_resistance_value = { + value = wc_Order_magic_resistance_value +} +wc_Order_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + + # From User traits + if = { + limit = { has_trait = user_of_disorder_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_disorder_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_disorder_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_disorder_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_disorder_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_disorder_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_disorder_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_disorder_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_order_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_order_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_death_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + # From User traits + if = { + limit = { has_trait = user_of_life_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_life_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_life_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_life_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_life_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_life_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_life_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_life_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_death_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_death_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_death_coil_negative_modifier + } + add = { + value = -2 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_disorder_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + # From User traits + if = { + limit = { has_trait = user_of_order_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_order_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_order_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_order_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_order_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_order_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_order_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_order_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_disorder_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_disorder_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_echo_of_light_modifier + } + add = { + value = 3 + desc = wc_echo_of_light_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_life_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + if = { # Can be added or removed dynamically + limit = { has_variable = wc_life_magic_resistance } + add = var:wc_life_magic_resistance + } + # From User traits + if = { + limit = { has_trait = user_of_death_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_death_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_death_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_death_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_death_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_death_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_death_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_death_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_life_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_life_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_shadow_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + # From User traits + if = { + limit = { has_trait = user_of_light_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_light_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_light_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_light_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { + limit = { + faith = { has_doctrine = doctrine_light_magic_approved } + } + add = { + value = wc_magic_resistance_religion_idolised_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_light_magic_accepted } + } + add = { + value = wc_magic_resistance_religion_accepted_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_light_magic_ignored } + } + add = { + value = wc_magic_resistance_religion_shunned_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_light_magic_crime } + } + add = { + value = wc_magic_resistance_religion_criminal_value + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_shadow_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_shadow_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_echo_of_light_modifier + } + add = { + value = 3 + desc = wc_echo_of_light_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_trait = void_sickness + } + add = { + value = -5 + desc = trait_void_sickness + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_rend_flesh_2_modifier + } + add = { + value = -3 + desc = wc_rend_flesh_2_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_rend_flesh_3_modifier + } + add = { + value = -5 + desc = wc_rend_flesh_3_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_shadow_crashed_modifier + } + add = { + value = -3 + desc = wc_shadow_crashed_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_elemental_fire_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + if = { # Can be added or removed dynamically + limit = { has_variable = wc_elemental_fire_magic_resistance } + add = var:wc_elemental_fire_magic_resistance + } + # From User traits + if = { + limit = { has_trait = user_of_elemental_water_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_water_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_water_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_water_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { # Spirit Magic means more MR + limit = { + faith = { has_doctrine = doctrine_elemental_fire_spirit_magic_approved } + } + add = { + value = { + add = wc_magic_resistance_religion_idolised_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_elemental_fire_spirit_magic_accepted } + } + add = { + value = { + add = wc_magic_resistance_religion_accepted_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_fire_spirit_magic_ignored } + } + add = { + value = { + add = wc_magic_resistance_religion_shunned_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_fire_spirit_magic_illegal } + } + add = { + value = { + add = wc_magic_resistance_religion_criminal_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_elemental_fire_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_elemental_fire_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # Spells + if = { + limit = { + has_character_modifier = wc_summon_fire_elemental_modifier + } + add = { + value = 5 + desc = wc_summon_fire_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = burned_1 + } + add = { + value = -3 + desc = trait_burned_1 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = burned_2 + } + add = { + value = -5 + desc = trait_burned_2 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = burned_3 + } + add = { + value = -8 + desc = trait_burned_3 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_elemental_air_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + if = { # Can be added or removed dynamically + limit = { has_variable = wc_elemental_air_magic_resistance } + add = var:wc_elemental_air_magic_resistance + } + # From User traits + if = { + limit = { has_trait = user_of_elemental_earth_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_earth_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_earth_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_earth_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + + if = { # Spirit Magic means more MR + limit = { + faith = { has_doctrine = doctrine_elemental_earth_spirit_magic_approved } + } + add = { + value = { + add = wc_magic_resistance_religion_idolised_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_elemental_earth_spirit_magic_accepted } + } + add = { + value = { + add = wc_magic_resistance_religion_accepted_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_earth_spirit_magic_ignored } + } + add = { + value = { + add = wc_magic_resistance_religion_shunned_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_earth_spirit_magic_illegal } + } + add = { + value = { + add = wc_magic_resistance_religion_criminal_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_elemental_air_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_elemental_air_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_elemental_water_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + if = { # Can be added or removed dynamically + limit = { has_variable = wc_elemental_water_magic_resistance } + add = var:wc_elemental_water_magic_resistance + } + # From User traits + if = { + limit = { has_trait = user_of_elemental_fire_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_fire_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_fire_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_fire_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { # Spirit Magic means more MR + limit = { + faith = { has_doctrine = doctrine_elemental_water_spirit_magic_approved } + } + add = { + value = { + add = wc_magic_resistance_religion_idolised_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_elemental_water_spirit_magic_accepted } + } + add = { + value = { + add = wc_magic_resistance_religion_accepted_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_water_spirit_magic_ignored } + } + add = { + value = { + add = wc_magic_resistance_religion_shunned_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_water_spirit_magic_illegal } + } + add = { + value = { + add = wc_magic_resistance_religion_criminal_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_elemental_water_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_elemental_water_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_summon_fire_elemental_modifier + } + add = { + value = 5 + desc = wc_summon_fire_elemental_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = frostbite_1 + } + add = { + value = -3 + desc = trait_frostbite_1 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = frostbite_2 + } + add = { + value = -5 + desc = trait_frostbite_2 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait = frostbite_3 + } + add = { + value = -8 + desc = trait_frostbite_3 + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_echo_of_light_modifier + } + add = { + value = 3 + desc = wc_echo_of_light_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_elemental_earth_magic_resistance_value = { + + value = { + add = { + value = wc_magic_resistance_base_value + desc = wc_mana_base_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + add = { + desc = wc_magical_prowess + format = "WC_MAX_MANA_VALUE_FORMAT" + value = wc_magic_resistance_from_mp + } + # From User traits + if = { + limit = { has_trait = user_of_elemental_air_magic_2 } + + add = { + value = wc_magic_resistance_level2_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_air_magic_3 } + + add = { + value = wc_magic_resistance_level3_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_air_magic_4 } + + add = { + value = wc_magic_resistance_level4_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { has_trait = user_of_elemental_air_magic_5 } + + add = { + value = wc_magic_resistance_level5_value + desc = wc_magic_scaling_value_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Faith + if = { # Spirit Magic means more MR + limit = { + faith = { has_doctrine = doctrine_elemental_air_spirit_magic_approved } + } + add = { + value = { + add = wc_magic_resistance_religion_idolised_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine = doctrine_elemental_air_spirit_magic_accepted } + } + add = { + value = { + add = wc_magic_resistance_religion_accepted_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_air_spirit_magic_ignored } + } + add = { + value = { + add = wc_magic_resistance_religion_shunned_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + else_if = { + limit = { + faith = { has_doctrine_parameter = elemental_air_spirit_magic_illegal } + } + add = { + value = { + add = wc_magic_resistance_religion_criminal_value + } + desc = wc_magic_religion_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + # By Race + if = { + limit = { + has_trait_with_flag = racial_elemental_earth_magic_resistance + } + add = { + value = wc_magic_resistance_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_trait_with_flag = racial_elemental_earth_magic_vulnerability + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_race_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + is_lowborn = yes + } + add = { + value = wc_magic_vulnerability_racial_value + desc = wc_magic_lowborn_desc + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_minor_protection_modifier + } + add = { + value = 3 + desc = wc_elemental_fire_minor_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_elemental_fire_major_protection_modifier + } + add = { + value = 6 + desc = wc_elemental_fire_major_protection_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_exorcism_modifier + } + add = { + value = -1 + desc = wc_exorcism_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_saved_with_salvation_modifier + } + add = { + value = -2 + desc = wc_saved_with_salvation_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_blessed_bastion_modifier + } + add = { + value = 3 + desc = wc_blessed_bastion_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_perk = light_magic_tree_2_perk_2 + } + add = { + value = 1 + desc = light_magic_tree_2_perk_2_PERK_DESC + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + if = { + limit = { + has_character_modifier = wc_devotion_aura_modifier + } + add = { + value = 3 + desc = wc_devotion_aura_modifier + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + if = { + limit = { + has_character_modifier = wc_vengeance_aura_modifier_negative + } + add = { + value = -1 + desc = wc_vengeance_aura_modifier_negative + format = "WC_MAX_MANA_VALUE_FORMAT" + } + } + + add = wc_all_magic_resistance_add_value + multiply = wc_all_magic_resistance_mult_value + + round = yes + max = 25 + min = -5 +} +wc_elemental_fire_magic_resistance_dodge_liege_value = { + add = wc_elemental_fire_magic_resistance_value + add = liege.wc_elemental_fire_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_elemental_fire_magic_resistance_dodge_value = { + add = wc_elemental_fire_magic_resistance_value + multiply = 1.3 +} +wc_elemental_earth_magic_resistance_dodge_liege_value = { + add = wc_elemental_earth_magic_resistance_value + add = liege.wc_elemental_earth_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_elemental_earth_magic_resistance_dodge_value = { + add = wc_elemental_earth_magic_resistance_value + multiply = 1.3 +} +wc_elemental_air_magic_resistance_dodge_liege_value = { + add = wc_elemental_air_magic_resistance_value + add = liege.wc_elemental_air_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_elemental_air_magic_resistance_dodge_value = { + add = wc_elemental_air_magic_resistance_value + multiply = 1.3 +} +wc_elemental_water_magic_resistance_dodge_liege_value = { + add = wc_elemental_water_magic_resistance_value + add = liege.wc_elemental_water_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_elemental_water_magic_resistance_dodge_value = { + add = wc_elemental_water_magic_resistance_value + multiply = 1.3 +} +wc_light_magic_resistance_dodge_liege_value = { + add = wc_light_magic_resistance_value + add = liege.wc_light_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_light_magic_resistance_dodge_value = { + add = wc_light_magic_resistance_value + multiply = 1.3 +} +wc_shadow_magic_resistance_dodge_liege_value = { + add = wc_shadow_magic_resistance_value + add = liege.wc_shadow_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_shadow_magic_resistance_dodge_value = { + add = wc_shadow_magic_resistance_value + multiply = 1.3 +} +wc_death_magic_resistance_dodge_liege_value = { + add = wc_death_magic_resistance_value + add = liege.wc_death_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_death_magic_resistance_dodge_value = { + add = wc_death_magic_resistance_value + multiply = 1.3 +} +wc_life_magic_resistance_dodge_liege_value = { + add = wc_life_magic_resistance_value + add = liege.wc_life_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_life_magic_resistance_dodge_value = { + add = wc_life_magic_resistance_value + multiply = 1.3 +} +wc_order_magic_resistance_dodge_liege_value = { + add = wc_order_magic_resistance_value + add = liege.wc_order_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_order_magic_resistance_dodge_value = { + add = wc_order_magic_resistance_value + multiply = 1.3 +} +wc_disorder_magic_resistance_dodge_liege_value = { + add = wc_disorder_magic_resistance_value + add = liege.wc_disorder_magic_resistance_value + divide = 2 + multiply = 1.3 +} +wc_disorder_magic_resistance_dodge_value = { + add = wc_disorder_magic_resistance_value + multiply = 1.3 +} +wc_hp_capacity_value = { + value = 0 + add = { + value = health + } + multiply = 10 +} + +wc_current_hp_percent_value = { # Used in localization and progressbars + if = { + limit = { has_variable = wc_current_hp_variable } + add = var:wc_current_hp_variable + } + divide = wc_hp_capacity_value + + min = 0 +} + +wc_hp_replenishment_base_value = 2 # per month + +wc_hp_replenishment_value = { + add = { + value = wc_hp_replenishment_base_value + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_hp_capacity_base_desc + } + if = { + limit = { + wc_hp_capacity_value > 100 + } + add = { + value = { + add = wc_hp_capacity_value + subtract = 100 + divide = 2 + } + format = "WC_MAX_MANA_VALUE_FORMAT" + desc = wc_hp_capacity_desc + } + } + #add diseases here + #add custom spells here + # if = { + # limit = { + # has_variable = wc_hp_regen_boost_value + # } + # add = { + # value = var:wc_hp_regen_boost_value + # format = "WC_MAX_MANA_VALUE_FORMAT" + # desc = wc_from_spells_desc + # } + # } +} + + +# Magic Gender Chance + +light_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = light_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = light_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + if = { + limit = { + faith = { has_doctrine_parameter = elunic_light_magic_female_only } + } + if = { + limit = { is_female = yes } + value = 1 + } else = { + value = 0 + } + } + if = { + limit = { + OR = { + faith = { has_doctrine_parameter = troll_faith_magic_gender } + faith = { has_doctrine_parameter = eks_faith_magic_gender } + } + } + value = root_faith_clergy_gender_female_chance + } + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +shadow_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = shadow_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = shadow_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + if = { + limit = { faith = { has_doctrine_parameter = troll_faith_magic_gender } } + value = root_faith_clergy_gender_female_chance + } + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +order_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = order_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = order_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +disorder_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = disorder_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = disorder_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +life_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = life_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = life_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + if = { + limit = { + faith = { has_doctrine_parameter = elunic_life_magic_male_only } + } + if = { + limit = { is_female = no } + value = 1 + } else = { + value = 0 + } + } + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +death_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = death_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = death_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +elemental_fire_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = elemental_fire_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +elemental_water_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = elemental_water_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = elemental_water_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +elemental_air_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = elemental_air_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = elemental_air_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +elemental_earth_magic_user_gender_chance = { + + #-- general doctrines + if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_magic_gender_dominant } } + value = root_faith_dominant_gender_female_chance + } + if = { + limit = { faith = { has_doctrine_parameter = elemental_earth_magic_gender_clerical } } + value = root_faith_clergy_gender_female_chance + } + + #-- special doctrines + if = { + limit = { faith = { has_doctrine_parameter = earthmother_magic_gender } } + value = root_faith_clergy_gender_female_chance + } + + #-- ubiquitous - always should be last + if = { + limit = { faith = { has_doctrine_parameter = magic_use_ubiquitous } } + value = 0.5 + } +} + +wc_level_1_magic_trait_count = { + value = 0 + every_character_trait = { + limit = { has_trait_flag = wc_magic_level_1_flag } + add = 1 + } +} +wc_level_2_magic_trait_count = { + value = 0 + every_character_trait = { + limit = { has_trait_flag = wc_magic_level_2_flag } + add = 1 + } +} +wc_level_3_magic_trait_count = { + value = 0 + every_character_trait = { + limit = { has_trait_flag = wc_magic_level_3_flag } + add = 1 + } +} +wc_level_4_magic_trait_count = { + value = 0 + every_character_trait = { + limit = { has_trait_flag = wc_magic_level_4_flag } + add = 1 + } +} +wc_level_5_magic_trait_count = { + value = 0 + every_character_trait = { + limit = { has_trait_flag = wc_magic_level_5_flag } + add = 1 + } +} + +elemental_fire_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = elemental_fire_cast_count + } + add = var:elemental_fire_cast_count + } +} +elemental_water_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = elemental_water_cast_count + } + add = var:elemental_water_cast_count + } +} +elemental_air_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = elemental_air_cast_count + } + add = var:elemental_air_cast_count + } +} +elemental_earth_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = elemental_earth_cast_count + } + add = var:elemental_earth_cast_count + } +} +light_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = light_cast_count + } + add = var:light_cast_count + } +} +shadow_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = shadow_cast_count + } + add = var:shadow_cast_count + } +} +life_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = life_cast_count + } + add = var:life_cast_count + } +} +death_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = death_cast_count + } + add = var:death_cast_count + } +} +order_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = order_cast_count + } + add = var:order_cast_count + } +} +disorder_cast_count_value = { + value = 0 + if = { + limit = { + has_variable = disorder_cast_count + } + add = var:disorder_cast_count + } +} + +cancelled_cost = { + value = 0 + if = { + limit = { + has_variable = cancelled_cost + } + add = var:cancelled_cost + } +} +# Magic resistance for scaling +# Max is 25, so 25 == 100% resistance +# value * 4 = resistance, so 6 mr = 24% resistance +wc_elemental_fire_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_elemental_fire_magic_resistance_value #example = 6 + multiply = 4 # % resistance, so example is 24 % resistance + divide = 100 # so it's 0.24 + } + } +} +wc_elemental_water_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_elemental_water_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_elemental_air_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_elemental_air_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_elemental_earth_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_elemental_earth_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_light_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_light_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_shadow_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_shadow_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_life_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_life_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_death_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_death_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_order_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_order_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} +wc_disorder_magic_resistance_scale_value = { + value = 1 + subtract = { + value = { + add = wc_disorder_magic_resistance_value + multiply = 4 + divide = 100 + } + } +} + +wc_elemental_favour_penalty_for_innovations = { + value = 1 + if = { + limit = {culture = { has_cultural_era_or_later = culture_era_late_medieval }} + add = -0.25 + } + if = { limit = {culture = { has_cultural_era_or_later = culture_era_early_modern }} + add = -0.25 + } +} + +wc_elemental_water_favour_bonus_for_heritage = { + value = 1 + if = { + limit = { + culture = { + culture_is_elemental_water_favoured_heritage = yes + } + } + add = 0.25 + } + else_if = { + limit = { + culture = { + culture_is_elemental_favoured_heritage = yes + } + } + add = 0.15 + } +} + +wc_elemental_fire_favour_bonus_for_heritage = { + value = 1 + if = { + limit = { + culture_is_elemental_water_favoured_heritage = yes + } + add = 0.25 + } + else_if = { + limit = { culture_is_elemental_favoured_heritage = yes } + add = 0.15 + } +} + +wc_elemental_air_favour_bonus_for_heritage = { + value = 1 + if = { + limit = { + culture_is_elemental_air_favoured_heritage = yes + } + add = 0.25 + } + else_if = { + limit = { culture_is_elemental_favoured_heritage = yes } + add = 0.15 + } +} + +wc_elemental_earth_favour_bonus_for_heritage = { + value = 1 + if = { + limit = { + culture_is_elemental_earth_favoured_heritage = yes + } + add = 0.25 + } + else_if = { + limit = { culture_is_elemental_favoured_heritage = yes } + add = 0.15 + } +} + +dark_bargain_add_value = { + value = wc_max_mana_value + subtract = var:wc_current_mana_variable +} \ No newline at end of file diff --git a/common/script_values/wc_men_at_arms_values.txt b/common/script_values/wc_men_at_arms_values.txt index 077ac42140..bac8430c7d 100644 --- a/common/script_values/wc_men_at_arms_values.txt +++ b/common/script_values/wc_men_at_arms_values.txt @@ -92,7 +92,7 @@ culture_ai_weight_caster = { limit = { culture = { OR = { - has_innovation = innovation_archmage + has_innovation = innovation_archmagi has_innovation = innovation_centaur_tactics has_innovation = innovation_chaosborn has_innovation = innovation_gnome_mechanics diff --git a/common/scripted_character_templates/wc_event_templates.txt b/common/scripted_character_templates/wc_event_templates.txt index 227fe9eeda..ad881ebf9b 100644 --- a/common/scripted_character_templates/wc_event_templates.txt +++ b/common/scripted_character_templates/wc_event_templates.txt @@ -79,4 +79,5 @@ druid_fang = { trigger_race_giving_no_gene_effect = yes give_nickname = nick_fanglord } -} \ No newline at end of file +} + diff --git a/common/scripted_character_templates/wc_magic_templates.txt b/common/scripted_character_templates/wc_magic_templates.txt new file mode 100644 index 0000000000..fc6c335b73 --- /dev/null +++ b/common/scripted_character_templates/wc_magic_templates.txt @@ -0,0 +1,38 @@ +void_leader_character = { + age = { 18 32 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = shadow_magic_user_gender_chance + martial = { + min_template_high_skill + max_template_high_skill + } + prowess = { 10 13 } + random_traits_list = { + count = 1 + education_martial_2 = {} + education_martial_3 = {} + education_martial_4 = {} + } + after_creation = { + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + add_trait = being_void + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = shadow TARGETLEVEL = 3 } + add_character_flag = is_void_leader + if = { + limit = { + NOT = { faith.religion = { is_in_family = rf_shadow } } + } + random_list = { + 1 = { set_character_faith = faith:cthunism } + 1 = { set_character_faith = faith:nzothism } + 1 = { set_character_faith = faith:yoggsaronism } + 1 = { set_character_faith = faith:yshaarjism } + 1 = { set_character_faith = faith:ghuunism } + } + } + set_sexuality = asexual + } +} \ No newline at end of file diff --git a/common/scripted_character_templates/wc_officials_templates.txt b/common/scripted_character_templates/wc_officials_templates.txt index a069a5a8c5..6bf9eb873b 100644 --- a/common/scripted_character_templates/wc_officials_templates.txt +++ b/common/scripted_character_templates/wc_officials_templates.txt @@ -25,4 +25,809 @@ emissary_character = { # Warcraft trigger_race_giving_no_gene_effect = yes #Assigns race trait } +} + +court_mage_random_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = root_faith_dominant_gender_female_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_legal_magic = { TARGETLEVEL = 3 } + add_random_legal_magic = { TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } + +} + +# available to humans only via find court mage decision +court_mage_dalaranian_character = { + age = { 40 72 } + random_traits = yes + culture = culture:dalaranian + faith = faith:kirin_torian + gender_female_chance = order_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_2 = {} + education_learning_3 = {} + } + + after_creation = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = order TARGETLEVEL = 4 } + random_list = { + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 3 } + } + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 3 } + } + } + random_list = { + 50 = { + add_random_legal_magic = { TARGETLEVEL = 2 } + add_piety = 50 + } + 45 = { + add_trait = magic_good_noninheritable + add_gold = 100 + add_piety = 50 + } + 25 = { + add_random_magic = { TARGETLEVEL = 2 } + add_trait = cynical + add_piety = -50 + } + } + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_arcane_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = order_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = order TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_fel_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = disorder_magic_user_gender_chance + intrigue = { + min_template_decent_skill + max_template_decent_skill + } + + after_creation = { + + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = disorder TARGETLEVEL = 3 } + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + + } +} + +court_mage_light_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = light_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = light TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_shadow_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = shadow_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = shadow TARGETLEVEL = 3 } + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +court_mage_life_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = life_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = life TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_death_character = { + age = { 40 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = death_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = death TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + + } +} + +mage_elemental_fire_character = { + age = { 30 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_fire_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_elemental_water_character = { + age = { 30 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_water_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +mage_elemental_earth_character = { + age = { 30 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_earth_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_earth TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +court_mage_elemental_air_character = { + age = { 30 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_air_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + } + + after_creation = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_air TARGETLEVEL = 3 } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +court_mage_shady_character = { + age = { 30 72 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = root_faith_dominant_gender_female_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + intrigue = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_1 = {} + education_learning_2 = {} + education_intrigue_1 = {} + education_intrigue_2 = {} + education_intrigue_3 = {} + education_intrigue_4 = {} + } + random_traits_list = { + count = 1 + cynical = {} + callous = {} + arbitrary = {} + sadistic = {} + fickle = {} + disloyal = {} + } + # random_traits_list = { # Moved to after race trait assignment because causes error log spam + # count = 1 + # intellect_good_1 = {} + # beauty_good_1 = {} + # eccentric = {} + # magic_good_1 = {} + # magic_good_2 = {} + # magic_good_noninheritable = {} + # beauty_good_noninheritable = {} + # gregarious = {} + # scarred = {} + # witch = {} + # } + + after_creation = { + add_random_legal_magic = { TARGETLEVEL = 3 } + random_list = { + 50 = { + add_random_illegal_magic = { TARGETLEVEL = 4 } + } + 50 = { + add_random_magic = { TARGETLEVEL = 3 } + } + } + + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + + random_list = { + 10 = { add_trait = intellect_good_1 } + 10 = { add_trait = beauty_good_1 } + 10 = { add_trait = eccentric } + 10 = { add_trait = magic_good_1 } + 10 = { add_trait = magic_good_2 } + 10 = { add_trait = magic_good_noninheritable } + #10 = { add_trait = beauty_good_noninheritable } + 10 = { add_trait = gregarious } + 10 = { add_trait = scarred } + 10 = { add_trait = witch } + } + } + +} + +planar_fire_character_spirit = { + age = { 25 75 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_fire_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + martial = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_2 = {} + education_learning_3 = {} + education_diplomacy_2 = {} + education_diplomacy_3 = {} + education_martial_2 = {} + education_martial_3 = {} + } + after_creation = { + random_list = { + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 4 } + } + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 5 } + } + } + random_list = { + 30 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_earth TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 15 + } + } + } + } + 25 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_earth TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 15 + } + } + } + } + 20 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_air TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 15 + } + } + } + } + 15 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_air TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 15 + } + } + } + } + 10 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 15 + } + } + } + } + 5 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 15 + } + } + } + } + } + random_list = { + 75 = {} + 10 = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = life TARGETLEVEL = 2 } + } + 5 = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = life TARGETLEVEL = 3 } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = add + VALUE = 75 + } + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } +} + +planar_fire_character_decay = { + age = { 25 75 } + random_traits = yes + culture = root.culture + faith = root.faith + gender_female_chance = elemental_fire_magic_user_gender_chance + learning = { + min_template_decent_skill + max_template_decent_skill + } + martial = { + min_template_decent_skill + max_template_decent_skill + } + random_traits_list = { + count = 1 + education_learning_2 = {} + education_learning_3 = {} + education_intrigue_2 = {} + education_intrigue_3 = {} + education_martial_2 = {} + education_martial_3 = {} + } + after_creation = { + random_list = { + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 4 } + } + 50 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_fire TARGETLEVEL = 5 } + } + } + random_list = { + 30 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_earth TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 15 + } + } + } + } + 25 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_earth TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_earth + CHANGE = add + VALUE = 15 + } + } + } + } + 20 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_air TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 15 + } + } + } + } + 15 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_air TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_air + CHANGE = add + VALUE = 15 + } + } + } + } + 10 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 2 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 15 + } + } + } + } + 5 = { + add_random_perks_to_elemental_magic_lifestyle = { MAGICTYPE = elemental_water TARGETLEVEL = 3 } + random_list = { + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 15 + } + } + 33 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 50 + } + } + 20 = { + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = add + VALUE = 15 + } + } + } + } + } + random_list = { + 75 = {} + 10 = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = life TARGETLEVEL = 2 } + } + 5 = { + add_random_perks_to_non_elemental_magic_lifestyle = { MAGICTYPE = life TARGETLEVEL = 3 } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = subtract + VALUE = 75 + } + # Warcraft + trigger_race_giving_no_gene_effect = yes #Assigns race trait + } } \ No newline at end of file diff --git a/common/scripted_effects/00_activity_effects.txt b/common/scripted_effects/00_activity_effects.txt index 9005064f88..85d77206ee 100644 --- a/common/scripted_effects/00_activity_effects.txt +++ b/common/scripted_effects/00_activity_effects.txt @@ -2833,7 +2833,6 @@ disburse_feast_activity_rewards = { save_scope_as = root_scope # Rewards based on Activity Options - # Number of courses if = { limit = { @@ -2851,15 +2850,15 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards - + #Max Food Option will make Courtly Vassals more happy than other guests. #Court Amenities can increase this further. - + every_vassal_or_below = { limit = { has_vassal_stance = courtly @@ -2905,7 +2904,7 @@ disburse_feast_activity_rewards = { } } } - #With Middle Food Option + #With Middle Food Option scope:activity = { add_activity_log_entry = { key = courses_normal_reward_tt @@ -2913,11 +2912,11 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards - + #With Middle Food Option Courtly vassals have slightly higher opinion gain than others #Very High Court Amenities can increase it slightly. @@ -2966,7 +2965,7 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards @@ -3037,11 +3036,28 @@ disburse_feast_activity_rewards = { NOT = { this = root } } custom = custom.every_attending_character - add_opinion = { - target = root - modifier = impressed_opinion - opinion = 5 + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + add_opinion = { + target = root + modifier = impressed_opinion + opinion = 10 + } + } + else = { + add_opinion = { + target = root + modifier = impressed_opinion + opinion = 5 + } } + # End Warcraft } } } @@ -3066,7 +3082,7 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards @@ -3091,6 +3107,14 @@ disburse_feast_activity_rewards = { } add = major_prestige_gain } + if = { + limit = { + activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } # Warcraft - disabled # if = { # limit = { @@ -3101,6 +3125,17 @@ disburse_feast_activity_rewards = { # } # add = medium_prestige_gain # } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3122,7 +3157,7 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards @@ -3161,6 +3196,14 @@ disburse_feast_activity_rewards = { } add = major_prestige_gain } + if = { + limit = { + scope:activity.activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } # Warcraft - disabled # if = { # limit = { @@ -3171,6 +3214,17 @@ disburse_feast_activity_rewards = { # } # add = medium_prestige_gain # } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3184,7 +3238,7 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { # Host Rewards @@ -3222,7 +3276,15 @@ disburse_feast_activity_rewards = { } add = major_prestige_gain } - #Warcraft + if = { + limit = { + activity_location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + multiply = 1.5 + } + # Warcraft - disabled # if = { # limit = { # any_character_struggle = { @@ -3232,6 +3294,17 @@ disburse_feast_activity_rewards = { # } # add = medium_prestige_gain # } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3255,12 +3328,12 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { change_influence = { value = 15 - + scope:activity = { every_attending_character = { limit = { @@ -3300,6 +3373,17 @@ disburse_feast_activity_rewards = { add = estate_improved_wine_cellar_1_value } } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3321,12 +3405,12 @@ disburse_feast_activity_rewards = { character = scope:root_scope show_in_conclusion = yes score = 50 - + # Effects root = { change_influence = { value = 10 - + scope:activity = { every_attending_character = { limit = { @@ -3366,6 +3450,17 @@ disburse_feast_activity_rewards = { add = estate_improved_wine_cellar_1_value } } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3432,6 +3527,17 @@ disburse_feast_activity_rewards = { add = estate_improved_wine_cellar_1_value } } + + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + # End Warcraft } } } @@ -3439,7 +3545,7 @@ disburse_feast_activity_rewards = { } # We give you the regular rewards - hosted_successful_feast_new_effect = yes + hosted_successful_feast_new_effect = yes # We give out the Reveler trait/xp disburse_feast_reveler_rewards = yes #Accolade glory gain @@ -3924,7 +4030,7 @@ disburse_feast_reveler_rewards = { } } # LEGITIMACY GAIN FOR STANDARD ACTIVITY PARTICIPATION - FEAST - standard_activity_participation_legitimacy_effect = yes + feast_activity_participation_legitimacy_effect = yes # Warcraft } @@ -4080,7 +4186,7 @@ activity_special_type_progression_negative = { add_to_court_and_entourage_effect = { root = { - add_courtier = prev + add_courtier = prev } root.current_travel_plan = { add_companion = prev @@ -4093,7 +4199,7 @@ add_to_court_and_entourage_effect = { add_to_court_and_entourage_only_effect = { root = { - add_courtier = prev + add_courtier = prev } hidden_effect = { root.current_travel_plan = { @@ -4130,7 +4236,7 @@ add_to_entourage_court_and_activity_effect = { else = { if = { limit = { - $CHAR_TO_ADD$ = { + $CHAR_TO_ADD$ = { NOT = { is_courtier_of = $NEW_COURT_OWNER$ } } } @@ -4140,7 +4246,7 @@ add_to_entourage_court_and_activity_effect = { if = { limit = { $CHAR_TO_ADD$ = { NOT = { exists = current_travel_plan } } } $NEW_COURT_OWNER$.current_travel_plan ?= { add_companion = $CHAR_TO_ADD$ } - } + } } if = { limit = { @@ -4166,7 +4272,7 @@ recruit_to_entourage_court_and_activity_effect = { hidden_effect = { # This must go above activity effect, or they will try and make their own travel plan! if = { limit = { $CHAR_TO_ADD$ = { NOT = { exists = current_travel_plan } } } - current_travel_plan ?= { add_companion = $CHAR_TO_ADD$ } + current_travel_plan ?= { add_companion = $CHAR_TO_ADD$ } } } if = { diff --git a/common/scripted_effects/00_courtier_guest_management_effects.txt b/common/scripted_effects/00_courtier_guest_management_effects.txt index 8d6a0cfc40..9cb3a50685 100644 --- a/common/scripted_effects/00_courtier_guest_management_effects.txt +++ b/common/scripted_effects/00_courtier_guest_management_effects.txt @@ -1117,7 +1117,7 @@ pool_character_development_effect = { has_trait = magic_good_noninheritable } } - add_trait = magic_good_noninheritable + wc_EFFECT_magical_TRAIT_effect = { EFFECT = add_trait TRAIT = magic_good_noninheritable } } # End of Warcraft } diff --git a/common/scripted_effects/00_feast_scripted_effects.txt b/common/scripted_effects/00_feast_scripted_effects.txt new file mode 100644 index 0000000000..b375f56420 --- /dev/null +++ b/common/scripted_effects/00_feast_scripted_effects.txt @@ -0,0 +1,278 @@ + +#Effects used in Feasts + +#feast_end_guest_effect - Effect run for all guests when they leave feasts + +feast_fire_correct_default_event_effect = { + if = { + limit = { + this = scope:activity.activity_host + } + trigger_event = { + on_action = feast_default_host_event_selection + days = { min_feast_event_spacing max_feast_event_spacing } + } + } + else = { + trigger_event = { + on_action = feast_default_event_selection + days = { min_feast_event_spacing max_feast_event_spacing } + } + } +} + +feast_end_guest_effect = { + # Only called on the end of a *successful* feast. Feasts which are interrupted due to death, imprisonment, etc., don't get this, so put critical clean-up stuff in the activity itself. + reveler_lifestyle_rank_up_check_effect = yes + stress_impact = { + base = medium_stress_loss + gluttonous = medium_stress_impact_loss + gregarious = medium_stress_impact_loss + shy = medium_stress_impact_gain + } +} + +add_hosted_feast_modifier_towards_character = { + if = { + limit = { + $CHARACTER$ = { + employs_court_position = court_musician_court_position + any_court_position_holder = { + type = court_musician_court_position + is_physically_able = yes + } + } + } + if = { + limit = { # Increase the bonus slightly if musician's culture has Musicical Theorists + $CHARACTER$ = { + any_court_position_holder = { + type = court_musician_court_position + culture = { has_cultural_parameter = characters_are_better_court_musicians } + } + } + } + add_opinion = { + target = $CHARACTER$ + modifier = feast_hosted_successful_feast_with_music + opinion = 35 + } + } + else = { + add_opinion = { + target = $CHARACTER$ + modifier = feast_hosted_successful_feast_with_music + } + } + } + else = { + add_opinion = { + target = $CHARACTER$ + modifier = feast_hosted_successful_feast + } + } +} +# Deprecated. +hosted_successful_feast_effect = { + if = { + limit = { + culture = { + has_cultural_parameter = renown_from_feasts + } + exists = dynasty + } + dynasty = { + add_dynasty_prestige = minor_dynasty_prestige_value + } + } + scope:activity = { + every_attending_character = { + limit = { NOT = { this = root } } + custom = every_guest_scope_tt + add_hosted_feast_modifier_towards_character = { CHARACTER = root } + } + } + reveler_lifestyle_rank_up_check_effect = yes + hidden_effect = { + if = { + limit = { exists = scope:spouse } + add_opinion = { #Your opinion of your Spouse increases, considering they did most of the work + target = scope:spouse + modifier = feast_spouse_hosted_successful_feast_opinion + } + } + } +} + +hosted_successful_feast_new_effect = { + # Renown gain from Tradition. + if = { + limit = { + culture = { has_cultural_parameter = renown_from_feasts } + } + dynasty ?= { + # Warcraft + add_dynasty_prestige = { + value = minor_dynasty_prestige_value + + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + multiply = 2 + } + } + # End Warcraft + } + } + # Piety gain from Tenets. + if = { + limit = { + faith = { + OR = { + has_doctrine_parameter = piety_from_feasts_active + AND = { + has_doctrine_parameter = summer_festivals_active + # Only during 'summer' (May 1st through July 31st). + current_month >= 5 + current_month <= 7 + } + } + } + } + add_piety = { + value = 0 + + if = { + limit = { + faith = { has_doctrine_parameter = summer_festivals_active } + # Only during 'summer' (May 1st through July 31st). + current_month >= 5 + current_month <= 7 + } + add = major_piety_value + } + if = { + limit = { + faith = { has_doctrine = tenet_ritual_celebrations } + } + add = medium_piety_value + } + if = { + limit = { + faith = { has_doctrine = tenet_hedonistic } + } + add = medium_piety_value + } + if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + amenity_level = { type = court_food_quality value >= 5 } + } + multiply = 2.5 + } + else_if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + amenity_level = { type = court_food_quality value >= 4 } + } + multiply = 2 + } + else_if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + amenity_level = { type = court_food_quality value >= 3 } + } + multiply = 1.5 + } + else_if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + amenity_level = { type = court_food_quality value >= 2 } + } + multiply = 1 + } + else_if = { + limit = { + has_royal_court = yes + has_dlc_feature = royal_court + amenity_level = { type = court_food_quality value <= 1 } + } + multiply = 0.5 + } + + # Warcraft + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + multiply = 2 + } + # End Warcraft + + # Always give some piety, even if you completely cheaped out. + min = medium_piety_value + } + } + # County development + scope:activity_location.county = { + # Warcraft + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + } + add_county_modifier = { + modifier = feast_recent_fest_modifier + years = 10 + } + } + else = { + add_county_modifier = { + modifier = feast_recent_fest_modifier + years = 5 + } + } + # End Warcraft + } + # Opinion with spouse (various other opinions handled elsewhere). + hidden_effect = { + if = { + limit = { exists = scope:spouse } + add_opinion = { #Your opinion of your Spouse increases, considering they did most of the work + target = scope:spouse + modifier = feast_spouse_hosted_successful_feast_opinion + } + } + } +} + +hosted_successful_feast_interrupted_effect = { + add_prestige = medium_prestige_gain + scope:activity = { + every_attending_character = { + limit = { + NOT = { this = scope:host } + } + custom = every_guest_scope_tt + add_hosted_feast_modifier_towards_character = { CHARACTER = scope:host } + } + } + reveler_lifestyle_rank_up_check_effect = yes + hidden_effect = { + if = { + limit = { exists = scope:spouse } + add_opinion = { #Your opinion of your Spouse increases, considering they did most of the work + target = scope:spouse + modifier = feast_spouse_hosted_successful_feast_opinion + } + } + } +} diff --git a/common/scripted_effects/00_prison_effects.txt b/common/scripted_effects/00_prison_effects.txt index 2f2c0b3f3c..365e7133e3 100644 --- a/common/scripted_effects/00_prison_effects.txt +++ b/common/scripted_effects/00_prison_effects.txt @@ -331,7 +331,14 @@ execute_prisoner_effect = { change_dark_frenzy_effect = { VALUE = minor_dark_frenzy_gain } } } - + if = { + limit = { + location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_dread = execute_interaction_minor_dread_gain + } # Piety loss (or gain) from executions if = { limit = { @@ -388,6 +395,14 @@ execute_prisoner_effect = { else = { scope:executioner = { add_piety = miniscule_piety_gain } } + if = { + limit = { + location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + scope:executioner = { add_piety = minor_piety_gain } + } } } else_if = { diff --git a/common/scripted_effects/00_secret_effects.txt b/common/scripted_effects/00_secret_effects.txt index 58146c2192..c53b132b8e 100644 --- a/common/scripted_effects/00_secret_effects.txt +++ b/common/scripted_effects/00_secret_effects.txt @@ -196,7 +196,7 @@ remove_witch_secret_or_trait_effect = { else = { random_secret = { limit = { secret_type = secret_witch } - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } } } @@ -1020,6 +1020,78 @@ secret_exposed_notification_effect = { } desc = secret_exposed_notification_effect_message_faith } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_light_magic_user } } + desc = secret_exposed_notification_effect_message_light_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_shadow_magic_user } } + desc = secret_exposed_notification_effect_message_shadow_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_order_magic_user } } + desc = secret_exposed_notification_effect_message_order_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_disorder_magic_user } } + desc = secret_exposed_notification_effect_message_disorder_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_life_magic_user } } + desc = secret_exposed_notification_effect_message_life_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_death_magic_user } } + desc = secret_exposed_notification_effect_message_death_magic + } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_elemental_fire_magic_user } } + desc = secret_exposed_notification_effect_message_elemental_fire_magic + } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_fire_spirit_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_fire_spirit_magic + # } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_fire_decay_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_fire_decay_magic + # } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_elemental_water_magic_user } } + desc = secret_exposed_notification_effect_message_elemental_water_magic + } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_water_spirit_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_water_spirit_magic + # } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_water_decay_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_water_decay_magic + # } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_elemental_air_magic_user } } + desc = secret_exposed_notification_effect_message_elemental_air_magic + } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_air_spirit_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_air_spirit_magic + # } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_air_decay_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_air_decay_magic + # } + triggered_desc = { + trigger = { scope:secret = { secret_type = secret_elemental_earth_magic_user } } + desc = secret_exposed_notification_effect_message_elemental_earth_magic + } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_earth_spirit_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_earth_spirit_magic + # } + # triggered_desc = { + # trigger = { scope:secret = { secret_type = secret_elemental_earth_decay_magic_user } } + # desc = secret_exposed_notification_effect_message_elemental_earth_decay_magic + # } } } @@ -1139,6 +1211,78 @@ secret_exposed_notification_effect = { limit = { scope:secret = { secret_type = secret_crypto_religionist } } custom_tooltip = secret_exposed_notification_effect_message_faith.i_exposed } + else_if = { + limit = { scope:secret = { secret_type = secret_light_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_light_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_shadow_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_shadow_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_order_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_order_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_disorder_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_disorder_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_life_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_life_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_death_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_death_magic.i_exposed + } + else_if = { + limit = { scope:secret = { secret_type = secret_elemental_fire_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_elemental_fire_magic.i_exposed + } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_fire_spirit_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_fire_spirit_magic.i_exposed + # } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_fire_decay_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_fire_decay_magic.i_exposed + # } + else_if = { + limit = { scope:secret = { secret_type = secret_elemental_water_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_elemental_water_magic.i_exposed + } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_water_spirit_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_water_spirit_magic.i_exposed + # } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_water_decay_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_water_decay_magic.i_exposed + # } + else_if = { + limit = { scope:secret = { secret_type = secret_elemental_air_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_elemental_air_magic.i_exposed + } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_air_spirit_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_air_spirit_magic.i_exposed + # } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_air_decay_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_air_decay_magic.i_exposed + # } + else_if = { + limit = { scope:secret = { secret_type = secret_elemental_earth_magic_user } } + custom_tooltip = secret_exposed_notification_effect_message_elemental_earth_magic.i_exposed + } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_earth_spirit_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_earth_spirit_magic.i_exposed + # } + # else_if = { + # limit = { scope:secret = { secret_type = secret_elemental_earth_decay_magic_user } } + # custom_tooltip = secret_exposed_notification_effect_message_elemental_earth_decay_magic.i_exposed + # } if = { limit = { has_hook_from_secret = scope:secret } diff --git a/common/scripted_effects/04_dlc_ep2_tournament_effects.txt b/common/scripted_effects/04_dlc_ep2_tournament_effects.txt index 44a9ce4f8d..758de1666f 100644 --- a/common/scripted_effects/04_dlc_ep2_tournament_effects.txt +++ b/common/scripted_effects/04_dlc_ep2_tournament_effects.txt @@ -6412,6 +6412,20 @@ set_passive_contest_aptitude_and_progress_effect = { } } } + if = { + limit = { + scope:activity = { + location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + scope:activity.host = this + } + change_variable = { + name = contest_aptitude + add = 1 + } + } set_variable = { name = progress_to_victory value = progress_to_victory_passive_contestant_value diff --git a/common/scripted_effects/06_dlc_ce1_legitimacy_effects.txt b/common/scripted_effects/06_dlc_ce1_legitimacy_effects.txt index ec9d36c35c..95a411a036 100755 --- a/common/scripted_effects/06_dlc_ce1_legitimacy_effects.txt +++ b/common/scripted_effects/06_dlc_ce1_legitimacy_effects.txt @@ -38,6 +38,35 @@ standard_activity_participation_legitimacy_effect = { } } +# Warcraft +# Legitimacy from feasts, factors in Blessed Ice perk +feast_activity_participation_legitimacy_effect = { + add_legitimacy = { + value = 0 + + if = { + limit = { is_valid_for_legitimacy_change = yes } + if = { + limit = { + this = scope:host + } + add = minor_legitimacy_gain + } + else = { + add = miniscule_legitimacy_gain + } + + if = { + limit = { + has_perk = elemental_water_magic_tree_2_perk_3 + } + multiply = 2 + } + } + } +} +# End Warcraft + # LEGITIMACY GAIN FOR LEGENDARY HUNT PARTICIPATION legendary_hunt_participation_legitimacy_effect = { if = { diff --git a/common/scripted_effects/07_dlc_ep3_scripted_effects.txt b/common/scripted_effects/07_dlc_ep3_scripted_effects.txt index 0a305d8ecd..edbf045a1b 100644 --- a/common/scripted_effects/07_dlc_ep3_scripted_effects.txt +++ b/common/scripted_effects/07_dlc_ep3_scripted_effects.txt @@ -8002,7 +8002,7 @@ ep3_pick_random_maa_regiment_effect = { #Warcraft 1 = { trigger = { - culture = { has_innovation = innovation_archmage } + culture = { has_innovation = innovation_archmagi } } save_scope_value_as = { name = maa_to_create diff --git a/common/scripted_effects/20_health_effects.txt b/common/scripted_effects/20_health_effects.txt index 518a8ab4b1..89d0ddf516 100644 --- a/common/scripted_effects/20_health_effects.txt +++ b/common/scripted_effects/20_health_effects.txt @@ -211,6 +211,12 @@ contract_disease_effect = { scope:disease_type = flag:bubonic_plague scope:disease_type = flag:typhus scope:disease_type = flag:consumption + # Warcraft + scope:disease_type = flag:frost_fever + scope:disease_type = flag:crypt_fever + scope:disease_type = flag:blood_plague + scope:disease_type = flag:void_sickness + # End Warcraft } } @@ -363,6 +369,36 @@ contract_disease_effect = { days = { ergotism_min_recovery_time ergotism_max_recovery_time } } } + # Warcraft + else_if = { #Frost Fever + limit = { scope:disease_type = flag:frost_fever } + trigger_event = { + id = health.1115 + days = { frost_fever_min_recovery_time frost_fever_max_recovery_time } + } + } + else_if = { #Frost Fever + limit = { scope:disease_type = flag:crypt_fever } + trigger_event = { + id = health.1116 + days = { crypt_fever_min_recovery_time crypt_fever_max_recovery_time } + } + } + else_if = { #Frost Fever + limit = { scope:disease_type = flag:blood_plague } + trigger_event = { + id = health.1117 + days = { blood_plague_min_recovery_time blood_plague_max_recovery_time } + } + } + else_if = { #Frost Fever + limit = { scope:disease_type = flag:void_sickness } + trigger_event = { + id = health.1118 + days = { void_sickness_min_recovery_time void_sickness_max_recovery_time } + } + } + # End Warcraft #No recovery for leper and lover's pox @@ -381,6 +417,12 @@ contract_disease_effect = { scope:disease_type = flag:dysentery scope:disease_type = flag:smallpox scope:disease_type = flag:bubonic_plague + # Warcraft + scope:disease_type = flag:frost_fever + scope:disease_type = flag:crypt_fever + scope:disease_type = flag:blood_plague + scope:disease_type = flag:void_sickness + # End Warcraft } } epilepsy_fever_risk_effect = { CHANCE = 5 } @@ -399,6 +441,12 @@ contract_disease_effect = { scope:disease_type = flag:dysentery scope:disease_type = flag:typhus scope:disease_type = flag:consumption + # Warcraft + scope:disease_type = flag:frost_fever + scope:disease_type = flag:crypt_fever + scope:disease_type = flag:blood_plague + scope:disease_type = flag:void_sickness + # End Warcraft } is_ruler = no has_health_court_owner_trigger = yes #Imprisoner or court owner @@ -673,6 +721,24 @@ contract_disease_notify_effect = { limit = { scope:disease_type = flag:bubonic_plague } trigger_event = { id = health.1011 days = { 5 15 } } } + # Warcraft + else_if = { + limit = { scope:disease_type = flag:frost_fever } + trigger_event = { id = health.1018 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:crypt_fever } + trigger_event = { id = health.1019 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:blood_plague } + trigger_event = { id = health.1020 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:void_sickness } + trigger_event = { id = health.1021 days = { 5 15 } } + } + # End Warcraft } #Removes the disease in question and sends notifications to everyone who should know. Needs the arguments DISEASE (trait name, only exception is early_great_pox - it should be removed as great_pox). Does NOT send an event to the character who gets the disease. @@ -917,6 +983,24 @@ recover_from_disease_notify_effect = { limit = { scope:disease_type = flag:bubonic_plague } trigger_event = { id = health.1111 days = { 5 15 } } } + # Warcraft + else_if = { + limit = { scope:disease_type = flag:frost_fever } + trigger_event = { id = health.1115 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:crypt_fever } + trigger_event = { id = health.1116 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:blood_plague } + trigger_event = { id = health.1117 days = { 5 15 } } + } + else_if = { + limit = { scope:disease_type = flag:void_sickness } + trigger_event = { id = health.1118 days = { 5 15 } } + } + # End Warcraft } #If partner has lover's pox, the character gets it through an event. Needs argument PARTNER @@ -2334,6 +2418,36 @@ set_worst_disease_effect = { value = flag:bubonic_plague } } + # Warcraft + else_if = { + limit = { has_trait = blood_plague } + save_scope_value_as = { + name = disease_type + value = flag:blood_plague + } + } + else_if = { + limit = { has_trait = crypt_fever } + save_scope_value_as = { + name = disease_type + value = flag:crypt_fever + } + } + else_if = { + limit = { has_trait = frost_fever } + save_scope_value_as = { + name = disease_type + value = flag:frost_fever + } + } + else_if = { + limit = { has_trait = void_sickness } + save_scope_value_as = { + name = disease_type + value = flag:void_sickness + } + } + # End Warcraft else_if = { limit = { has_trait = cancer } save_scope_value_as = { @@ -2348,7 +2462,7 @@ set_worst_disease_effect = { value = flag:smallpox } } -else_if = { + else_if = { limit = { has_trait = measles } save_scope_value_as = { name = disease_type @@ -2563,6 +2677,28 @@ add_disease_treatment_modifier_effect = { remove_trait_force_tooltip = bubonic_plague #No cooldown, immunity } + # Warcraft + else_if = { + limit = { scope:disease_type = flag:frost_fever } + remove_trait_force_tooltip = frost_fever + add_character_flag = { flag = contraction_cooldown_frost_fever years = 20 } #TODO_CE1 + } + else_if = { + limit = { scope:disease_type = flag:crypt_fever } + remove_trait_force_tooltip = crypt_fever + add_character_flag = { flag = contraction_cooldown_crypt_fever years = 20 } #TODO_CE1 + } + else_if = { + limit = { scope:disease_type = flag:blood_plague } + remove_trait_force_tooltip = blood_plague + add_character_flag = { flag = contraction_cooldown_blood_plague years = 20 } #TODO_CE1 + } + else_if = { + limit = { scope:disease_type = flag:void_sickness } + remove_trait_force_tooltip = void_sickness + add_character_flag = { flag = contraction_cooldown_void_sickness years = 20 } #TODO_CE1 + } + # End Warcraft } #RISKY & MYSTIC TREATMENT: SUCCESS diff --git a/common/scripted_effects/wc_being_effects.txt b/common/scripted_effects/wc_being_effects.txt index 77c41dedf9..3d19e656d7 100644 --- a/common/scripted_effects/wc_being_effects.txt +++ b/common/scripted_effects/wc_being_effects.txt @@ -34,6 +34,17 @@ become_undead_no_notification_effect = { refresh_corruption_modifiers_all_counties = yes } + +become_undead_effect_child = { + if = { + limit = { has_trait_with_flag = can_not_get_sick } + recover_from_all_diseases_event_effect = yes + } + add_trait = being_undead + check_available_government_event_effect = yes # Memory leak 4 GB of OM + send_being_notifications_effect = yes +} + become_undead_no_notification_event_effect = { trigger_event = WCBEI.2 } diff --git a/common/scripted_effects/wc_court_positions_effects.txt b/common/scripted_effects/wc_court_positions_effects.txt new file mode 100644 index 0000000000..ec25a4619f --- /dev/null +++ b/common/scripted_effects/wc_court_positions_effects.txt @@ -0,0 +1,68 @@ +# COURT MAGE +court_mage_title_accepted_effect = { + basic_gained_court_position_effect = yes +} +court_mage_title_revoked_effect = { + basic_revoked_court_position_effect = yes +} +court_mage_title_invalidated_effect = { + basic_invalidated_court_position_effect = yes +} + +hire_court_mage_effect = { + $MAGE$ = { + if = { + limit = { + NOT = { liege = $EMPLOYER$ } + } + $EMPLOYER$ = { add_courtier = $MAGE$ } + } + } + $EMPLOYER$ = { + #Replace existing court mage if one exists + if = { + limit = { + employs_court_position = court_mage_court_position + any_court_position_holder = { + type = court_mage_court_position + count > 0 + } + } + every_court_position_holder = { + type = court_mage_court_position + save_temporary_scope_as = old_mage + + $EMPLOYER$ = { + replace_court_position = { + recipient = $MAGE$ + holder = scope:old_mage + court_position = court_mage_court_position + } + reverse_add_opinion = { + target = scope:old_mage + modifier = disappointed_opinion + opinion = -15 + } + reverse_add_opinion = { + target = $MAGE$ + modifier = hired_me_opinion + } + } + } + } + #Else just straight up appoint + else_if = { + limit = { + can_employ_court_position_type = court_mage_court_position + } + appoint_court_position = { + recipient = $MAGE$ + court_position = court_mage_court_position + } + reverse_add_opinion = { + target = $MAGE$ + modifier = hired_me_opinion + } + } + } +} diff --git a/common/scripted_effects/wc_history_effects.txt b/common/scripted_effects/wc_history_effects.txt index 29140f373f..54ab1de7d2 100644 --- a/common/scripted_effects/wc_history_effects.txt +++ b/common/scripted_effects/wc_history_effects.txt @@ -78,4 +78,363 @@ add_patron_trait_character_effect = { } add_fan_trait_character_effect = { # May add traits here later +} + +add_1_perk_in_TYPE_TREE_effect = { + # if = { + # limit = { + # perks_in_tree = { tree = $TYPE$_tree_$TREE$ value < 9 } + # } + + if = { # switch breaks it somehow + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_1 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_1 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_2 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_2 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_3 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_3 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_4 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_4 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_5 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_5 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_6 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_6 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_7 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_7 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_8 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_8 + } + else_if = { + limit = { + NOT = { has_perk = $TYPE$_tree_$TREE$_perk_9 } + } + + add_perk = $TYPE$_tree_$TREE$_perk_9 + } + # else = { add_$TYPE$_lifestyle_perk_points = 1 } + + # } +} + +add_perks_in_nonelemental_MAGIC_lifestyle_effect = { + if = { + limit = { + flag:$MAGIC$ = flag:order + has_variable = order_focus #note that we would be able to set up classes this way + } + add_weighted_perks_in_order_magic_lifestyle_effect = yes + } + else_if = { + limit = { has_variable = wc_$MAGIC$_magic_lifestyle_additional_perks_variable } + + if = { + limit = { + has_character_flag = wc_$MAGIC$_magic_lifestyle_perks_were_reset_flag + } + + add_$MAGIC$_magic_lifestyle_perk_points = var:wc_$MAGIC$_magic_lifestyle_additional_perks_variable + } + else = { + while = { + count = var:wc_$MAGIC$_magic_lifestyle_additional_perks_variable + + random_list = { + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value < 9 } + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = $MAGIC$_magic TREE = 1 } + } + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value < 9 } + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = $MAGIC$_magic TREE = 2 } + } + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_3 value < 9 } + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = $MAGIC$_magic TREE = 3 } + } + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value = 9 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value = 9 } + perks_in_tree = { tree = $MAGIC$_magic_tree_3 value = 9 } + } + + add_$MAGIC$_magic_lifestyle_perk_points = 1 + } + } + } + } + + remove_variable = wc_$MAGIC$_magic_lifestyle_additional_perks_variable + + } +} + +add_perks_in_elemental_MAGIC_lifestyle_effect = { + if = { + limit = { has_variable = wc_$MAGIC$_magic_lifestyle_additional_perks_variable } + + if = { + limit = { + has_character_flag = wc_$MAGIC$_magic_lifestyle_perks_were_reset_flag + } + + add_$MAGIC$_magic_lifestyle_perk_points = var:wc_$MAGIC$_magic_lifestyle_additional_perks_variable + } + else = { + while = { + count = var:wc_$MAGIC$_magic_lifestyle_additional_perks_variable + + random_list = { + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value < 9 } + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = $MAGIC$_magic TREE = 1 } + } + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value < 9 } + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = $MAGIC$_magic TREE = 2 } + } + 1 = { + trigger = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value = 9 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value = 9 } + } + + add_$MAGIC$_magic_lifestyle_perk_points = 1 + } + } + } + + if = { # If character doesn't have variable yet + limit = { NOT = { has_variable = wc_$MAGIC$_favour_variable } } + + set_variable = { name = wc_$MAGIC$_favour_variable value = wc_starting_$MAGIC$_favour_value } + } + wc_ELEMENT_favour_lifestyle_check_effect = { ELEMENT = $MAGIC$ } + } + + remove_variable = wc_$MAGIC$_magic_lifestyle_additional_perks_variable + + } +} + +add_weighted_perks_in_order_magic_lifestyle_effect = { + if = { + limit = { has_variable = wc_order_magic_lifestyle_additional_perks_variable } + + if = { + limit = { + has_character_flag = wc_order_magic_lifestyle_perks_were_reset_flag + } + + add_order_magic_lifestyle_perk_points = var:wc_order_magic_lifestyle_additional_perks_variable + } + else = { + while = { + count = var:wc_order_magic_lifestyle_additional_perks_variable + + random_list = { + 1 = { + trigger = { + perks_in_tree = { tree = order_magic_tree_1 value < 9 } + } + modifier = { #should be top priority for characters with this focus + var:order_focus = flag:conjuration + add = 1000 + } + modifier = { #fire or ice should make having prereqs top priority + AND = { + OR = { + var:order_focus = flag:fire + var:order_focus = flag:ice + } + NOT = { + has_perk = order_magic_tree_1_perk_1 + has_perk = order_magic_tree_1_perk_2 + } + } + add = 1000 + } + modifier = { #otherwise should prioritize this just below ice and fire (see below) + OR = { + var:order_focus = flag:fire + var:order_focus = flag:ice + } + add = 50 + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = order_magic TREE = 1 } + } + 1 = { + trigger = { + perks_in_tree = { tree = order_magic_tree_2 value < 9 } + } + modifier = { #should be top priority for characters with this focus + var:order_focus = flag:abjuration + add = 1000 + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = order_magic TREE = 2 } + } + 1 = { + trigger = { + perks_in_tree = { tree = order_magic_tree_3 value < 9 } + } + modifier = { #should be top priority for characters with this focus + var:order_focus = flag:chronomancy + add = 1000 + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = order_magic TREE = 3 } + } + 1 = { + trigger = { + has_perk = order_magic_tree_1_perk_1 + has_perk = order_magic_tree_1_perk_2 + OR = { + AND = { #should not be able to take last fire perk if has last ice perk + perks_in_tree = { tree = order_magic_tree_4 value < 8 } + perks_in_tree = { tree = order_magic_tree_5 value = 9 } + } + AND = { #otherwise free to finish whichever tree first + perks_in_tree = { tree = order_magic_tree_4 value < 9 } + perks_in_tree = { tree = order_magic_tree_5 value < 9 } + } + } + } + modifier = { #should be top priority for characters with this focus + var:order_focus = flag:fire + add = 1000 + } + modifier = { #otherwise, other conjurers will also want to grab some of these + OR = { + var:order_focus = flag:conjuration + var:order_focus = flag:ice + } + add = 50 + } + modifier = { #frost mages will want to grab fire synergy + AND = { + var:order_focus = flag:ice + NOT = { has_perk = order_magic_tree_4_perk_5 } + } + add = 25 + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = order_magic TREE = 4 } + } + 1 = { + trigger = { + has_perk = order_magic_tree_1_perk_1 + has_perk = order_magic_tree_1_perk_2 + OR = { + AND = { # should not be able to take the last ice perk if has last fire perk + perks_in_tree = { tree = order_magic_tree_5 value < 8 } + perks_in_tree = { tree = order_magic_tree_4 value = 9 } + } + AND = { # otherwise free to finish whichever tree first + perks_in_tree = { tree = order_magic_tree_4 value < 9 } + perks_in_tree = { tree = order_magic_tree_5 value < 9 } + } + } + } + modifier = { #should be top priority for characters with this focus + var:order_focus = flag:ice + add = 1000 + } + modifier = { #otherwise, other conjurers will also want to grab some of these + OR = { + var:order_focus = flag:conjuration + var:order_focus = flag:fire + } + add = 50 + } + modifier = { #fire mages will want to grab frost synergy + AND = { + var:order_focus = flag:fire + NOT = { has_perk = order_magic_tree_5_perk_6 } + } + add = 25 + } + + add_1_perk_in_TYPE_TREE_effect = { TYPE = order_magic TREE = 5 } + } + 1 = { #honestly no idea why this is here but wanted to make sure that it was updated with how the trees are supposed to work - SS + trigger = { + perks_in_tree = { tree = order_magic_tree_1 value = 9 } + perks_in_tree = { tree = order_magic_tree_2 value = 9 } + perks_in_tree = { tree = order_magic_tree_3 value = 9 } + OR = { + AND = { + perks_in_tree = { tree = order_magic_tree_4 value = 9 } + perks_in_tree = { tree = order_magic_tree_5 value = 8 } + } + AND = { + perks_in_tree = { tree = order_magic_tree_4 value = 8 } + perks_in_tree = { tree = order_magic_tree_5 value = 9 } + } + } + } + + add_order_magic_lifestyle_perk_points = 1 + } + } + } + } + + #cleanup + remove_variable = wc_order_magic_lifestyle_additional_perks_variable + } } \ No newline at end of file diff --git a/common/scripted_effects/wc_law_effects.txt b/common/scripted_effects/wc_law_effects.txt index 6af858f8d5..c63ad2165b 100644 --- a/common/scripted_effects/wc_law_effects.txt +++ b/common/scripted_effects/wc_law_effects.txt @@ -147,9 +147,10 @@ change_dark_frenzy_effect = { } set_dark_frenzy_effect = yes } + save_scope_value_as = { name = dark_frenzy_temp value = $VALUE$ } custom_description = { text = change_dark_frenzy_effect - value = $VALUE$ + value = dark_frenzy_change_value change_variable = { name = dark_frenzy add = $VALUE$ } clamp_variable = { name = dark_frenzy max = max_dark_frenzy_value min = min_dark_frenzy_value } diff --git a/common/scripted_effects/wc_lifestyle_traits_effects.txt b/common/scripted_effects/wc_lifestyle_traits_effects.txt new file mode 100644 index 0000000000..df5d44eb67 --- /dev/null +++ b/common/scripted_effects/wc_lifestyle_traits_effects.txt @@ -0,0 +1,993 @@ +wc_remove_all_wc_lifestyle_traits_effect = { + + switch = { # Light + trigger = has_trait + + user_of_light_magic_1 = { remove_trait = user_of_light_magic_1 } + user_of_light_magic_2 = { remove_trait = user_of_light_magic_2 } + user_of_light_magic_3 = { remove_trait = user_of_light_magic_3 } + user_of_light_magic_4 = { remove_trait = user_of_light_magic_4 } + user_of_light_magic_5 = { remove_trait = user_of_light_magic_5 } + } + switch = { # Shadow + trigger = has_trait + + user_of_shadow_magic_1 = { remove_trait = user_of_shadow_magic_1 } + user_of_shadow_magic_2 = { remove_trait = user_of_shadow_magic_2 } + user_of_shadow_magic_3 = { remove_trait = user_of_shadow_magic_3 } + user_of_shadow_magic_4 = { remove_trait = user_of_shadow_magic_4 } + user_of_shadow_magic_5 = { remove_trait = user_of_shadow_magic_5 } + } + switch = { # Disorder + trigger = has_trait + + user_of_disorder_magic_1 = { remove_trait = user_of_disorder_magic_1 } + user_of_disorder_magic_2 = { remove_trait = user_of_disorder_magic_2 } + user_of_disorder_magic_3 = { remove_trait = user_of_disorder_magic_3 } + user_of_disorder_magic_4 = { remove_trait = user_of_disorder_magic_4 } + user_of_disorder_magic_5 = { remove_trait = user_of_disorder_magic_5 } + } + switch = { # Order + trigger = has_trait + + user_of_order_magic_1 = { remove_trait = user_of_order_magic_1 } + user_of_order_magic_2 = { remove_trait = user_of_order_magic_2 } + user_of_order_magic_3 = { remove_trait = user_of_order_magic_3 } + user_of_order_magic_4 = { remove_trait = user_of_order_magic_4 } + user_of_order_magic_5 = { remove_trait = user_of_order_magic_5 } + } + switch = { # Life + trigger = has_trait + + user_of_life_magic_1 = { remove_trait = user_of_life_magic_1 } + user_of_life_magic_2 = { remove_trait = user_of_life_magic_2 } + user_of_life_magic_3 = { remove_trait = user_of_life_magic_3 } + user_of_life_magic_4 = { remove_trait = user_of_life_magic_4 } + user_of_life_magic_5 = { remove_trait = user_of_life_magic_5 } + } + switch = { # Death + trigger = has_trait + + user_of_death_magic_1 = { remove_trait = user_of_death_magic_1 } + user_of_death_magic_2 = { remove_trait = user_of_death_magic_2 } + user_of_death_magic_3 = { remove_trait = user_of_death_magic_3 } + user_of_death_magic_4 = { remove_trait = user_of_death_magic_4 } + user_of_death_magic_5 = { remove_trait = user_of_death_magic_5 } + } + switch = { # Fire + trigger = has_trait + + user_of_elemental_fire_magic_1 = { remove_trait = user_of_elemental_fire_magic_1 } + user_of_elemental_fire_magic_2 = { remove_trait = user_of_elemental_fire_magic_2 } + user_of_elemental_fire_magic_3 = { remove_trait = user_of_elemental_fire_magic_3 } + user_of_elemental_fire_magic_4 = { remove_trait = user_of_elemental_fire_magic_4 } + user_of_elemental_fire_magic_5 = { remove_trait = user_of_elemental_fire_magic_5 } + + user_of_elemental_fire_spirit_magic_1 = { remove_trait = user_of_elemental_fire_spirit_magic_1 } + user_of_elemental_fire_spirit_magic_2 = { remove_trait = user_of_elemental_fire_spirit_magic_2 } + user_of_elemental_fire_spirit_magic_3 = { remove_trait = user_of_elemental_fire_spirit_magic_3 } + user_of_elemental_fire_spirit_magic_4 = { remove_trait = user_of_elemental_fire_spirit_magic_4 } + user_of_elemental_fire_spirit_magic_5 = { remove_trait = user_of_elemental_fire_spirit_magic_5 } + + user_of_elemental_fire_decay_magic_1 = { remove_trait = user_of_elemental_fire_decay_magic_1 } + user_of_elemental_fire_decay_magic_2 = { remove_trait = user_of_elemental_fire_decay_magic_2 } + user_of_elemental_fire_decay_magic_3 = { remove_trait = user_of_elemental_fire_decay_magic_3 } + user_of_elemental_fire_decay_magic_4 = { remove_trait = user_of_elemental_fire_decay_magic_4 } + user_of_elemental_fire_decay_magic_5 = { remove_trait = user_of_elemental_fire_decay_magic_5 } + } + switch = { # Water + trigger = has_trait + + user_of_elemental_water_magic_1 = { remove_trait = user_of_elemental_water_magic_1 } + user_of_elemental_water_magic_2 = { remove_trait = user_of_elemental_water_magic_2 } + user_of_elemental_water_magic_3 = { remove_trait = user_of_elemental_water_magic_3 } + user_of_elemental_water_magic_4 = { remove_trait = user_of_elemental_water_magic_4 } + user_of_elemental_water_magic_5 = { remove_trait = user_of_elemental_water_magic_5 } + + user_of_elemental_water_spirit_magic_1 = { remove_trait = user_of_elemental_water_spirit_magic_1 } + user_of_elemental_water_spirit_magic_2 = { remove_trait = user_of_elemental_water_spirit_magic_2 } + user_of_elemental_water_spirit_magic_3 = { remove_trait = user_of_elemental_water_spirit_magic_3 } + user_of_elemental_water_spirit_magic_4 = { remove_trait = user_of_elemental_water_spirit_magic_4 } + user_of_elemental_water_spirit_magic_5 = { remove_trait = user_of_elemental_water_spirit_magic_5 } + + user_of_elemental_water_decay_magic_1 = { remove_trait = user_of_elemental_water_decay_magic_1 } + user_of_elemental_water_decay_magic_2 = { remove_trait = user_of_elemental_water_decay_magic_2 } + user_of_elemental_water_decay_magic_3 = { remove_trait = user_of_elemental_water_decay_magic_3 } + user_of_elemental_water_decay_magic_4 = { remove_trait = user_of_elemental_water_decay_magic_4 } + user_of_elemental_water_decay_magic_5 = { remove_trait = user_of_elemental_water_decay_magic_5 } + } + switch = { # Air + trigger = has_trait + + user_of_elemental_air_magic_1 = { remove_trait = user_of_elemental_air_magic_1 } + user_of_elemental_air_magic_2 = { remove_trait = user_of_elemental_air_magic_2 } + user_of_elemental_air_magic_3 = { remove_trait = user_of_elemental_air_magic_3 } + user_of_elemental_air_magic_4 = { remove_trait = user_of_elemental_air_magic_4 } + user_of_elemental_air_magic_5 = { remove_trait = user_of_elemental_air_magic_5 } + + user_of_elemental_air_spirit_magic_1 = { remove_trait = user_of_elemental_air_spirit_magic_1 } + user_of_elemental_air_spirit_magic_2 = { remove_trait = user_of_elemental_air_spirit_magic_2 } + user_of_elemental_air_spirit_magic_3 = { remove_trait = user_of_elemental_air_spirit_magic_3 } + user_of_elemental_air_spirit_magic_4 = { remove_trait = user_of_elemental_air_spirit_magic_4 } + user_of_elemental_air_spirit_magic_5 = { remove_trait = user_of_elemental_air_spirit_magic_5 } + + user_of_elemental_air_decay_magic_1 = { remove_trait = user_of_elemental_air_decay_magic_1 } + user_of_elemental_air_decay_magic_2 = { remove_trait = user_of_elemental_air_decay_magic_2 } + user_of_elemental_air_decay_magic_3 = { remove_trait = user_of_elemental_air_decay_magic_3 } + user_of_elemental_air_decay_magic_4 = { remove_trait = user_of_elemental_air_decay_magic_4 } + user_of_elemental_air_decay_magic_5 = { remove_trait = user_of_elemental_air_decay_magic_5 } + } + switch = { # Earth + trigger = has_trait + + user_of_elemental_earth_magic_1 = { remove_trait = user_of_elemental_earth_magic_1 } + user_of_elemental_earth_magic_2 = { remove_trait = user_of_elemental_earth_magic_2 } + user_of_elemental_earth_magic_3 = { remove_trait = user_of_elemental_earth_magic_3 } + user_of_elemental_earth_magic_4 = { remove_trait = user_of_elemental_earth_magic_4 } + user_of_elemental_earth_magic_5 = { remove_trait = user_of_elemental_earth_magic_5 } + + user_of_elemental_earth_spirit_magic_1 = { remove_trait = user_of_elemental_earth_spirit_magic_1 } + user_of_elemental_earth_spirit_magic_2 = { remove_trait = user_of_elemental_earth_spirit_magic_2 } + user_of_elemental_earth_spirit_magic_3 = { remove_trait = user_of_elemental_earth_spirit_magic_3 } + user_of_elemental_earth_spirit_magic_4 = { remove_trait = user_of_elemental_earth_spirit_magic_4 } + user_of_elemental_earth_spirit_magic_5 = { remove_trait = user_of_elemental_earth_spirit_magic_5 } + + user_of_elemental_earth_decay_magic_1 = { remove_trait = user_of_elemental_earth_decay_magic_1 } + user_of_elemental_earth_decay_magic_2 = { remove_trait = user_of_elemental_earth_decay_magic_2 } + user_of_elemental_earth_decay_magic_3 = { remove_trait = user_of_elemental_earth_decay_magic_3 } + user_of_elemental_earth_decay_magic_4 = { remove_trait = user_of_elemental_earth_decay_magic_4 } + user_of_elemental_earth_decay_magic_5 = { remove_trait = user_of_elemental_earth_decay_magic_5 } + } +} + +# check all lifestyles for trait rankup/secrecy: this needs to be done AFTER character creation from generic template +wc_check_magic_lifestyles_for_rankup_effect = { + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = light } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = shadow } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = order } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = disorder } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = life } + wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = death } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_fire } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_water } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_air } + wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = elemental_earth } +} + +# rank up trait when perk is selected from lifestyle UI +wc_nonelemental_MAGIC_magic_lifestyle_rank_up_check_effect = { # Used for perks + # Magic Secrecy - We get the secret if we arent openly learning it yet + if = { + limit = { + NOT = { + has_trait = wc_lifestyle_$MAGIC$_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } + is_secret_nonelemental_magic_type_user = { MAGICTYPE = $MAGIC$ } + } + } + add_secret = { + type = secret_$MAGIC$_magic_user + } + } + # Trait maintenance - We determine if traits need to rank up or be added + else_if = { + limit = { + OR = { # bypass this block if this magic is illegal and we do not have this kind of trait already + can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } + has_trait = wc_lifestyle_$MAGIC$_magic + } + NOT = { has_trait = user_of_$MAGIC$_magic_5 } # Max level + } + + hidden_effect = { + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = $MAGIC$ } + } + } + # Mana maintenance + wc_start_mana_regeneration_loop_effect = yes # It can be character's first perk + wc_fill_mana_on_day_one_from_perks_crutch_effect = yes + wc_start_hp_regeneration_loop_effect = yes + # Knowledge Overflow effect + set_long_lived_lifestyle_xp_slowdown_delayed_event_effect = yes +} + +#called in the function above and when secrets are exposed +wc_nonelemental_magic_lifestyle_rank_up_effect = { + if = { + limit = { + NOT = { + has_trait = wc_lifestyle_$MAGIC$_magic + } + $MAGIC$_magic_lifestyle_perks > 0 + } + + add_trait = user_of_$MAGIC$_magic_1 + } + wc_nonelemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 2 CURRENTLEVEL = 1 } + wc_nonelemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 3 CURRENTLEVEL = 2 } + wc_nonelemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 4 CURRENTLEVEL = 3 } + wc_nonelemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 5 CURRENTLEVEL = 4 } +} + +# utility function for rankup dry code +wc_nonelemental_magic_rank_up_trait_effect = { # parameters: MAGIC, TARGETLEVEL, CURRENTLEVEL + if = { + limit = { + $MAGIC$_magic_lifestyle_perks >= wc_perks_needed_for_level_$TARGETLEVEL$_magic_trait_value + has_trait = user_of_$MAGIC$_magic_$CURRENTLEVEL$ + } + + change_trait_rank = { trait = wc_lifestyle_$MAGIC$_magic rank = 1 } + } +} + +# rank up trait when perk is selected from lifestyle UI and at template creation +wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { + # Magic Secrecy - We get the secret if we arent openly learning it yet + if = { + limit = { + NOT = { + has_trait = wc_lifestyle_$MAGIC$_magic + has_trait = wc_lifestyle_$MAGIC$_spirit_magic + has_trait = wc_lifestyle_$MAGIC$_decay_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } + is_secret_elemental_magic_type_user = { MAGICTYPE = $MAGIC$ } + } + } + add_secret = { + type = secret_$MAGIC$_magic_user + } + } + # Trait maintenance - We determine if traits need to rank up or be added + else_if = { + limit = { + OR = { # bypass this block if this magic is illegal and we do not have this kind of trait already + can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } + has_trait = wc_lifestyle_$MAGIC$_magic + has_trait = wc_lifestyle_$MAGIC$_spirit_magic + has_trait = wc_lifestyle_$MAGIC$_decay_magic + } + NOT = { # Max level + has_trait = user_of_$MAGIC$_magic_5 + has_trait = user_of_$MAGIC$_spirit_magic_5 + has_trait = user_of_$MAGIC$_decay_magic_5 + } + } + + hidden_effect = { + wc_elemental_magic_lifestyle_rank_up_effect = { MAGIC = $MAGIC$ } + } + } + # Mana maintenance + wc_start_mana_regeneration_loop_effect = yes # It can be character's first perk + wc_fill_mana_on_day_one_from_perks_crutch_effect = yes + # Knowledge Overflow effect + set_long_lived_lifestyle_xp_slowdown_delayed_event_effect = yes +} + +#called in the function above and when secrets are exposed and at template creation +wc_elemental_magic_lifestyle_rank_up_effect = { + if = { + limit = { + NOT = { + has_trait = user_of_$MAGIC$_magic_1 + has_trait = user_of_$MAGIC$_spirit_magic_1 + has_trait = user_of_$MAGIC$_decay_magic_1 + } + $MAGIC$_magic_lifestyle_perks > 0 + } + + if = { # If character doesn't have variable yet + limit = { NOT = { has_variable = wc_$MAGIC$_favour_variable } } + + set_variable = { name = wc_$MAGIC$_favour_variable value = wc_starting_$MAGIC$_favour_value } + } + + if = { + limit = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = $MAGIC$ TENSE = current } } + + add_trait = user_of_$MAGIC$_spirit_magic_1 + } + else_if = { + limit = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = $MAGIC$ TENSE = current } } + + add_trait = user_of_$MAGIC$_decay_magic_1 + } + else = { + add_trait = user_of_$MAGIC$_magic_1 + } + } + wc_elemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 2 CURRENTLEVEL = 1 } + wc_elemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 3 CURRENTLEVEL = 2 } + wc_elemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 4 CURRENTLEVEL = 3 } + wc_elemental_magic_rank_up_trait_effect = { MAGIC = $MAGIC$ TARGETLEVEL = 5 CURRENTLEVEL = 4 } +} + +# utility function for rankup dry code +wc_elemental_magic_rank_up_trait_effect = { # params: MAGIC, CURRENTLEVEL, TARGETLEVEL + if = { + limit = { + $MAGIC$_magic_lifestyle_perks >= wc_perks_needed_for_level_$TARGETLEVEL$_magic_trait_value + OR = { + has_trait = user_of_$MAGIC$_magic_$CURRENTLEVEL$ + has_trait = user_of_$MAGIC$_spirit_magic_$CURRENTLEVEL$ + has_trait = user_of_$MAGIC$_decay_magic_$CURRENTLEVEL$ + } + } + switch = { + trigger = has_trait + user_of_$MAGIC$_magic_$CURRENTLEVEL$ = { change_trait_rank = { trait = wc_lifestyle_$MAGIC$_magic rank = 1 } } + user_of_$MAGIC$_spirit_magic_$CURRENTLEVEL$ = { change_trait_rank = { trait = wc_lifestyle_$MAGIC$_spirit_magic rank = 1 } } + user_of_$MAGIC$_decay_magic_$CURRENTLEVEL$ = { change_trait_rank = { trait = wc_lifestyle_$MAGIC$_decay_magic rank = 1 } } + } + } +} + +#does the favour thing +wc_ELEMENT_favour_lifestyle_check_effect = { + + # TODO: add / remove secrets? + if = { + limit = { + NOT = { has_trait = wc_lifestyle_$ELEMENT$_spirit_magic } + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + } + + switch = { + trigger = has_trait + + user_of_$ELEMENT$_magic_1 = { remove_trait = user_of_$ELEMENT$_magic_1 add_trait = user_of_$ELEMENT$_spirit_magic_1 } + user_of_$ELEMENT$_magic_2 = { remove_trait = user_of_$ELEMENT$_magic_2 add_trait = user_of_$ELEMENT$_spirit_magic_2 } + user_of_$ELEMENT$_magic_3 = { remove_trait = user_of_$ELEMENT$_magic_3 add_trait = user_of_$ELEMENT$_spirit_magic_3 } + user_of_$ELEMENT$_magic_4 = { remove_trait = user_of_$ELEMENT$_magic_4 add_trait = user_of_$ELEMENT$_spirit_magic_4 } + user_of_$ELEMENT$_magic_5 = { remove_trait = user_of_$ELEMENT$_magic_5 add_trait = user_of_$ELEMENT$_spirit_magic_5 } + user_of_$ELEMENT$_decay_magic_1 = { remove_trait = user_of_$ELEMENT$_decay_magic_1 add_trait = user_of_$ELEMENT$_spirit_magic_1 } + user_of_$ELEMENT$_decay_magic_2 = { remove_trait = user_of_$ELEMENT$_decay_magic_2 add_trait = user_of_$ELEMENT$_spirit_magic_2 } + user_of_$ELEMENT$_decay_magic_3 = { remove_trait = user_of_$ELEMENT$_decay_magic_3 add_trait = user_of_$ELEMENT$_spirit_magic_3 } + user_of_$ELEMENT$_decay_magic_4 = { remove_trait = user_of_$ELEMENT$_decay_magic_4 add_trait = user_of_$ELEMENT$_spirit_magic_4 } + user_of_$ELEMENT$_decay_magic_5 = { remove_trait = user_of_$ELEMENT$_decay_magic_5 add_trait = user_of_$ELEMENT$_spirit_magic_5 } + } + } + else_if = { + limit = { + NOT = { has_trait = wc_lifestyle_$ELEMENT$_decay_magic } + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + } + + switch = { + trigger = has_trait + + user_of_$ELEMENT$_magic_1 = { remove_trait = user_of_$ELEMENT$_magic_1 add_trait = user_of_$ELEMENT$_decay_magic_1 } + user_of_$ELEMENT$_magic_2 = { remove_trait = user_of_$ELEMENT$_magic_2 add_trait = user_of_$ELEMENT$_decay_magic_2 } + user_of_$ELEMENT$_magic_3 = { remove_trait = user_of_$ELEMENT$_magic_3 add_trait = user_of_$ELEMENT$_decay_magic_3 } + user_of_$ELEMENT$_magic_4 = { remove_trait = user_of_$ELEMENT$_magic_4 add_trait = user_of_$ELEMENT$_decay_magic_4 } + user_of_$ELEMENT$_magic_5 = { remove_trait = user_of_$ELEMENT$_magic_5 add_trait = user_of_$ELEMENT$_decay_magic_5 } + user_of_$ELEMENT$_spirit_magic_1 = { remove_trait = user_of_$ELEMENT$_spirit_magic_1 add_trait = user_of_$ELEMENT$_decay_magic_1 } + user_of_$ELEMENT$_spirit_magic_2 = { remove_trait = user_of_$ELEMENT$_spirit_magic_2 add_trait = user_of_$ELEMENT$_decay_magic_2 } + user_of_$ELEMENT$_spirit_magic_3 = { remove_trait = user_of_$ELEMENT$_spirit_magic_3 add_trait = user_of_$ELEMENT$_decay_magic_3 } + user_of_$ELEMENT$_spirit_magic_4 = { remove_trait = user_of_$ELEMENT$_spirit_magic_4 add_trait = user_of_$ELEMENT$_decay_magic_4 } + user_of_$ELEMENT$_spirit_magic_5 = { remove_trait = user_of_$ELEMENT$_spirit_magic_5 add_trait = user_of_$ELEMENT$_decay_magic_5 } + } + } + else_if = { + limit = { + NOT = { has_trait = wc_lifestyle_$ELEMENT$_magic } + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + } + + switch = { + trigger = has_trait + + user_of_$ELEMENT$_spirit_magic_1 = { remove_trait = user_of_$ELEMENT$_spirit_magic_1 add_trait = user_of_$ELEMENT$_magic_1 } + user_of_$ELEMENT$_spirit_magic_2 = { remove_trait = user_of_$ELEMENT$_spirit_magic_2 add_trait = user_of_$ELEMENT$_magic_2 } + user_of_$ELEMENT$_spirit_magic_3 = { remove_trait = user_of_$ELEMENT$_spirit_magic_3 add_trait = user_of_$ELEMENT$_magic_3 } + user_of_$ELEMENT$_spirit_magic_4 = { remove_trait = user_of_$ELEMENT$_spirit_magic_4 add_trait = user_of_$ELEMENT$_magic_4 } + user_of_$ELEMENT$_spirit_magic_5 = { remove_trait = user_of_$ELEMENT$_spirit_magic_5 add_trait = user_of_$ELEMENT$_magic_5 } + user_of_$ELEMENT$_decay_magic_1 = { remove_trait = user_of_$ELEMENT$_decay_magic_1 add_trait = user_of_$ELEMENT$_magic_1 } + user_of_$ELEMENT$_decay_magic_2 = { remove_trait = user_of_$ELEMENT$_decay_magic_2 add_trait = user_of_$ELEMENT$_magic_2 } + user_of_$ELEMENT$_decay_magic_3 = { remove_trait = user_of_$ELEMENT$_decay_magic_3 add_trait = user_of_$ELEMENT$_magic_3 } + user_of_$ELEMENT$_decay_magic_4 = { remove_trait = user_of_$ELEMENT$_decay_magic_4 add_trait = user_of_$ELEMENT$_magic_4 } + user_of_$ELEMENT$_decay_magic_5 = { remove_trait = user_of_$ELEMENT$_decay_magic_5 add_trait = user_of_$ELEMENT$_magic_5 } + } + } +} + +wc_change_amount_mp_effect = { + custom_description = { + text = wc_$CHANGE$_mp_value_effect + value = $VALUE$ + } + + if = { + limit = { + NOT = { has_variable = mp_add } + } + set_variable = { + name = mp_add + value = 0 + } + } + + change_variable = { + name = mp_add + $CHANGE$ = $VALUE$ + } +} + +wc_change_amount_max_mana_effect = { + custom_description = { + text = wc_$CHANGE$_max_mana_effect + value = $VALUE$ + } + + if = { + limit = { + NOT = { has_variable = max_mana_add } + } + set_variable = { + name = max_mana_add + value = 0 + } + } + + change_variable = { + name = max_mana_add + $CHANGE$ = $VALUE$ + } +} + +wc_add_magic_resistance_effect = { + custom_description = { + text = wc_$CHANGE$_$MAGIC$_magic_resistance_effect + value = $VALUE$ + } + + if = { + limit = { + NOT = { has_variable = wc_$MAGIC$_magic_resistance } + } + set_variable = { + name = wc_$MAGIC$_magic_resistance + value = 0 + } + } + + change_variable = { + name = wc_$MAGIC$_magic_resistance + $CHANGE$ = $VALUE$ + } +} +wc_add_magic_boost_modifier = { + add_character_modifier = { + modifier = wc_$MAGIC$_learning_boost_modifier + days = $DAYS$ + } +} +wc_change_amount_element_favour_effect = { + + save_scope_value_as = { + name = working_value + value = { + value = $VALUE$ + # cultural modifiers only apply to increases + if = { limit = { flag:$CHANGE$ = flag:add } + multiply = { + value = wc_elemental_favour_penalty_for_innovations + add = wc_$ELEMENT$_favour_bonus_for_heritage + } + } + } + } + + + custom_description = { # Tooltip for changing elemental favour + text = wc_$CHANGE$_amount_$ELEMENT$_favour_effect + value = scope:working_value + } + + if = { + limit = { + flag:$CHANGE$ = flag:add + faith = { has_doctrine_parameter = $ELEMENT$_spirit_magic_approved } + } + add_piety = { + value = scope:working_value + multiply = wc_piety_per_elemental_favour + } + } + else_if = { + limit = { + flag:$CHANGE$ = flag:subtract + faith = { has_doctrine_parameter = $ELEMENT$_spirit_magic_approved } + } + add_piety = { + value = scope:working_value + multiply = -1 + multiply = wc_piety_per_elemental_favour + } + } + else_if = { + limit = { + flag:$CHANGE$ = flag:add + faith = { has_doctrine_parameter = $ELEMENT$_decay_magic_approved } + } + add_piety = { + value = scope:working_value + multiply = -1 + multiply = wc_piety_per_elemental_favour + } + } + else_if = { + limit = { + flag:$CHANGE$ = flag:subtract + faith = { has_doctrine_parameter = $ELEMENT$_decay_magic_approved } + } + add_piety = { + value = scope:working_value + multiply = wc_piety_per_elemental_favour + } + } + + save_temporary_scope_value_as = { + name = wc_elemental_favour_after_change_variable + value = { + value = 0 + $CHANGE$ = scope:working_value + } + } + + if = { # Disposition change tooltip + limit = { + wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + NOT = { wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { ELEMENT = $ELEMENT$ TENSE = current } } + } + custom_description = { text = wc_change_$ELEMENT$_disposition_to_spirit_effect } + } + else_if = { + limit = { + wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + NOT = { wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { ELEMENT = $ELEMENT$ TENSE = current } } + } + custom_description = { text = wc_change_$ELEMENT$_disposition_to_decay_effect } + } + else_if = { + limit = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = $ELEMENT$ TENSE = after_change } + NOT = { + wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { ELEMENT = $ELEMENT$ TENSE = current } + } + } + custom_description = { text = wc_change_$ELEMENT$_disposition_to_neutral_effect } + } + + wc_ELEMENT_favour_lifestyle_check_effect = { ELEMENT = $ELEMENT$ } # Trait check + + if = { # Actually changes elemental favour - need to be after wc_ELEMENT_favour_lifestyle_check_effect because otherwise wc_$ELEMENT$_favour_after_change_value will count $VALUE$ twice + limit = { has_variable = wc_$ELEMENT$_favour_variable } + + change_variable = { + name = wc_$ELEMENT$_favour_variable + $CHANGE$ = scope:working_value + } + } + else = { + set_variable = { name = wc_$ELEMENT$_favour_variable value = wc_starting_$ELEMENT$_favour_value } + + change_variable = { + name = wc_$ELEMENT$_favour_variable + $CHANGE$ = scope:working_value + } + } + clamp_variable = { name = wc_$ELEMENT$_favour_variable max = wc_max_elemental_favour_value min = wc_min_elemental_favour_value } +} + +# secret effects +wc_magic_lifestyle_secret_reveal_effect = { + if = { limit = { scope:secret = { secret_type = secret_light_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = light } + } + else_if = { limit = { scope:secret = { secret_type = secret_shadow_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = shadow } + } + else_if = { limit = { scope:secret = { secret_type = secret_life_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = life } + } + else_if = { limit = { scope:secret = { secret_type = secret_death_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = death } + } + else_if = { limit = { scope:secret = { secret_type = secret_order_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = order } + } + else_if = { limit = { scope:secret = { secret_type = secret_disorder_magic_user } } + wc_nonelemental_magic_lifestyle_rank_up_effect = { MAGIC = disorder } + } + else_if = { limit = { scope:secret = { secret_type = secret_elemental_earth_magic_user } } + wc_elemental_magic_lifestyle_rank_up_effect = { MAGIC = elemental_earth } + } + else_if = { limit = { scope:secret = { secret_type = secret_elemental_fire_magic_user } } + wc_elemental_magic_lifestyle_rank_up_effect = { MAGIC = elemental_fire } + } + else_if = { limit = { scope:secret = { secret_type = secret_elemental_air_magic_user } } + wc_elemental_magic_lifestyle_rank_up_effect = { MAGIC = elemental_air } + } + else_if = { limit = { scope:secret = { secret_type = secret_elemental_water_magic_user } } + wc_elemental_magic_lifestyle_rank_up_effect = { MAGIC = elemental_water } + } +} + +# Chance to expose this secret upon spellcasting, will add more in fire-lifestyle branch. +wc_expose_magic_effect = { + every_secret = { + limit = { + secret_type = secret_$MAGIC$_magic_user + } + save_scope_as = magic_secret + root = { + duel = { + value = 15 + skill = intrigue + 70 = { + # Spell rank + modifier = { + OR = { + AND = { + has_variable = current_spell_rank + NOT = { + has_variable = $SPELL$_rank + } + var:current_spell_rank = 2 + } + AND = { + has_variable = $SPELL$_rank + var:$SPELL$_rank = 2 + } + } + factor = 0.7 + } + modifier = { + OR = { + AND = { + has_variable = current_spell_rank + NOT = { + has_variable = $SPELL$_rank + } + var:current_spell_rank = 3 + } + AND = { + has_variable = $SPELL$_rank + var:$SPELL$_rank = 3 + } + } + factor = 0.5 + } + # Number of targets + modifier = { + AND = { + has_variable = $SPELL$_targets_list + variable_list_size = { + name = $SPELL$_targets_list + value >= 2 + } + } + factor = 0.7 + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + # nothing + } + 30 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + scope:magic_secret = { expose_secret = root } + } + } + } + } +} + + +#automated character template effects + +add_random_perks_to_non_elemental_magic_lifestyle = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + add_random_magic_perks_of_type = { MAGICTYPE = $MAGICTYPE$ TARGETLEVEL = $TARGETLEVEL$ } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = $MAGICTYPE$ } + #wc_non_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = $MAGICTYPE$ } +} + +add_random_perks_to_elemental_magic_lifestyle = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + add_random_magic_perks_of_type = { MAGICTYPE = $MAGICTYPE$ TARGETLEVEL = $TARGETLEVEL$ } + add_perks_in_elemental_MAGIC_lifestyle_effect = { MAGIC = $MAGICTYPE$ } + #wc_elemental_MAGIC_magic_lifestyle_rank_up_check_effect = { MAGIC = $MAGICTYPE$ } +} + +add_random_legal_magic = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + set_variable = { + name = magic_added + value = 0 + } + while = { + limit = { var:magic_added = 0 } + random_list = { + 10 = { set_variable = { name = random_magic_index value = 1 } } + 10 = { set_variable = { name = random_magic_index value = 2 } } + 10 = { set_variable = { name = random_magic_index value = 3 } } + 10 = { set_variable = { name = random_magic_index value = 4 } } + 10 = { set_variable = { name = random_magic_index value = 5 } } + 10 = { set_variable = { name = random_magic_index value = 6 } } + 10 = { set_variable = { name = random_magic_index value = 7 } } + 10 = { set_variable = { name = random_magic_index value = 8 } } + 10 = { set_variable = { name = random_magic_index value = 9 } } + 10 = { set_variable = { name = random_magic_index value = 10 } } + } + switch = { + trigger = var:random_magic_index + 1 = { + if = { limit = { faith = { has_doctrine_parameter = light_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } + change_variable = { name = magic_added add = 1 } + } + } + 2 = { + if = { limit = { faith = { has_doctrine_parameter = shadow_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = shadow } + change_variable = { name = magic_added add = 1} + } + } + 3 = { + if = { limit = { faith = { has_doctrine_parameter = order_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = order } + change_variable = { name = magic_added add = 1} + } + } + 4 = { + if = { limit = { faith = { has_doctrine_parameter = disorder_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = disorder } + change_variable = { name = magic_added add = 1} + } + } + 5 = { + if = { limit = { faith = { has_doctrine_parameter = life_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = life } + change_variable = { name = magic_added add = 1} + } + } + 6 = { + if = { limit = { faith = { has_doctrine_parameter = death_magic_openly_learnable } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = death } + change_variable = { name = magic_added add = 1} + } + } + 7 = { + if = { limit = { faith = { has_doctrine_parameter = elemental_fire_magic_openly_learnable } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_fire } + change_variable = { name = magic_added add = 1} + } + } + 8 = { + if = { limit = { faith = { has_doctrine_parameter = elemental_water_magic_openly_learnable } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_water } + change_variable = { name = magic_added add = 1} + } + } + 9 = { + if = { limit = { faith = { has_doctrine_parameter = elemental_air_magic_openly_learnable } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_air } + change_variable = { name = magic_added add = 1} + } + } + 10 = { + if = { limit = { faith = { has_doctrine_parameter = elemental_earth_magic_openly_learnable } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_earth } + change_variable = { name = magic_added add = 1} + } + } + } + remove_variable = random_magic_index + } +} + +add_random_illegal_magic = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + set_variable = { + name = magic_added + value = 0 + } + while = { + limit = { var:magic_added = 0 } + random_list = { + 10 = { set_variable = { name = random_magic_index value = 1 } } + 10 = { set_variable = { name = random_magic_index value = 2 } } + 10 = { set_variable = { name = random_magic_index value = 3 } } + 10 = { set_variable = { name = random_magic_index value = 4 } } + 10 = { set_variable = { name = random_magic_index value = 5 } } + 10 = { set_variable = { name = random_magic_index value = 6 } } + 10 = { set_variable = { name = random_magic_index value = 7 } } + 10 = { set_variable = { name = random_magic_index value = 8 } } + 10 = { set_variable = { name = random_magic_index value = 9 } } + 10 = { set_variable = { name = random_magic_index value = 10 } } + } + switch = { + trigger = var:random_magic_index + 1 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = light_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } + change_variable = { name = magic_added add = 1 } + } + } + 2 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = shadow_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = shadow } + change_variable = { name = magic_added add = 1} + } + } + 3 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = order_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = order } + change_variable = { name = magic_added add = 1} + } + } + 4 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = disorder_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = disorder } + change_variable = { name = magic_added add = 1} + } + } + 5 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = life_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = life } + change_variable = { name = magic_added add = 1} + } + } + 6 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = death_magic_openly_learnable } } } + add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = death } + change_variable = { name = magic_added add = 1} + } + } + 7 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = elemental_fire_magic_openly_learnable } } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_fire } + change_variable = { name = magic_added add = 1} + } + } + 8 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = elemental_water_magic_openly_learnable } } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_water } + change_variable = { name = magic_added add = 1} + } + } + 9 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = elemental_air_magic_openly_learnable } } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_air } + change_variable = { name = magic_added add = 1} + } + } + 10 = { + if = { limit = { NOT = { faith = { has_doctrine_parameter = elemental_earth_magic_openly_learnable } } } + add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_earth } + change_variable = { name = magic_added add = 1} + } + } + } + remove_variable = random_magic_index + } +} + + +add_random_magic = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + random_list = { + 10 = { set_variable = { name = random_magic_index value = 1 } } + 10 = { set_variable = { name = random_magic_index value = 2 } } + 10 = { set_variable = { name = random_magic_index value = 3 } } + 10 = { set_variable = { name = random_magic_index value = 4 } } + 10 = { set_variable = { name = random_magic_index value = 5 } } + 10 = { set_variable = { name = random_magic_index value = 6 } } + 10 = { set_variable = { name = random_magic_index value = 7 } } + 10 = { set_variable = { name = random_magic_index value = 8 } } + 10 = { set_variable = { name = random_magic_index value = 9 } } + 10 = { set_variable = { name = random_magic_index value = 10 } } + } + switch = { + trigger = var:random_magic_index + 1 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 2 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 3 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 4 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 5 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 6 = { add_random_perks_to_non_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = light } } + 8 = { add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_fire } } + 8 = { add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_water } } + 9 = { add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_air } } + 10 = { add_random_perks_to_elemental_magic_lifestyle = { TARGETLEVEL = $TARGETLEVEL$ MAGICTYPE = elemental_earth } } + } +} + +add_random_magic_perks_of_type = { #MAGICTYPE: type of random magic to add, TARGETLEVEL: Average level of magic to add + random_list = { + 25 = { + modifier = { + add = 50 + $TARGETLEVEL$ = 1 + } + modifier = { + add = -25 + $TARGETLEVEL$ = 5 + } + set_variable = { + name = wc_$MAGICTYPE$_magic_lifestyle_additional_perks_variable + value = { wc_perks_needed_for_level_1_magic_trait_value wc_perks_needed_for_level_2_magic_trait_value } + } + } + 25 = { + modifier = { + add = 50 + $TARGETLEVEL$ = 2 + } + modifier = { + add = 20 + OR = { + $TARGETLEVEL$ = 1 + $TARGETLEVEL$ = 3 + } + } + set_variable = { + name = wc_$MAGICTYPE$_magic_lifestyle_additional_perks_variable + value = { wc_perks_needed_for_level_2_magic_trait_value wc_perks_needed_for_level_3_magic_trait_value } + } + } + 25 = { + modifier = { + add = 50 + $TARGETLEVEL$ = 3 + } + modifier = { + add = 20 + OR = { + $TARGETLEVEL$ = 4 + $TARGETLEVEL$ = 2 + } + } + set_variable = { + name = wc_$MAGICTYPE$_magic_lifestyle_additional_perks_variable + value = { wc_perks_needed_for_level_3_magic_trait_value wc_perks_needed_for_level_4_magic_trait_value } + } + } + 25 = { + modifier = { + add = 50 + $TARGETLEVEL$ = 4 + } + modifier = { + add = 20 + OR = { + $TARGETLEVEL$ = 3 + $TARGETLEVEL$ = 5 + } + } + set_variable = { + name = wc_$MAGICTYPE$_magic_lifestyle_additional_perks_variable + value = { wc_perks_needed_for_level_4_magic_trait_value wc_perks_needed_for_level_5_magic_trait_value } + } + } + 25 = { + modifier = { + add = 50 + $TARGETLEVEL$ = 5 + } + modifier = { + add = -20 + $TARGETLEVEL$ = 1 + } + + set_variable = { + name = wc_$MAGICTYPE$_magic_lifestyle_additional_perks_variable + value = { wc_perks_needed_for_level_5_magic_trait_value 27 } + } + } + } +} diff --git a/common/scripted_effects/wc_magic_death_effects.txt b/common/scripted_effects/wc_magic_death_effects.txt new file mode 100644 index 0000000000..611b06647a --- /dev/null +++ b/common/scripted_effects/wc_magic_death_effects.txt @@ -0,0 +1,1073 @@ +init_death_spells_effect = { + # add_to_global_variable_list = { name = death_spells target = flag:raise_dead } # Casted through other means + add_to_global_variable_list = { name = death_spells target = flag:death_coil } + add_to_global_variable_list = { name = death_spells target = flag:death_grip } + add_to_global_variable_list = { name = death_spells target = flag:give_disease } + add_to_global_variable_list = { name = death_spells target = flag:death_and_decay } + add_to_global_variable_list = { name = death_spells target = flag:cripple } + add_to_global_variable_list = { name = death_spells target = flag:improved_body } + add_to_global_variable_list = { name = death_spells target = flag:coagulation } + add_to_global_variable_list = { name = death_spells target = flag:blood_boil } + add_to_global_variable_list = { name = death_spells target = flag:strangulate } + add_to_global_variable_list = { name = death_spells target = flag:supreme_raise_dead } + add_to_global_variable_list = { name = death_spells target = flag:army_of_the_dead } + add_to_global_variable_list = { name = death_spells target = flag:epidemic } + add_to_global_variable_list = { name = death_spells target = flag:crimson_binding } + add_to_global_variable_list = { name = death_spells target = flag:realm_of_necrosis } +} + +init_raise_undead_types_effect = { + add_to_global_variable_list = { name = raise_dead_types target = flag:undead } + add_to_global_variable_list = { name = raise_dead_types target = flag:ghoul } + add_to_global_variable_list = { name = raise_dead_types target = flag:abomination } + add_to_global_variable_list = { name = raise_dead_types target = flag:banshee } + add_to_global_variable_list = { name = raise_dead_types target = flag:vampire } +} + +init_supreme_raise_dead_types_effect = { + add_to_global_variable_list = { name = supreme_raise_dead_types target = flag:revenant } + add_to_global_variable_list = { name = supreme_raise_dead_types target = flag:lich } +} + +cast_raise_dead_effect = { + if = { + limit = { exists = var:raise_dead_recipient } + var:raise_dead_recipient = { + save_temporary_scope_as = first_recipient + } + + var:raise_dead_type ?= { + save_scope_as = raise_dead_type + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:raise_dead + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient ?= { + save_temporary_scope_as = first_recipient + } + + var:current_raise_dead_type ?= { + save_scope_as = raise_dead_type + } + } + + scope:first_recipient ?= { + if = { + limit = { + exists = scope:raise_dead_type + } + show_as_tooltip = { + switch = { + trigger = scope:raise_dead_type + + flag:undead = { add_trait = being_undead } + flag:abomination = { set_trait_rank = { trait = race rank = 21 } } + flag:banshee = { set_trait_rank = { trait = race rank = 84 } } + flag:ghoul = { set_trait_rank = { trait = race rank = 85 } } + flag:vampire = { set_trait_rank = { trait = race rank = 86 } } + } + + if = { + limit = { + root = { + has_perk = death_magic_tree_1_perk_8 + } + } + + add_character_modifier = wc_fleshcrafting_modifier + } + + if = { + limit = { + root = { + has_perk = death_magic_tree_1_perk_6 + } + eternal_suffering_value > 0 + } + + add_prowess_skill = eternal_suffering_value + } + } + + custom_tooltip = { + text = raise_dead_tt + save_scope_value_as = { + name = current_eternal_suffering_value + value = eternal_suffering_value + } + wc_resurrect_CHARACTER_with_STATUS_effect = { CHARACTER = scope:first_recipient STATUS = undead } + scope:resurrected_character ?= { + root = { add_courtier = prev } + switch = { + trigger = scope:raise_dead_type + + flag:undead = { add_trait = being_undead } + flag:abomination = { set_trait_rank = { trait = race rank = 21 } } + flag:banshee = { set_trait_rank = { trait = race rank = 84 } } + flag:ghoul = { set_trait_rank = { trait = race rank = 85 } } + flag:vampire = { set_trait_rank = { trait = race rank = 86 } } + } + + if = { + limit = { + root = { + has_perk = death_magic_tree_1_perk_8 + } + } + + add_character_modifier = wc_fleshcrafting_modifier + } + + if = { + limit = { + root = { + has_perk = death_magic_tree_1_perk_6 + } + current_eternal_suffering_value > 0 + } + + add_gold = current_eternal_suffering_value + add_prowess_skill = current_eternal_suffering_value + } + } + } + + root = { + remove_variable = raise_dead_type + } + } + } +} + +cast_death_coil_effect = { + get_recipient_effect = { SPELL = death_coil } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_death_coil_duration_days_value + } + } + if = { + limit = { + has_trait = being_undead + } + add_character_modifier = { + modifier = wc_death_coil_positive_modifier + days = wc_current_spell_duration + } + if = { + limit = { + NOT = { + this = root + } + } + add_opinion = { + modifier = wc_casted_helpful_spell + target = root + } + } + } + else = { + save_scope_value_as = { + name = spell_dodge_chance + value = wc_death_magic_resistance_dodge_value + } + if = { + limit = { + NOT = { + this = root + } + } + add_opinion = { + modifier = wc_casted_harmful_spell + target = root + } + } + random_list = { + 90 = { + add_character_modifier = { + modifier = wc_death_coil_negative_modifier + days = wc_current_spell_duration + } + hidden_effect = { + root = { + send_interface_toast = { + title = wc_spell_hit + left_icon = scope:first_recipient + right_icon = root + custom_tooltip = wc_death_coil_hit_tt + } + } + } + } + 10 = { + custom_tooltip = wc_death_coil_resist_tt + modifier = { + is_alive = yes + add = scope:spell_dodge_chance + } + hidden_effect = { + root = { + send_interface_toast = { + title = wc_spell_dodged + left_icon = scope:first_recipient + right_icon = root + custom_tooltip = wc_death_coil_dodge + } + } + } + } + } + } + } +} + +cast_death_grip_effect = { + get_recipient_effect = { SPELL = death_grip } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_death_grip_duration_days_value + } + } + if = { + limit = { + root = { + is_in_army = yes + } + } + root.location = { + save_scope_as = caster_location + } + + custom_tooltip = { + text = death_grip_movement_tt + if = { + limit = { + NOT = { + location = scope:caster_location + } + } + + location = { + ordered_neighboring_province = { + order_by = { + value = "squared_distance(scope:caster_location)" + multiply = -1 + } + save_scope_as = target_location + } + } + + set_army_location = scope:target_location + } + } + + army_commander = { + add_character_modifier = { + modifier = wc_death_grip_modifier + days = wc_current_spell_duration + } + + hidden_effect = { + commanding_army ?= { + remove_commander = yes + assign_commander = prev + } + } + } + } + } +} + +cast_give_disease_effect = { + get_recipient_effect = { SPELL = give_disease } + + scope:this_recipient ?= { + custom_tooltip = give_disease_tt + show_as_tooltip = { + if = { + limit = { + root = { + has_perk = death_magic_tree_2_perk_8 + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + } + if = { + limit = { + root = { + has_variable = give_disease_type + } + } + root = { + var:give_disease_type = { + save_scope_as = disease + } + remove_variable = give_disease_type + } + + switch = { + trigger = scope:disease + + flag:ill = { contract_disease_notify_effect = { DISEASE = ill } } + flag:dysentery = { contract_disease_notify_effect = { DISEASE = dysentery } } + flag:consumption = { contract_disease_notify_effect = { DISEASE = consumption } } + flag:great_pox = { contract_disease_notify_effect = { DISEASE = great_pox } } + flag:leper = { contract_disease_notify_effect = { DISEASE = leper } } + flag:lovers_pox = { contract_disease_notify_effect = { DISEASE = lovers_pox } } + flag:measles = { contract_disease_notify_effect = { DISEASE = measles } } + flag:pneumonic = { contract_disease_notify_effect = { DISEASE = pneumonic } } + flag:smallpox = { contract_disease_notify_effect = { DISEASE = smallpox } } + flag:typhus = { contract_disease_notify_effect = { DISEASE = typhus } } + flag:frost_fever = { contract_disease_notify_effect = { DISEASE = frost_fever } } + flag:blood_plague = { contract_disease_notify_effect = { DISEASE = blood_plague } } + flag:crypt_fever = { contract_disease_notify_effect = { DISEASE = crypt_fever } } + flag:void_sickness = { contract_disease_notify_effect = { DISEASE = void_sickness } } + } + + add_opinion = { + modifier = wc_plagued_me + target = root + } + + if = { + limit = { + root = { + has_perk = death_magic_tree_2_perk_8 + } + } + random_list = { + 10 = { + increase_wounds_effect = { REASON = magic } + } + 90 = { + + } + } + } + } + else = { + hidden_effect = { + root = { + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = wc_spell_give_disease_cost_mana_value + } + } + } + } + } +} + +cast_death_and_decay_effect = { + get_recipient_effect = { SPELL = death_and_decay } + + scope:this_recipient ?= { + root = { + save_scope_as = caster + save_temporary_scope_value_as = { + name = duration + value = wc_spell_death_and_decay_duration_days_value + } + } + + add_county_modifier = { + modifier = wc_death_and_decay_county_modifier + desc = wc_death_and_decay_county_modifier_caster_desc + days = wc_current_spell_duration + } + + set_variable = { + name = death_and_decay_caster + value = root + days = wc_current_spell_duration + } + + hidden_effect = { + save_scope_as = county + + trigger_event = { + on_action = wc_death_and_decay_county_pulse + } + } + } +} + +apply_character_death_and_decay_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_death_and_decay_character_modifier + } + } + add_character_modifier = { + modifier = wc_death_and_decay_character_modifier + } + + hidden_effect = { + commanding_army ?= { + remove_commander = yes + assign_commander = prev + } + } + + trigger_event = { + on_action = wc_death_and_decay_removal_pulse + months = 1 + } + } +} + +remove_character_death_and_decay_effect = { + if = { + limit = { + has_character_modifier = wc_death_and_decay_character_modifier + } + + remove_character_modifier = wc_death_and_decay_character_modifier + + hidden_effect = { + commanding_army ?= { + remove_commander = yes + assign_commander = prev + } + } + } +} + +cast_cripple_effect = { + get_recipient_effect = { SPELL = cripple } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_cripple_duration_days_value + } + } + + save_scope_value_as = { + name = spell_dodge_chance + value = wc_death_magic_resistance_dodge_value + } + + add_character_modifier = { + modifier = wc_cripple_modifier + days = wc_current_spell_duration + } + } +} + +cast_improved_body_effect = { + get_recipient_effect = { SPELL = improved_body } + + scope:this_recipient ?= { + random_list = { + 33 = { + modifier = { + add = death_magic_lifestyle_perks + always = yes + } + if = { + limit = { + has_trait = beauty_good + root = { + has_trait_rank = { + trait = beauty_good + character < scope:this_recipient + } + } + } + root = { + improve_body_rank_effect = { TRAIT = beauty } + } + } + else_if = { + limit = { + has_trait = intellect_good + root = { + has_trait_rank = { + trait = intellect_good + character < scope:this_recipient + } + } + } + root = { + root = { + improve_body_rank_effect = { TRAIT = intellect } + } + } + } + else_if = { + limit = { + has_trait = physique_good + root = { + has_trait_rank = { + trait = physique_good + character < scope:this_recipient + } + } + } + root = { + root = { + improve_body_rank_effect = { TRAIT = physique } + } + } + } + else = { + random_character_trait = { + limit = { + improved_body_correct_trait_trigger = { CASTER = root } + } + + root = { add_trait = prev } + } + } + override_death_killer_effect = { death_reason = death_experiment killer = root } + } + 33 = { + modifier = { + factor = 0 + has_trait = wounded_3 + } + increase_wounds_effect = { REASON = experiment } + } + 33 = { + modifier = { + add = 33 + has_trait = wounded_3 + } + override_death_killer_effect = { death_reason = death_experiment killer = root } + } + } + } +} + +improve_body_rank_effect = { + if = { + limit = { + has_trait = $TRAIT$_bad + } + change_trait_rank = { + trait = $TRAIT$_bad + rank = -1 + } + } + else = { + change_trait_rank = { + trait = $TRAIT$_good + rank = 1 + } + } +} + +cast_coagulation_effect = { + get_recipient_effect = { SPELL = coagulation } + + scope:this_recipient ?= { + + # Look at ranks first + if = { + limit = { + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:coagulation_rank + var:coagulation_rank = 3 + } + AND = { + NOT = { + exists = var:coagulation_rank + } + exists = var:current_spell_rank + var:current_spell_rank = 3 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_major_injury_trigger = yes + } + remove_major_injury_effect = yes + } + else_if = { + limit = { + target_has_magic_injury_trigger = yes + } + remove_magic_injury_effect = { REDUCE_SEVERITY = yes } + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:coagulation_rank + var:coagulation_rank = 2 + } + AND = { + NOT = { + exists = var:coagulation_rank + } + exists = var:current_spell_rank + var:current_spell_rank = 2 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_poison_trigger = yes + } + remove_poison_effect = yes + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:coagulation_rank + var:coagulation_rank = 1 + } + AND = { + NOT = { + exists = var:coagulation_rank + } + exists = var:current_spell_rank + var:current_spell_rank = 1 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_injury_trigger = yes + } + remove_injury_effect = { REDUCE_SEVERITY = yes } + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + } +} + +cast_blood_boil_effect = { + get_recipient_effect = { SPELL = blood_boil } + if = { + limit = { + exists = scope:this_recipient + OR = { + any_war_enemy = { + any_army = { + exists = army_commander + army_commander = scope:this_recipient.army_commander + } + } + } + } + scope:this_recipient.army_commander = { + if = { + limit = { + NOT = { + has_trait = blood_plague + } + } + + save_scope_value_as = { + name = spell_dodge_chance + value = wc_death_magic_resistance_dodge_value + } + add_trait = blood_plague + add_opinion = { + modifier = wc_plagued_me + target = root + } + } + } + + custom_tooltip = { + text = wc_spell_blood_boil_knights_tt + scope:this_recipient.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:this_recipient + } + + add_to_list = knights + } + } + scope:this_recipient.army_commander = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:this_recipient + } + + add_to_list = knights + } + } + every_in_list = { + list = knights + if = { + limit = { + NOT = { + has_trait = blood_plague + } + } + add_trait = blood_plague + add_opinion = { + modifier = wc_plagued_me + target = root + } + } + } + } + } +} + +cast_strangulate_effect = { + get_recipient_effect = { SPELL = strangulate } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_strangulate_duration_days_value + } + } + + add_character_modifier = { + modifier = wc_strangulate_modifier + days = wc_current_spell_duration + } + } +} + +cast_supreme_raise_dead_effect = { + if = { + limit = { exists = var:supreme_raise_dead_recipient } + var:supreme_raise_dead_recipient = { + save_temporary_scope_as = first_recipient + } + + var:raise_dead_type ?= { + save_scope_as = raise_dead_type + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:supreme_raise_dead + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient ?= { + save_temporary_scope_as = first_recipient + } + + var:current_raise_dead_type ?= { + save_scope_as = raise_dead_type + } + } + + scope:first_recipient ?= { + if = { + limit = { + exists = scope:raise_dead_type + } + show_as_tooltip = { + switch = { + trigger = scope:raise_dead_type + + flag:revenant = { set_trait_rank = { trait = race rank = 87 } } + flag:lich = { set_trait_rank = { trait = race rank = 22 } } + } + + if = { + limit = { + NOT = { + scope:first_recipient = root + } + root = { + has_perk = death_magic_tree_1_perk_8 + } + } + + add_character_modifier = wc_fleshcrafting_modifier + } + + if = { + limit = { + NOT = { + scope:first_recipient = root + } + root = { + has_perk = death_magic_tree_1_perk_6 + } + eternal_suffering_value > 0 + } + + add_prowess_skill = eternal_suffering_value + } + } + + if = { + limit = { + is_alive = no + } + custom_tooltip = { + text = raise_dead_tt + save_scope_value_as = { + name = current_eternal_suffering_value + value = eternal_suffering_value + } + wc_resurrect_CHARACTER_with_STATUS_effect = { CHARACTER = scope:first_recipient STATUS = undead } + scope:resurrected_character ?= { + root = { add_courtier = prev } + save_scope_as = new_target + } + } + } + else = { + save_scope_as = new_target + } + + hidden_effect = { + scope:new_target ?= { + switch = { + trigger = scope:raise_dead_type + + flag:revenant = { set_trait_rank = { trait = race rank = 87 } } + flag:lich = { set_trait_rank = { trait = race rank = 22 } } + } + + if = { + limit = { + NOT = { + scope:new_target = root + } + root = { + has_perk = death_magic_tree_1_perk_8 + } + } + + add_character_modifier = wc_fleshcrafting_modifier + } + + if = { + limit = { + NOT = { + scope:new_target = root + } + root = { + has_perk = death_magic_tree_1_perk_6 + } + current_eternal_suffering_value > 0 + } + + add_gold = current_eternal_suffering_value + add_prowess_skill = current_eternal_suffering_value + } + } + } + + root = { + remove_variable = raise_dead_type + } + } + } +} + +cast_army_of_the_dead_effect = { + if = { + limit = { exists = var:army_of_the_dead_recipient } + var:army_of_the_dead_recipient = { + save_temporary_scope_as = first_recipient + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:army_of_the_dead + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient = { + save_temporary_scope_as = first_recipient + } + } + + scope:first_recipient ?= { + root = { + save_scope_value_as = { + name = army_strength + value = wc_spell_army_of_the_dead_strenght_value + } + spawn_army = { + uses_supply = no + inheritable = yes + name = raised_undead_troops + levies = scope:army_strength + location = scope:first_recipient.title_province + origin = scope:first_recipient.title_province + } + } + change_development_level = { + subtract = scope:first_recipient.development_level + } + } +} + +cast_epidemic_effect = { + if = { + limit = { exists = var:epidemic_recipient } + var:epidemic_recipient = { + save_temporary_scope_as = first_recipient + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:epidemic + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient = { + save_temporary_scope_as = first_recipient + } + } + + scope:first_recipient ?= { + custom_tooltip = epidemic_tt + if = { + limit = { + root = { + has_variable = epidemic_type + } + } + root = { + var:epidemic_type = { + save_scope_as = disease + } + remove_variable = epidemic_type + } + + title_province = { + switch = { + trigger = scope:disease + + flag:smallpox = { create_epidemic_outbreak = { type = smallpox intensity = major save_scope_as = epidemic } } + flag:bubonic_plague = { create_epidemic_outbreak = { type = bubonic_plague intensity = major save_scope_as = epidemic } } + flag:consumption = { create_epidemic_outbreak = { type = consumption intensity = major save_scope_as = epidemic } } + flag:measles = { create_epidemic_outbreak = { type = measles intensity = major save_scope_as = epidemic } } + flag:dysentery = { create_epidemic_outbreak = { type = dysentery intensity = major save_scope_as = epidemic } } + flag:ergotism = { create_epidemic_outbreak = { type = ergotism intensity = major save_scope_as = epidemic } } + flag:typhus = { create_epidemic_outbreak = { type = typhus intensity = major save_scope_as = epidemic } } + flag:frost_fever = { create_epidemic_outbreak = { type = frost_fever intensity = major save_scope_as = epidemic } } + flag:blood_plague = { create_epidemic_outbreak = { type = blood_plague intensity = major save_scope_as = epidemic } } + flag:crypt_fever = { create_epidemic_outbreak = { type = crypt_fever intensity = major save_scope_as = epidemic } } + flag:void_sickness = { create_epidemic_outbreak = { type = void_sickness intensity = major save_scope_as = epidemic } } + + scope:epidemic = { + set_variable = { + name = epidemic_caster + value = root + } + } + } + } + + county.holder = { + add_opinion = { + modifier = wc_plagued_me + target = root + } + } + } + else = { + hidden_effect = { + root = { + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = wc_spell_epidemic_cost_mana_value + } + remove_character_flag = any_ritual_cd + } + } + } + } +} + +cast_crimson_binding_effect = { + get_recipient_effect = { SPELL = crimson_binding } + + scope:this_recipient ?= { + root = { + save_scope_as = caster + save_temporary_scope_value_as = { + name = duration + value = wc_spell_crimson_binding_duration_days_value + } + + set_variable = { + name = crimson_binding_target + value = scope:this_recipient + days = wc_current_spell_duration + } + } + + add_character_modifier = { + modifier = wc_crimson_binding_modifier + desc = wc_death_and_decay_county_modifier_caster_desc + days = wc_current_spell_duration + } + } +} + +cast_realm_of_necrosis_effect = { + if = { + limit = { + exists = scope:cancel + } + var:realm_of_necrosis_recipient = { + remove_character_modifier = wc_necrotic_rule_modifier + } + } + else = { + get_recipient_effect = { SPELL = realm_of_necrosis } + + scope:this_recipient ?= { + add_character_modifier = { + modifier = wc_necrotic_rule_modifier + } + } + } +} diff --git a/common/scripted_effects/wc_magic_disorder_effects.txt b/common/scripted_effects/wc_magic_disorder_effects.txt new file mode 100644 index 0000000000..148f794902 --- /dev/null +++ b/common/scripted_effects/wc_magic_disorder_effects.txt @@ -0,0 +1,3 @@ +init_disorder_spells_effect = { + +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_effects.txt b/common/scripted_effects/wc_magic_effects.txt new file mode 100644 index 0000000000..2aeec8c5a5 --- /dev/null +++ b/common/scripted_effects/wc_magic_effects.txt @@ -0,0 +1,3270 @@ +wc_learn_spell_effect = { + if = { + limit = { + NOT = { + is_known_spell_trigger = { + SPELL = flag:$SPELL$ + } + } + } + add_to_variable_list = { + name = known_spells + target = flag:$SPELL$ + } + if = { + limit = { + NOT = { + has_variable = known_spells_count + } + } + set_variable = { + name = known_spells_count + value = 0 + } + } + change_variable = { + name = known_spells_count + add = 1 + } + } +} +# Just like learn spell effect, but doing it via execute_scoped_spell_effect +wc_learn_spell_effect_external = { + wc_learn_spell_effect = { + SPELL = $SPELL$ + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:poop } } # error suppression +} + +# Like the above, but for elemental spells +wc_learn_spell_effect_external_elemental = { + wc_learn_spell_effect_external = { SPELL = $SPELL$ TYPE = $TYPE$ RANK = $RANK$ } +} + +learn_spell_rank_effect = { + add_to_variable_list = { + name = known_rank_$RANK$_spells + target = flag:$SPELL$ + } +} + +# change_elemental_favour_effect = { +# if = { +# limit = { +# has_variable = wc_$TYPE$_favour_variable +# } +# # nothing +# } +# else = { +# set_variable = { +# name = wc_$TYPE$_favour_variable +# value = wc_$TYPE$_favour_current_value +# } +# } +# change_variable = { +# name = wc_$TYPE$_favour_variable +# $CHANGE$ = $VALUE$ +# } +# # TODO : recalculate traits / secrets + +# } + +show_spell_tt_effect = { + # Dodging localization + if = { + limit = { + spell_can_be_dodged_trigger = { SPELL = flag:$SPELL$ } + OR = { + spell_dodge_chance_high_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_normal_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_low_trigger = { SPELL = flag:$SPELL$ } + } + } + if = { + limit = { + var:current_target_type = flag:character + exists = var:spell_recipient + NOT = { exists = var:original_recipient } + } + spell_dodge_effect = { RECIPIENT = var:spell_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + else_if = { + limit = { + var:current_target_type = flag:character + exists = var:original_recipient + } + spell_dodge_effect = { RECIPIENT = var:original_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + else_if = { + limit = { + var:current_target_type = flag:character_list + } + every_in_list = { + variable = current_targets_list + save_scope_as = this_recipient + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + } + else_if = { + limit = { + var:current_target_type = flag:title_list + } + every_in_list = { + variable = current_targets_list + holder = { save_scope_as = this_recipient } + if = { + limit = { + scope:this_recipient = { is_independent_ruler = yes} + } + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + else = { + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = yes } + } + } + } + } + else = { + # actually cast + spell_execute = { EFFECT = cast_$SPELL$_effect } + if = { # Chance to double cast if you have Evocation + limit = { + has_character_modifier = wc_evocation_character_modifier + NOT = { + spell_is_ritual_trigger = { SPELL = flag:$SPELL$ } + } + } + random_list = { + 50 = { + spell_execute = { EFFECT = cast_$SPELL$_effect } + } + 50 = { + + } + } + } + } + + # Chance to expose secret + wc_expose_magic_effect = { MAGIC = $TYPE$ SPELL = $SPELL$ } + + if = { limit = { $RANK$ = 2 } } # error suppression +} + +show_spell_tt_effect_elemental = { + show_spell_tt_effect = { SPELL = $SPELL$ TYPE = $TYPE$ RANK = $RANK$ } + if = { + limit = { # Change elemental disposition + spell_is_elemental_trigger = { SPELL = flag:$SPELL$ } + OR = { + exists = var:$SPELL$_type + exists = var:elemental_type + } + } + if = { + limit = { + NOT = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + } + save_scope_value_as = { + name = elemental_favour_change + value = { + add = wc_spell_$SPELL$_cost_mana_value + divide = 2 + } + } + } + else = { + save_scope_value_as = { + name = elemental_favour_change + value = { + add = wc_spell_$SPELL$_cost_mana_value + divide = 4 + } + } + } + + if = { + limit = { + OR = { + AND = { + exists = var:$SPELL$_type + NOT = { exists = var:elemental_type } + var:$SPELL$_type = flag:spirit + } + AND = { + exists = var:elemental_type + var:elemental_type = flag:spirit + } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = $TYPE$ + CHANGE = add + VALUE = scope:elemental_favour_change + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:$SPELL$_type + NOT = { exists = var:elemental_type } + var:$SPELL$_type = flag:decay + } + AND = { + exists = var:elemental_type + var:elemental_type = flag:decay + } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = $TYPE$ + CHANGE = subtract + VALUE = scope:elemental_favour_change + } + } + } +} + +execute_scoped_spell_effect = { + if = { limit = { NOT = { has_variable = current_spell_rank } } set_variable = { name = current_spell_rank value = 1 } } + switch = { + trigger = $SPELL$ + # Elemental Fire + flag:backdraft = { $EFFECT$_elemental = { SPELL = backdraft RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:summon_fire_elemental = { $EFFECT$_elemental = { SPELL = summon_fire_elemental RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:lava_lash = { $EFFECT$_elemental = { SPELL = lava_lash RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:flame_wall = { $EFFECT$_elemental = { SPELL = flame_wall RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:flame_shock = { $EFFECT$_elemental = { SPELL = flame_shock RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:burnout = { $EFFECT$_elemental = { SPELL = burnout RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:planar_fire = { $EFFECT$_elemental = { SPELL = planar_fire RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:cauterize_wound = { $EFFECT$_elemental = { SPELL = cauterize_wound RANK = var:current_spell_rank TYPE = elemental_fire } } + flag:vernal_solstice = { $EFFECT$_elemental = { SPELL = vernal_solstice RANK = var:current_spell_rank TYPE = elemental_fire } } + + # Order + flag:polymorph = { $EFFECT$ = { SPELL = polymorph RANK = var:current_spell_rank TYPE = order } } + flag:counterspell = { $EFFECT$ = { SPELL = counterspell RANK = var:current_spell_rank TYPE = order } } + flag:spellsteal = { $EFFECT$ = { SPELL = spellsteal RANK = var:current_spell_rank TYPE = order } } + flag:scry = { $EFFECT$ = { SPELL = scry RANK = var:current_spell_rank TYPE = order } } + flag:haste = { $EFFECT$ = { SPELL = haste RANK = var:current_spell_rank TYPE = order } } + flag:conjure_refreshment = { $EFFECT$ = { SPELL = conjure_refreshment RANK = var:current_spell_rank TYPE = order } } + flag:chronomancy = { $EFFECT$ = { SPELL = chronomancy RANK = var:current_spell_rank TYPE = order } } + flag:evocation = { $EFFECT$ = { SPELL = evocation RANK = var:current_spell_rank TYPE = order } } + flag:arcane_dome = { $EFFECT$ = { SPELL = arcane_dome RANK = var:current_spell_rank TYPE = order } } + flag:create_portal = { $EFFECT$ = { SPELL = create_portal RANK = var:current_spell_rank TYPE = order } } + + ## Fire + flag:scorch = { $EFFECT$ = { SPELL = scorch RANK = var:current_spell_rank TYPE = order } } + flag:pyroblast = { $EFFECT$ = { SPELL = pyroblast RANK = var:current_spell_rank TYPE = order } } + flag:flamestrike = { $EFFECT$ = { SPELL = flamestrike RANK = var:current_spell_rank TYPE = order } } + flag:fire_shield = { $EFFECT$ = { SPELL = fire_shield RANK = var:current_spell_rank TYPE = order } } + + ## Frost + flag:frostbolt = { $EFFECT$ = { SPELL = frostbolt RANK = var:current_spell_rank TYPE = order } } + flag:frost_nova = { $EFFECT$ = { SPELL = frost_nova RANK = var:current_spell_rank TYPE = order } } + flag:frost_armor = { $EFFECT$ = { SPELL = frost_armor RANK = var:current_spell_rank TYPE = order } } + flag:blizzard = { $EFFECT$ = { SPELL = blizzard RANK = var:current_spell_rank TYPE = order } } + + ## Both + flag:frostfire_bolt = { $EFFECT$ = { SPELL = frostfire_bolt RANK = var:current_spell_rank TYPE = order } } + + ## Light + flag:flash_of_light = { $EFFECT$ = { SPELL = flash_of_light RANK = var:current_spell_rank TYPE = light } } + flag:dispel = { $EFFECT$ = { SPELL = dispel RANK = var:current_spell_rank TYPE = light } } + flag:holy_fire = { $EFFECT$ = { SPELL = holy_fire RANK = var:current_spell_rank TYPE = light } } + flag:lightwell = { $EFFECT$ = { SPELL = lightwell RANK = var:current_spell_rank TYPE = light } } + flag:judgement = { $EFFECT$ = { SPELL = judgement RANK = var:current_spell_rank TYPE = light } } + flag:exorcism = { $EFFECT$ = { SPELL = exorcism RANK = var:current_spell_rank TYPE = light } } + flag:expulsion = { $EFFECT$ = { SPELL = expulsion RANK = var:current_spell_rank TYPE = light } } + flag:avenging_wrath = { $EFFECT$ = { SPELL = avenging_wrath RANK = var:current_spell_rank TYPE = light } } + flag:salvation = { $EFFECT$ = { SPELL = salvation RANK = var:current_spell_rank TYPE = light } } + flag:bless = { $EFFECT$ = { SPELL = bless RANK = var:current_spell_rank TYPE = light } } + flag:divine_shield = { $EFFECT$ = { SPELL = divine_shield RANK = var:current_spell_rank TYPE = light } } + flag:consecration = { $EFFECT$ = { SPELL = consecration RANK = var:current_spell_rank TYPE = light } } + flag:rebuke = { $EFFECT$ = { SPELL = rebuke RANK = var:current_spell_rank TYPE = light } } + flag:divine_storm = { $EFFECT$ = { SPELL = divine_storm RANK = var:current_spell_rank TYPE = light } } + flag:blessed_bastion = { $EFFECT$ = { SPELL = blessed_bastion RANK = var:current_spell_rank TYPE = light } } + flag:power_word_barrier = { $EFFECT$ = { SPELL = power_word_barrier RANK = var:current_spell_rank TYPE = light } } + + # Death + flag:raise_dead = { $EFFECT$ = { SPELL = raise_dead RANK = var:current_spell_rank TYPE = death } } + flag:death_coil = { $EFFECT$ = { SPELL = death_coil RANK = var:current_spell_rank TYPE = death } } + flag:death_grip = { $EFFECT$ = { SPELL = death_grip RANK = var:current_spell_rank TYPE = death } } + flag:give_disease = { $EFFECT$ = { SPELL = give_disease RANK = var:current_spell_rank TYPE = death } } + flag:death_and_decay = { $EFFECT$ = { SPELL = death_and_decay RANK = var:current_spell_rank TYPE = death } } + flag:cripple = { $EFFECT$ = { SPELL = cripple RANK = var:current_spell_rank TYPE = death } } + flag:improved_body = { $EFFECT$ = { SPELL = improved_body RANK = var:current_spell_rank TYPE = death } } + flag:coagulation = { $EFFECT$ = { SPELL = coagulation RANK = var:current_spell_rank TYPE = death } } + flag:blood_boil = { $EFFECT$ = { SPELL = blood_boil RANK = var:current_spell_rank TYPE = death } } + flag:strangulate = { $EFFECT$ = { SPELL = strangulate RANK = var:current_spell_rank TYPE = death } } + flag:supreme_raise_dead = { $EFFECT$ = { SPELL = supreme_raise_dead RANK = var:current_spell_rank TYPE = death } } + flag:army_of_the_dead = { $EFFECT$ = { SPELL = army_of_the_dead RANK = var:current_spell_rank TYPE = death } } + flag:epidemic = { $EFFECT$ = { SPELL = epidemic RANK = var:current_spell_rank TYPE = death } } + flag:crimson_binding = { $EFFECT$ = { SPELL = crimson_binding RANK = var:current_spell_rank TYPE = death } } + flag:realm_of_necrosis = { $EFFECT$ = { SPELL = realm_of_necrosis RANK = var:current_spell_rank TYPE = death } } + + # Elemental Water + flag:summon_water_elemental = { $EFFECT$_elemental = { SPELL = summon_water_elemental RANK = var:current_spell_rank TYPE = elemental_water } } + flag:soothing_waters = { $EFFECT$_elemental = { SPELL = soothing_waters RANK = var:current_spell_rank TYPE = elemental_water } } + flag:river_spirits_rage = { $EFFECT$_elemental = { SPELL = river_spirits_rage RANK = var:current_spell_rank TYPE = elemental_water } } + flag:invoke_tsunami = { $EFFECT$_elemental = { SPELL = invoke_tsunami RANK = var:current_spell_rank TYPE = elemental_water } } + flag:frost_shock = { $EFFECT$_elemental = { SPELL = frost_shock RANK = var:current_spell_rank TYPE = elemental_water } } + flag:icefury = { $EFFECT$_elemental = { SPELL = icefury RANK = var:current_spell_rank TYPE = elemental_water } } + flag:ice_structure = { $EFFECT$_elemental = { SPELL = ice_structure RANK = var:current_spell_rank TYPE = elemental_water } } + flag:eternal_winter = { $EFFECT$_elemental = { SPELL = eternal_winter RANK = var:current_spell_rank TYPE = elemental_water } } + + # Shadow + flag:void_touch = { $EFFECT$ = { SPELL = void_touch RANK = var:current_spell_rank TYPE = shadow } } + flag:summon_void_leader = { $EFFECT$ = { SPELL = summon_void_leader RANK = var:current_spell_rank TYPE = shadow } } + flag:voidborne = { $EFFECT$ = { SPELL = voidborne RANK = var:current_spell_rank TYPE = shadow } } + flag:rend_flesh = { $EFFECT$ = { SPELL = rend_flesh RANK = var:current_spell_rank TYPE = shadow } } + flag:mutate = { $EFFECT$ = { SPELL = mutate RANK = var:current_spell_rank TYPE = shadow } } + flag:drain_essence = { $EFFECT$ = { SPELL = drain_essence RANK = var:current_spell_rank TYPE = shadow } } + flag:insanity = { $EFFECT$ = { SPELL = insanity RANK = var:current_spell_rank TYPE = shadow } } + flag:mania = { $EFFECT$ = { SPELL = mania RANK = var:current_spell_rank TYPE = shadow } } + flag:mind_blast = { $EFFECT$ = { SPELL = mind_blast RANK = var:current_spell_rank TYPE = shadow } } + flag:silence = { $EFFECT$ = { SPELL = silence RANK = var:current_spell_rank TYPE = shadow } } + flag:shadow_crash = { $EFFECT$ = { SPELL = shadow_crash RANK = var:current_spell_rank TYPE = shadow } } + flag:twisted_chains = { $EFFECT$ = { SPELL = twisted_chains RANK = var:current_spell_rank TYPE = shadow } } + flag:ascension = { $EFFECT$ = { SPELL = ascension RANK = var:current_spell_rank TYPE = shadow } } + flag:whispers = { $EFFECT$ = { SPELL = whispers RANK = var:current_spell_rank TYPE = shadow } } + flag:dispersion = { $EFFECT$ = { SPELL = dispersion RANK = var:current_spell_rank TYPE = shadow } } + } +} + + + +every_spell_modifier_effect = { + $EFFECT$ = { MODIFIER = wc_frost_armor SPELL = frost_armor TYPE = positive } + $EFFECT$ = { MODIFIER = wc_summon_fire_elemental SPELL = summon_fire_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_empowered_fire_elemental SPELL = summon_fire_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_animate_rage SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_backdraft_proc SPELL = backdraft TYPE = positive } + $EFFECT$ = { MODIFIER = wc_flame_wall_good SPELL = flame_wall TYPE = positive } + $EFFECT$ = { MODIFIER = wc_pyromania SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_cauterized_wound SPELL = cauterize_wound TYPE = positive } + $EFFECT$ = { MODIFIER = wc_counterspell SPELL = counterspell TYPE = positive } + $EFFECT$ = { MODIFIER = wc_scry SPELL = scry TYPE = positive } + $EFFECT$ = { MODIFIER = wc_empowered_scry SPELL = scry TYPE = positive } + $EFFECT$ = { MODIFIER = wc_haste SPELL = haste TYPE = positive } + $EFFECT$ = { MODIFIER = wc_conjure_food SPELL = conjure_refreshment TYPE = positive } + $EFFECT$ = { MODIFIER = wc_conjure_feast SPELL = conjure_refreshment TYPE = positive } + $EFFECT$ = { MODIFIER = wc_conjure_drink SPELL = conjure_refreshment TYPE = positive } + $EFFECT$ = { MODIFIER = wc_fire_shield SPELL = fire_shield TYPE = positive } + $EFFECT$ = { MODIFIER = wc_frostfire_bolt_good SPELL = frostfire_bolt TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_minor_protection SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_major_protection SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_minor_efficiency SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_major_efficiency SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_major_companionship SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_minor_companionship SPELL = planar_fire TYPE = positive } + # $EFFECT$ = { MODIFIER = wc_elemental_fire_fear_me SPELL = planar_fire TYPE = positive } + # $EFFECT$ = { MODIFIER = wc_elemental_fire_love_me SPELL = planar_fire TYPE = positive } + # $EFFECT$ = { MODIFIER = wc_hearth_blessing SPELL = iforgot TYPE = positive } # + $EFFECT$ = { MODIFIER = wc_elemental_fire_planar_fire SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_fire_magic_blessing SPELL = planar_fire TYPE = positive } + # Unused + $EFFECT$ = { MODIFIER = wc_elemental_fire_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_air_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_water_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_earth_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_light_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_shadow_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_life_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_death_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_order_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_disorder_learning_boost SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_fire_magic_offensive_force SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_fire_magic_defensive_force SPELL = none TYPE = positive } + # End Unused + $EFFECT$ = { MODIFIER = wc_fire_decay_ritual_feed SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_elemental_fire_planar_fire_decay_win SPELL = planar_fire TYPE = positive } + $EFFECT$ = { MODIFIER = wc_quickening SPELL = none TYPE = positive } + # $EFFECT$ = { MODIFIER = wc_evocation_character SPELL = iforgot TYPE = positive } # Only applied when inside specific location + $EFFECT$ = { MODIFIER = wc_flamestrike SPELL = flamestrike TYPE = negative } + $EFFECT$ = { MODIFIER = wc_flame_wall_bad SPELL = flame_wall TYPE = negative } + $EFFECT$ = { MODIFIER = wc_frostfire_bolt_bad SPELL = frostfire_bolt TYPE = negative } + $EFFECT$ = { MODIFIER = wc_frostbolt SPELL = frostbolt TYPE = negative } + $EFFECT$ = { MODIFIER = wc_frost_nova SPELL = frost_nova TYPE = negative } + # $EFFECT$ = { MODIFIER = wc_blizzard_character SPELL = iforgot TYPE = negative } # Only applied when inside specific location + $EFFECT$ = { MODIFIER = wc_slow SPELL = haste TYPE = negative } + # $EFFECT$ = { MODIFIER = wc_arcane_dome_character SPELL = iforgot TYPE = negative } # Only applied when inside specific location + $EFFECT$ = { MODIFIER = wc_exorcism SPELL = exorcism TYPE = negative } + $EFFECT$ = { MODIFIER = wc_lightwell SPELL = lightwell TYPE = positive } + $EFFECT$ = { MODIFIER = wc_holy_fire SPELL = holy_fire TYPE = negative } + # $EFFECT$ = { MODIFIER = wc_saved_with_salvation SPELL = salvation TYPE = negative } Ritual modifier # + # $EFFECT$ = { MODIFIER = wc_salvation SPELL = salvation TYPE = positive } Ritual modifier # + $EFFECT$ = { MODIFIER = wc_rebuke SPELL = none TYPE = negative } + $EFFECT$ = { MODIFIER = wc_divine_storm_character SPELL = divine_storm TYPE = negative } + $EFFECT$ = { MODIFIER = wc_blessed_bastion SPELL = blessed_bastion TYPE = positive } + $EFFECT$ = { MODIFIER = wc_death_coil_positive SPELL = death_coil TYPE = positive } + $EFFECT$ = { MODIFIER = wc_death_coil_negative SPELL = death_coil TYPE = negative } + $EFFECT$ = { MODIFIER = wc_death_grip SPELL = death_grip TYPE = negative } + # $EFFECT$ = { MODIFIER = wc_death_and_decay_character SPELL = death_and_decay TYPE = negative } # Only applied when inside specific location + $EFFECT$ = { MODIFIER = wc_cripple SPELL = cripple TYPE = negative } + $EFFECT$ = { MODIFIER = wc_death_pact SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_mark_of_blood_commander SPELL = none TYPE = negative } + $EFFECT$ = { MODIFIER = wc_mark_of_blood_knight SPELL = none TYPE = negative } + $EFFECT$ = { MODIFIER = wc_strangulate SPELL = strangulate TYPE = negative } + $EFFECT$ = { MODIFIER = wc_crimson_binding SPELL = crimson_binding TYPE = negative } + $EFFECT$ = { MODIFIER = wc_summon_water_elemental SPELL = summon_water_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_empowered_water_elemental SPELL = summon_water_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_empowered_water_elemental_enemy SPELL = summon_water_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_soothing_waters SPELL = soothing_waters TYPE = positive } + $EFFECT$ = { MODIFIER = wc_river_spirits_rage_character SPELL = river_spirits_rage TYPE = negative } + $EFFECT$ = { MODIFIER = wc_river_spirits_rage_army SPELL = river_spirits_rage TYPE = negative } + $EFFECT$ = { MODIFIER = wc_sirens_call SPELL = summon_water_elemental TYPE = positive } + $EFFECT$ = { MODIFIER = wc_rend_flesh_1 SPELL = rend_flesh TYPE = negative } + $EFFECT$ = { MODIFIER = wc_rend_flesh_2 SPELL = rend_flesh TYPE = negative } + $EFFECT$ = { MODIFIER = wc_rend_flesh_3 SPELL = rend_flesh TYPE = negative } + $EFFECT$ = { MODIFIER = wc_insanity SPELL = insanity TYPE = negative } + $EFFECT$ = { MODIFIER = wc_mania SPELL = mania TYPE = positive } + $EFFECT$ = { MODIFIER = wc_silenced SPELL = silence TYPE = negative } + $EFFECT$ = { MODIFIER = wc_shadow_crashed SPELL = shadow_crash TYPE = negative } + $EFFECT$ = { MODIFIER = wc_whispers_murder SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_whispers_love SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_whispers_tyranny SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_whispers_hurt SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_whispers_artifact SPELL = none TYPE = positive } + $EFFECT$ = { MODIFIER = wc_whispers_health SPELL = none TYPE = positive } +} + +record_spell_stats_effect = { + if = { + limit = { + NOT = { + has_variable = $SPELL$_cast_count + } + } + set_variable = { + name = $SPELL$_cast_count + value = 0 + } + } + change_variable = { + name = $SPELL$_cast_count + add = 1 + } + get_or_set_top_casted_spell_effect = { SPELL = $SPELL$ } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:none } } # error suppression +} + +record_spell_stats_effect_elemental = { + record_spell_stats_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +get_or_set_top_casted_spell_effect = { + if = { + limit = { + NOT = { + has_variable = top_casted_spell + } + } + set_variable = { + name = top_casted_spell + value = flag:$SPELL$ + } + set_variable = { + name = top_casted_spell_cast_count + value = var:$SPELL$_cast_count + } + } + if = { + limit = { + has_variable = top_casted_spell + var:$SPELL$_cast_count > var:top_casted_spell_cast_count + } + set_variable = { + name = top_casted_spell + value = flag:$SPELL$ + } + set_variable = { + name = top_casted_spell_cast_count + value = var:$SPELL$_cast_count + } + } +} +set_spell_mana_cost_variable_effect = { # not actually used in casting, just for triggers + set_variable = { + name = current_spell_mana_cost + value = wc_spell_$SPELL$_cost_mana_value + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:none } } # error suppression +} + +set_spell_mana_cost_variable_effect_elemental = { # not actually used in casting, just for triggers + set_spell_mana_cost_variable_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +spell_cast_effect = { + set_variable = { + name = $SPELL$_cost + value = wc_spell_$SPELL$_cost_mana_value + } + + trigger_event = { + on_action = wc_on_spell_cast_started + } + + if = { + limit = { + NOT = { spell_is_channeled_trigger = { SPELL = flag:$SPELL$ } } + } + wc_change_mana_by_value_effect = { # Remove mana + CHANGE = subtract + VALUE = wc_spell_$SPELL$_cost_mana_value + } + } + else = { + start_channeling_spell_effect = { + VALUE = wc_spell_$SPELL$_cost_mana_value + } + } + + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + NOT = { flag:$SPELL$ = flag:create_portal } + } + add_character_flag = { + flag = any_ritual_cd + days = wc_spell_cooldown_ritual_short + } + } + + + # Save Variables so when the event triggers they wont be lost + set_variable = { + name = $SPELL$_rank + value = $RANK$ + } + + if = { + limit = { + exists = var:spell_recipient + } + set_variable = { + name = $SPELL$_recipient + value = var:spell_recipient + } + } + + else_if = { + limit = { + has_variable_list = spell_targets_list + } + every_in_list = { + variable = spell_targets_list + save_scope_as = new_target + root = { + add_to_variable_list = { + name = $SPELL$_targets_list + target = scope:new_target + } + } + } + } + + if = { + limit = { has_variable = elemental_type } + set_variable = { + name = $SPELL$_type + value = var:elemental_type + } + } + + set_variable = { + name = $SPELL$_class + value = flag:$TYPE$ + } + + set_variable = { + name = $SPELL$_progress + value = 0 + } + + set_variable = { + name = $SPELL$_target_type + value = var:current_target_type + } + + if = { + limit = { + exists = var:original_recipient + } + set_variable = { + name = $SPELL$_original_recipient + value = var:original_recipient + } + } + + set_variable = { + name = $SPELL$_progress_percent + value = 0 + } + + set_variable = { + name = $SPELL$_progress_remaining + value = wc_spell_$SPELL$_cast_time_value + } + + if = { # start the loop if its not on already + limit = { + NOT = { exists = var:spell_loop_on } + } + trigger_event = { on_action = wc_on_spell_progression days = 1 } + } + + add_to_variable_list = { # add to loop + name = current_spells_casting + target = flag:$SPELL$ + } + + if = { # friendly fire warning + limit = { + spell_is_harmful_trigger = { + SPELL = flag:$SPELL$ + } + } + if = { + limit = { + var:current_target_type = flag:character + exists = var:spell_recipient + OR = { + AND = { + var:spell_recipient = root + NOT = { spell_is_harmful_trigger_not_self = { SPELL = flag:$SPELL$ } } + } + var:spell_recipient = { + is_vassal_or_below_of = root + } + } + } + custom_tooltip = friendly_fire_warning + } + } + + + if = { + limit = { + spell_is_helpful_trigger = { + SPELL = flag:$SPELL$ + } + spell_adds_opinion_trigger = { SPELL = flag:$SPELL$ } + } + + if = { + limit = { + var:current_target_type = flag:character + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + NOT = { + spell_is_harmful_trigger_not_self = { SPELL = flag:$SPELL$ } + spell_is_helpful_trigger_self = { SPELL = flag:$SPELL$ } + } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + var:spell_recipient = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:title + exists = var:spell_recipient.holder + NOT = { this = var:spell_recipient.holder } + NOT = { + spell_is_harmful_trigger_not_self = { SPELL = flag:$SPELL$ } + spell_is_helpful_trigger_self = { SPELL = flag:$SPELL$ } + } + } + if = { + limit = { + exists = var:spell_recipient.holder.liege + NOT = { var:spell_recipient.holder.liege = var:spell_recipient.holder } + NOT = { var:spell_recipient.holder.liege = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient.holder.liege = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + var:spell_recipient.holder.liege = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + else = { + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient.holder = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + var:spell_recipient.holder = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:character_list + has_variable_list = spell_targets_list + NOT = { + spell_is_harmful_trigger_not_self = { SPELL = flag:$SPELL$ } + spell_is_helpful_trigger_self = { SPELL = flag:$SPELL$ } + } + } + every_in_list = { + variable = spell_targets_list + save_scope_as = new_target + if = { + limit = { + NOT = { scope:new_target = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + scope:new_target = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:title_list + has_variable_list = spell_targets_list + NOT = { + spell_is_harmful_trigger_not_self = { SPELL = flag:$SPELL$ } + spell_is_helpful_trigger_self = { SPELL = flag:$SPELL$ } + } + } + every_in_list = { + variable = spell_targets_list + save_scope_as = new_target + if = { + limit = { + NOT = { scope:new_target.holder = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target.holder = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + scope:new_target.holder = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + if = { + limit = { + exists = scope:new_target.holder.liege + NOT = { scope:new_target.holder.liege = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target.holder.liege = { + add_opinion = { modifier = wc_casted_helpful_spell target = root opinion = 20 } + } + } + else = { + scope:new_target.holder.liege = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:friendly_army + } + if = { + limit = { + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + } + var:spell_recipient.army_commander = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + else_if = { # Both type of army + limit = { + var:current_target_type = flag:army + } + if = { + limit = { + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + } + if = { + limit = { + target_is_friendly_commander_trigger = { TARGET = var:spell_recipient } + } + var:spell_recipient.army_commander = { + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + } + } + } + + if = { + limit = { + spell_is_harmful_trigger = { SPELL = flag:$SPELL$ } + spell_adds_opinion_trigger = { SPELL = flag:$SPELL$ } + } + if = { + limit = { + var:current_target_type = flag:character + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + var:spell_recipient = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:title + exists = var:spell_recipient.holder + NOT = { this = var:spell_recipient.holder } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient.holder = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + var:spell_recipient.holder = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + if = { + limit = { + exists = var:spell_recipient.holder.liege + NOT = { var:spell_recipient.holder.liege = var:spell_recipient.holder } + NOT = { var:spell_recipient.holder.liege = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + var:spell_recipient.holder.liege = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + var:spell_recipient.holder.liege = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:character_list + has_variable_list = spell_targets_list + } + every_in_list = { + variable = spell_targets_list + save_scope_as = new_target + if = { + limit = { + NOT = { scope:new_target = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + scope:new_target = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:title_list + has_variable_list = spell_targets_list + } + every_in_list = { + variable = spell_targets_list + save_scope_as = new_target + if = { + limit = { + NOT = { scope:new_target.holder = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target.holder = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + scope:new_target.holder = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + if = { + limit = { + exists = scope:new_target.holder.liege + NOT = { scope:new_target.holder.liege = root } + } + if = { + limit = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + scope:new_target.holder.liege = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + else = { + scope:new_target.holder.liege = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:enemy_army + } + if = { + limit = { + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + } + var:spell_recipient.army_commander = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + else_if = { # Both type of army + limit = { + var:current_target_type = flag:army + } + if = { + limit = { + exists = var:spell_recipient + NOT = { this = var:spell_recipient } + } + if = { + limit = { + target_is_enemy_commander_trigger = { TARGET = var:spell_recipient } + } + var:spell_recipient.army_commander = { + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + } + } + } + } + + if = { limit = { flag:$TYPE$ = flag:none } } # error suppression +} + +spell_cast_effect_elemental = { + spell_cast_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +update_spell_cooldown_effect = { + if = { + limit = { + var:$SPELL$_cd > 0 + } + change_variable = { + name = $SPELL$_cd + add = -1 + } + set_variable = { + name = $SPELL$_cd_percent_first # for gui + value = { + add = 1 + add = { + value = { + add = var:$SPELL$_cd # e.g. 80 days left + divide = wc_spell_$SPELL$_cooldown_value # 80 / 120 = 0.66 left + multiply = -1 # 1 - 0.66 = 0.33 + } + } + multiply = 100 # 0.33 * 100 = 33% done, 66% remaning. + } + } + set_variable = { + name = $SPELL$_cd_percent + value = { + add = 100 + subtract = var:$SPELL$_cd_percent_first + } + } + remove_variable = $SPELL$_cd_percent_first + } + else = { + remove_variable = $SPELL$_cd + remove_variable = $SPELL$_cd_percent + remove_list_variable = { + name = spells_cd + target = flag:$SPELL$ + } + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:none } } # error suppression +} +update_spell_cooldown_effect_elemental = { + update_spell_cooldown_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +add_spell_progression_effect = { + if = { + limit = { + var:$SPELL$_progress < wc_spell_$SPELL$_cast_time_value + } + change_variable = { + name = $SPELL$_progress + add = 1 + } + set_variable = { + name = $SPELL$_progress_remaining + value = { + add = wc_spell_$SPELL$_cast_time_value + subtract = var:$SPELL$_progress + } + } + set_variable = { + name = $SPELL$_progress_percent + value = { + add = var:$SPELL$_progress + divide = wc_spell_$SPELL$_cast_time_value + multiply = 100 + } + } + } + else = { + remove_list_variable = { + name = current_spells_casting + target = flag:$SPELL$ + } + + set_variable = spell_complete + + set_variable = { + name = casted_spell + value = flag:$SPELL$ + } + + set_variable = { + name = casted_cost + value = var:$SPELL$_cost + } + + if = { + limit = { + exists = var:$SPELL$_recipient + } + set_variable = { + name = casted_recipient + value = var:$SPELL$_recipient + } + } + + if = { + limit = { + has_variable_list = $SPELL$_targets_list + } + every_in_list = { + variable = $SPELL$_targets_list + save_scope_as = new_target + root = { + add_to_variable_list = { + name = casted_targets_list + target = scope:new_target + } + } + } + } + + set_variable = { + name = casted_rank + value = var:$SPELL$_rank + } + + if = { + limit = { + exists = var:$SPELL$_type + } + set_variable = { + name = casted_type + value = var:$SPELL$_type + } + } + + set_variable = { + name = casted_target_type + value = var:$SPELL$_target_type + } + + if = { + limit = { + exists = var:$SPELL$_original_recipient + } + set_variable = { + name = casted_original_recipient + value = var:$SPELL$_original_recipient + } + } + + set_variable = { + name = casted_class + value = var:$SPELL$_class + } + + ## trigger on_action + trigger_event = { + on_action = wc_on_spell_cast_before_cast + } + + if = { + limit = { + has_variable = should_reflect + var:should_reflect = yes + } + if = { + limit = { + var:$SPELL$_target_type = flag:character + } + set_variable = { + name = $SPELL$_recipient + value = root + } + set_variable = { + name = casted_recipient + value = root + } + } + else_if = { + limit = { + var:$SPELL$_target_type = flag:character_list + } + add_to_variable_list = { + name = $SPELL$_targets_list + target = root + } + add_to_variable_list = { + name = casted_targets_list + target = root + } + } + } + + if = { + limit = { + has_variable_list = $SPELL$_targets_list + } + every_in_list = { + variable = $SPELL$_targets_list + if = { + limit = { + NOT = { + OR = { + NOT = { + has_variable = should_include + } + var:should_include = yes + } + } + } + save_scope_as = new_target + remove_list_variable = { name = $SPELL$_targets_list target = scope:new_target } + remove_list_variable = { name = casted_targets_list target = scope:new_target } + } + remove_variable = should_include + } + } + + if = { + limit = { + OR = { + NOT = { + has_variable = should_cast + } + var:should_cast = yes + } + } + remove_variable = should_cast + if = { + limit = { + spell_can_be_dodged_trigger = { SPELL = flag:$SPELL$ } + OR = { + spell_dodge_chance_high_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_normal_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_low_trigger = { SPELL = flag:$SPELL$ } + } + } + if = { + limit = { + var:$SPELL$_target_type = flag:character + } + spell_dodge_effect = { RECIPIENT = var:$SPELL$_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + else_if = { + limit = { + var:$SPELL$_target_type = flag:character_list + } + every_in_list = { + variable = $SPELL$_targets_list + save_scope_as = this_recipient + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + } + else_if = { + limit = { + var:$SPELL$_target_type = flag:title_list + } + every_in_list = { + variable = $SPELL$_targets_list + holder = { save_scope_as = this_recipient } + if = { + limit = { + scope:this_recipient = { is_independent_ruler = yes} + } + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = no } + } + else = { + spell_dodge_effect = { RECIPIENT = scope:this_recipient TYPE = $TYPE$ SPELL = $SPELL$ USE_LIEGE = yes } + } + } + } + } + else = { + # actually cast + spell_execute = { EFFECT = cast_$SPELL$_effect } + if = { + limit = { + spell_is_channeled_trigger = { SPELL = flag:$SPELL$ } + } + save_spell_channel_variables = { SPELL = $SPELL$ } + } + if = { # Chance to double cast if you have Evocation + limit = { + has_character_modifier = wc_evocation_character_modifier + NOT = { + spell_is_ritual_trigger = { SPELL = flag:$SPELL$ } + } + } + random_list = { + 50 = { + spell_execute = { EFFECT = cast_$SPELL$_effect } + } + 50 = { + + } + } + } + } + } + + #put the spell on cooldown + put_spell_on_cooldown_effect = { + SPELL = $SPELL$ + RANK = 1 + TYPE = $TYPE$ + } + + # Chance to expose secret + wc_expose_magic_effect = { MAGIC = $TYPE$ SPELL = $SPELL$ } + + ## trigger on_action + trigger_event = { + on_action = wc_on_spell_cast_finish + } + + if = { + limit = { + NOT = { spell_is_channeled_trigger = { SPELL = flag:$SPELL$ } } + } + clear_variable_list = $SPELL$_targets_list + remove_variable = $SPELL$_recipient + remove_variable = $SPELL$_target_type + remove_variable = $SPELL$_rank + } + + clear_variable_list = casted_targets_list + remove_variable = should_cast + remove_variable = should_reflect + remove_variable = $SPELL$_progress + remove_variable = $SPELL$_progress_percent + remove_variable = $SPELL$_progress_remaining + remove_variable = $SPELL$_type + remove_variable = $SPELL$_class + remove_variable = $SPELL$_original_recipient + remove_variable = elemental_favour_change + remove_variable = casted_rank + remove_variable = casted_type + remove_variable = casted_spell + remove_variable = casted_recipient + remove_variable = casted_class + remove_variable = casted_target_type + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:spoon } } # error suppression +} + +spell_dodge_effect = { + if = { + limit = { + spell_can_be_dodged_trigger = { SPELL = flag:$SPELL$ } + OR = { + spell_dodge_chance_high_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_normal_trigger = { SPELL = flag:$SPELL$ } + spell_dodge_chance_low_trigger = { SPELL = flag:$SPELL$ } + } + } + set_variable = { + name = spell_to_dodge + value = flag:$SPELL$ + } + if = { + limit = { + $USE_LIEGE$ = no + } + save_scope_value_as = { + name = spell_dodge_chance + value = $RECIPIENT$.wc_$TYPE$_magic_resistance_dodge_value + } + } + else = { + save_scope_value_as = { + name = spell_dodge_chance + value = $RECIPIENT$.wc_$TYPE$_magic_resistance_dodge_liege_value + } + } + $RECIPIENT$ = { save_scope_as = dodger } + random_list = { + 1 = { + modifier = { + add = { 45 60 } + spell_dodge_chance_high_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + add = { 60 75 } + spell_dodge_chance_normal_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + add = { 75 90 } + spell_dodge_chance_low_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + add = { 15 20 } + has_perk = shadow_magic_tree_1_perk_2 + OR = { + has_relation_rival = scope:dodger + has_relation_nemesis = scope:dodger + has_relation_potential_rival = scope:dodger + } + } + modifier = { + add = $TYPE$_magic_lifestyle_perks + always = yes + } + modifier = { + add = 10 + root = { + has_perk = elemental_water_magic_tree_2_perk_2 + location_has_winter_trigger = yes + OR = { + AND = { + flag:$TYPE$ = flag:death + has_trait = wc_lifestyle_elemental_water_decay_magic + } + AND = { + flag:$TYPE$ = flag:life + has_trait = wc_lifestyle_elemental_water_spirit_magic + } + } + } + } + spell_execute = { EFFECT = cast_$SPELL$_effect } + if = { # Chance to double cast if you have Evocation + limit = { + has_character_modifier = wc_evocation_character_modifier + NOT = { + spell_is_ritual_trigger = { SPELL = flag:$SPELL$ } + } + } + random_list = { + 50 = { + spell_execute = { EFFECT = cast_$SPELL$_effect } + } + 50 = { + + } + } + } + hidden_effect = { + root = { + send_interface_toast = { + title = wc_spell_hit + left_icon = scope:this_recipient + right_icon = root + custom_tooltip = wc_generic_hit_tt + } + } + } + } + 1 = { + modifier = { + add = { 40 55 } + spell_dodge_chance_high_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + add = { 25 40 } + spell_dodge_chance_normal_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + add = { 10 25 } + spell_dodge_chance_low_trigger = { SPELL = flag:$SPELL$ } + } + modifier = { + is_alive = yes + add = scope:spell_dodge_chance + } + modifier = { + add = -10 + AND = { + flag:$SPELL$ = flag:avenging_wrath + has_perk = light_magic_tree_2_perk_8 + } + } + get_resist_localization = { TYPE = $TYPE$ } + hidden_effect = { + root = { + send_interface_toast = { + title = wc_spell_dodged + left_icon = scope:this_recipient + right_icon = root + custom_tooltip = wc_generic_dodge_tt + } + } + } + } + } + } +} + +get_resist_localization = { + switch = { + trigger = flag:$TYPE$ + flag:order = { + custom_tooltip = wc_resist_tt_order + } + flag:disorder = { + custom_tooltip = wc_resist_tt_disorder + } + flag:life = { + custom_tooltip = wc_resist_tt_life + } + flag:death = { + custom_tooltip = wc_resist_tt_death + } + flag:light = { + custom_tooltip = wc_resist_tt_light + } + flag:shadow = { + custom_tooltip = wc_resist_tt_shadow + } + flag:elemental_fire = { + custom_tooltip = wc_resist_tt_elemental_fire + } + flag:elemental_water = { + custom_tooltip = wc_resist_tt_elemental_water + } + flag:elemental_earth = { + custom_tooltip = wc_resist_tt_elemental_earth + } + flag:elemental_air = { + custom_tooltip = wc_resist_tt_elemental_air + } + } +} + +add_spell_progression_effect_elemental = { + add_spell_progression_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } + if = { + limit = { # Change elemental disposition + has_variable = spell_complete + spell_is_elemental_trigger = { SPELL = flag:$SPELL$ } + OR = { + exists = var:$SPELL$_type + exists = var:elemental_type + } + } + if = { + limit = { + NOT = { + spell_is_ritual_trigger = { + SPELL = flag:$SPELL$ + } + } + } + save_scope_value_as = { + name = elemental_favour_change + value = { + add = wc_spell_$SPELL$_cost_mana_value + divide = 2 + } + } + } + else = { + save_scope_value_as = { + name = elemental_favour_change + value = { + add = wc_spell_$SPELL$_cost_mana_value + divide = 4 + } + } + } + + if = { + limit = { + OR = { + AND = { + exists = var:$SPELL$_type + var:$SPELL$_type = flag:spirit + } + AND = { + exists = var:elemental_type + var:elemental_type = flag:spirit + } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = $TYPE$ + CHANGE = add + VALUE = scope:elemental_favour_change + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:$SPELL$_type + var:$SPELL$_type = flag:decay + } + AND = { + exists = var:elemental_type + var:elemental_type = flag:decay + } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = $TYPE$ + CHANGE = subtract + VALUE = scope:elemental_favour_change + } + } + remove_variable = spell_complete + } + remove_variable = spell_complete +} + +wc_spell_death_maintenence_effect = { + set_variable = { + name = on_death_maint + value = yes + } + ### BURNOUT + clear_burnout_effect = yes + ### Ret aura + if = { + limit = { + any_close_or_extended_family_member = { + has_character_flag = wc_retribution_aura_flag + } + } + every_close_or_extended_family_member = { + limit = { + has_character_flag = wc_retribution_aura_flag + NOT = { has_character_modifier = wc_retribution_aura_modifier } + } + add_character_modifier = { + modifier = wc_retribution_aura_modifier + months = 6 + } + } + } + ### Final Stand + if = { + limit = { + has_perk = light_magic_tree_3_perk_8 + } + primary_heir ?= { + send_interface_message = { + title = fervor_gain_final_stand + final_stand_effect = yes + } + } + designated_heir ?= { + send_interface_message = { + title = fervor_gain_final_stand + final_stand_effect = yes + } + } + } + stop_spell_channeling_effect = yes +} + + +spell_execute = { + $EFFECT$ = yes +} + +magic_buff_maintenance_effect = { # Monthly Maint + if = { # referesh modifier + limit = { + has_character_modifier = wc_hearth_blessing_modifier + } + remove_character_modifier = wc_hearth_blessing_modifier + add_character_modifier = { + modifier = wc_hearth_blessing_modifier + } + } + if = { + limit = { + has_character_modifier = wc_diplo_range_from_mp_modifier + } + remove_character_modifier = wc_diplo_range_from_mp_modifier + } + add_character_modifier = { + modifier = wc_diplo_range_from_mp_modifier + } +} + +put_spell_on_cooldown_effect = { + if = { + limit = { + NOT = { + spell_on_cooldown_trigger = { + SPELL = flag:$SPELL$ + } + } + } + + add_to_variable_list = { + name = spells_cd + target = flag:$SPELL$ + } + + set_variable = { + name = $SPELL$_cd + value = wc_spell_$SPELL$_cooldown_value + } + + if = { + limit = { + has_character_flag = void_shield_flag + } + remove_character_flag = void_shield_flag + } + } + + if = { limit = { $RANK$ = 2 } } # error suppression + + if = { limit = { flag:$TYPE$ = flag:poop } } # error suppression +} + +put_spell_on_cooldown_effect_elemental = { + put_spell_on_cooldown_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +remove_spell_cooldown_effect = { + if = { + limit = { + has_variable = $SPELL$_cd + var:$SPELL$_cd > 0 + } + remove_variable = $SPELL$_cd + remove_variable = $SPELL$_cd_percent + remove_list_variable = { + name = spells_cd + target = flag:$SPELL$ + } + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:poop } } # error suppression +} + +remove_spell_cooldown_effect_elemental = { + remove_spell_cooldown_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +set_spell_secondary_interaction_effect = { + switch = { + trigger = $SPELL$ + + flag:fire_shield = { + if = { + limit = { + has_perk = order_magic_tree_4_perk_7 + } + set_variable = { name = current_secondary_interaction value = flag:wc_magic_fire_shield_interaction } + set_variable = { name = current_secondary_interaction_target value = root } + } + } + + flag:give_disease = { + set_variable = { name = current_secondary_interaction value = flag:wc_magic_give_disease_interaction } + set_variable = { name = current_secondary_interaction_target value = var:spell_recipient } + } + + flag:epidemic = { + set_variable = { name = current_secondary_interaction value = flag:wc_magic_epidemic_interaction } + set_variable = { name = current_secondary_interaction_target value = var:original_recipient } + } + + fallback = { remove_variable = current_secondary_interaction remove_variable = current_secondary_interaction_target } + } +} + +wc_halve_cooldown_effect = { + change_variable = { + name = $SPELL$_cd + multiply = 0.5 + } + + set_variable = { + name = $SPELL$_cd_percent # for gui + value = { + add = 1 + add = { + value = { + add = var:$SPELL$_cd # e.g. 80 days left + divide = wc_spell_$SPELL$_cooldown_value # 80 / 120 = 0.66 left + multiply = -1 # 1 - 0.66 = 0.33 + } + } + multiply = 100 # 0.33 * 100 = 33% done, 66% remaning. + } + } + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:poop } } # error suppression +} + +wc_halve_cooldown_effect_elemental = { + wc_halve_cooldown_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +wc_reverse_causality_effect = { + #put the spell on cooldown + put_spell_on_cooldown_effect = { + SPELL = $SPELL$ + RANK = 1 + TYPE = $TYPE$ + } + var:$SPELL$_cd = { + save_scope_as = duration + } + set_variable = { + name = reverse_causality_mult + value = { + add = { + value = var:$SPELL$_cd + divide = 365 + } + } + days = wc_current_spell_duration + } + if = { limit = { $RANK$ = 2 } } # error suppression +} + +wc_reverse_causality_effect_elemental = { + wc_reverse_causality_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +create_spell_types_effect = { + add_to_variable_list = { name = spell_types target = flag:light } + add_to_variable_list = { name = spell_types target = flag:shadow } + add_to_variable_list = { name = spell_types target = flag:life } + add_to_variable_list = { name = spell_types target = flag:death } + add_to_variable_list = { name = spell_types target = flag:order } + add_to_variable_list = { name = spell_types target = flag:disorder } + add_to_variable_list = { name = spell_types target = flag:elemental_earth } + add_to_variable_list = { name = spell_types target = flag:elemental_air } + add_to_variable_list = { name = spell_types target = flag:elemental_fire } + add_to_variable_list = { name = spell_types target = flag:elemental_water } +} + +get_top_spell_class_by_cast_effect = { + # this is so cringe yall + set_variable = { + name = first_place_spell_class + value = flag:none + } + set_variable = { + name = first_place_spell_class_count + value = 0 + } + if = { + limit = { + has_variable = elemental_fire_cast_count + } + set_variable = { + name = first_place_spell_class + value = flag:elemental_fire + } + set_variable = { + name = first_place_spell_class_count + value = var:elemental_fire_cast_count + } + } + if = { + limit = { + has_variable = elemental_water_cast_count + var:elemental_water_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:elemental_water + } + set_variable = { + name = first_place_spell_class_count + value = var:elemental_water_cast_count + } + } + if = { + limit = { + has_variable = elemental_air_cast_count + var:elemental_air_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:elemental_air + } + set_variable = { + name = first_place_spell_class_count + value = var:elemental_air_cast_count + } + } + if = { + limit = { + has_variable = elemental_earth_cast_count + var:elemental_earth_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:elemental_earth + } + set_variable = { + name = first_place_spell_class_count + value = var:elemental_earth_cast_count + } + } + if = { + limit = { + has_variable = life_cast_count + var:life_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:life + } + set_variable = { + name = first_place_spell_class_count + value = var:life_cast_count + } + } + if = { + limit = { + has_variable = death_cast_count + var:death_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:death + } + set_variable = { + name = first_place_spell_class_count + value = var:death_cast_count + } + } + if = { + limit = { + has_variable = order_cast_count + var:order_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:order + } + set_variable = { + name = first_place_spell_class_count + value = var:order_cast_count + } + } + if = { + limit = { + has_variable = disorder_cast_count + var:disorder_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:disorder + } + set_variable = { + name = first_place_spell_class_count + value = var:displace_cast_count + } + } + if = { + limit = { + has_variable = light_cast_count + var:light_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:light + } + set_variable = { + name = first_place_spell_class_count + value = var:light_cast_count + } + } + if = { + limit = { + has_variable = shadow_cast_count + var:shadow_cast_count > var:first_place_spell_class_count + } + set_variable = { + name = first_place_spell_class + value = flag:shadow + } + set_variable = { + name = first_place_spell_class_count + value = var:shadow_cast_count + } + } +} +## root is the caster +### upon finishing the spell cast, after setting cd and everything ### +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +record_magic_stats_effect = { + ### MAGIC STATS RECORDING ### + set_variable = { + name = last_spell_casted + value = var:casted_spell + } + + set_variable = { + name = last_spell_casted_class + value = var:casted_class + } + + if = { + limit = { + NOT = { has_variable = casts_completed } + } + set_variable = { name = casts_completed value = 0 } + } + change_variable = { name = casts_completed add = 1 } + + switch = { + trigger = var:casted_class + flag:elemental_fire = { + if = { + limit = { NOT = { has_variable = elemental_fire_cast_count } } + set_variable = { name = elemental_fire_cast_count value = 0 } + } + change_variable = { name = elemental_fire_cast_count add = 1 } + } + flag:elemental_water = { + if = { + limit = { NOT = { has_variable = elemental_water_cast_count } } + set_variable = { name = elemental_water_cast_count value = 0 } + } + change_variable = { name = elemental_water_cast_count add = 1 } + } + flag:elemental_air = { + if = { + limit = { NOT = { has_variable = elemental_air_cast_count } } + set_variable = { name = elemental_air_cast_count value = 0 } + } + change_variable = { name = elemental_air_cast_count add = 1 } + } + flag:elemental_earth = { + if = { + limit = { NOT = { has_variable = elemental_earth_cast_count } } + set_variable = { name = elemental_earth_cast_count value = 0 } + } + change_variable = { name = elemental_earth_cast_count add = 1 } + } + flag:disorder = { + if = { + limit = { NOT = { has_variable = disorder_cast_count } } + set_variable = { name = disorder_cast_count value = 0 } + } + change_variable = { name = disorder_cast_count add = 1 } + } + flag:order = { + if = { + limit = { NOT = { has_variable = order_cast_count } } + set_variable = { name = order_cast_count value = 0 } + } + change_variable = { name = order_cast_count add = 1 } + } + flag:life = { + if = { + limit = { NOT = { has_variable = life_cast_count } } + set_variable = { name = life_cast_count value = 0 } + } + change_variable = { name = life_cast_count add = 1 } + } + flag:death = { + if = { + limit = { NOT = { has_variable = death_cast_count } } + set_variable = { name = death_cast_count value = 0 } + } + change_variable = { name = death_cast_count add = 1 } + } + flag:light = { + if = { + limit = { NOT = { has_variable = light_cast_count } } + set_variable = { name = light_cast_count value = 0 } + } + change_variable = { name = light_cast_count add = 1 } + } + flag:shadow = { + if = { + limit = { NOT = { has_variable = shadow_cast_count } } + set_variable = { name = shadow_cast_count value = 0 } + } + change_variable = { name = shadow_cast_count add = 1 } + } + } + + execute_scoped_spell_effect = { + SPELL = var:casted_spell + EFFECT = record_spell_stats_effect + } + + get_top_spell_class_by_cast_effect = yes + + ### MAGIC STATS RECORDING ### +} +## root is the caster +### upon finishing the spell cast, after setting cd and everything ### +### Variable prefix: casted_ +### Variables: spell, recipient, targets_list (variable list), rank, type (for elemental type), class (spell class), target_type, cost +### e.g. var:casted_spell = flag:lava_lash +wc_on_spell_cast_finish_effect = { + # Send interface message to caster + send_interface_message = { + title = spell_cast_complete_title + custom_tooltip = spell_cast_complete_desc + } + + + if = { # automatically used + limit = { + has_character_modifier = wc_backdraft_proc_modifier + } + remove_character_modifier = wc_backdraft_proc_modifier + } + + if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:character + has_variable = casted_recipient + } + var:casted_recipient = { + save_scope_as = current_target_character + root = { + trigger_event = { + on_action = wc_on_spell_cast_finish_character + } + } + } + } + else_if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:character_list + has_variable = casted_targets_list + } + + every_in_list = { + variable = casted_targets_list + save_scope_as = current_target_character + root = { + trigger_event = { + on_action = wc_on_spell_cast_finish_character + } + } + } + } + else_if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:title + has_variable = casted_recipient + } + var:casted_recipient = { + save_scope_as = current_target_title + root = { + trigger_event = { + on_action = wc_on_spell_cast_finish_title + } + } + } + } + else_if = { + limit = { + has_variable = casted_target_type + var:casted_target_type = flag:title_list + has_variable = casted_targets_list + } + + every_in_list = { + variable = casted_targets_list + save_scope_as = current_target_title + root = { + trigger_event = { + on_action = wc_on_spell_cast_finish_title + } + } + } + } + + # Send interface message to target + if = { + limit = { + exists = var:casted_recipient + OR = { + var:casted_target_type = flag:army + var:casted_target_type = flag:friendly_army + var:casted_target_type = flag:enemy_army + } + NOT = { var:casted_recipient.army_owner = root } + } + var:casted_recipient.army_owner = { + save_temporary_scope_as = castee + } + scope:castee = { + root = { + save_temporary_scope_as = caster + } + set_variable = { + name = on_casted_spell + value = root.var:casted_spell + } + send_interface_message = { + title = spell_cast_on_you_title + custom_tooltip = spell_cast_on_you_desc + } + } + } + + ## PYROMANIA + if = { + limit = { + has_perk = elemental_fire_magic_tree_1_perk_2 + } + if = { + limit = { + var:casted_class = flag:elemental_fire + } + random_list = { + 75 = {} + 25 = { + send_interface_message = { + title = wc_pyromania_title + add_character_modifier = { + modifier = wc_pyromania_modifier + days = 365 + } + } + } + } + } + else_if = { + limit = { + has_character_modifier = wc_pyromania_modifier + } + # Remove modifier + send_interface_message = { + title = wc_pyromania_title_lost + remove_all_character_modifier_instances = wc_pyromania_modifier + } + } + } + + ## BURNOUT + clear_burnout_effect = yes + + # Burn caster when target has Fire Shield + if = { + limit = { + exists = var:casted_recipient + OR = { + var:casted_target_type = flag:army + var:casted_target_type = flag:friendly_army + var:casted_target_type = flag:enemy_army + } + NOT = { var:casted_recipient.army_owner = root } + NOT = { var:casted_recipient.army_commander = root } + var:casted_recipient.army_commander = { + has_character_modifier = wc_fire_shield_modifier + has_perk = order_magic_tree_4_perk_6 + } + spell_is_harmful_trigger = { + SPELL = var:casted_spell + } + } + + root = { + add_or_increase_burned_effect = { CASTER = root } + + send_interface_toast = { + title = wc_spell_reflected + left_icon = root + right_icon = var:casted_recipient + custom_tooltip = wc_fire_shield_reflect_tt + } + } + } + + # Frost Synergy and Icy Veins + if = { + limit = { + spell_is_arcane_frost = { + SPELL = var:casted_spell + } + } + + remove_character_flag = flame_synergy + + if = { + limit = { + has_perk = order_magic_tree_4_perk_5 + } + add_character_flag = frost_synergy + } + + if = { + limit = { + has_perk = order_magic_tree_5_perk_4 + NOT = { + var:casted_spell = flag:frostbolt + } + } + add_character_flag = icy_veins + } + else = { + remove_character_flag = icy_veins + } + } + else_if = { + limit = { + has_perk = order_magic_tree_5_perk_6 + spell_is_arcane_fire = { + SPELL = var:casted_spell + } + } + + add_character_flag = flame_synergy + } + + # Freeze time + if = { + limit = { + spell_is_arcane_chronomancy_trigger = { SPELL = var:casted_spell } + has_variable = freeze_time_mult + } + remove_variable = freeze_time_mult + } + + if = { + limit = { + var:casted_class = flag:order + has_perk = order_magic_tree_1_perk_4 + OR = { + has_perk = order_magic_tree_1_perk_7 + NOR = { + spell_is_arcane_frost = { + SPELL = var:casted_spell + } + spell_is_arcane_fire = { + SPELL = var:casted_spell + } + } + } + } + + add_character_modifier = { + modifier = wc_quickening_modifier + months = 1 + } + if = { + limit = { + NOT = { + has_variable = quickening_count + } + } + set_variable = { name = quickening_count value = 1 } + } + else = { + change_variable = { name = quickening_count add = 1 } + } + trigger_event = { + on_action = remove_quickening + months = 1 + } + } + + if = { + limit = { + var:casted_class = flag:light + has_perk = light_magic_tree_2_perk_4 + } + random_list = { + 90 = { } + 10 = { + send_interface_message = { + title = wc_seal_of_command_title + add_legitimacy = 10 + } + } + } + } + + # Hurricane + if = { + limit = { + has_perk = elemental_water_magic_tree_1_perk_2 + var:casted_class = flag:elemental_air + var:casted_target_type = flag:title + spell_target_title_subtype_province_trigger = { + SPELL = var:casted_spell + RANK_VALUE = var:casted_rank + } + } + set_variable = { + name = hurricane_target + value = var:casted_recipient + } + } + else_if = { + limit = { + has_variable = hurricane_target + var:casted_class = flag:elemental_water + var:casted_target_type = flag:title + spell_target_title_subtype_province_trigger = { + SPELL = var:casted_spell + RANK_VALUE = var:casted_rank + } + } + + remove_variable = hurricane_target + } +} + +cancel_cast_effect = { + remove_list_variable = { + name = current_spells_casting + target = flag:$SPELL$ + } + + set_variable = { + name = cancelled_spell + value = flag:$SPELL$ + } + + if = { + limit = { + exists = var:$SPELL$_recipient + } + set_variable = { + name = cancelled_recipient + value = var:$SPELL$_recipient + } + } + + if = { + limit = { + has_variable_list = $SPELL$_targets_list + } + every_in_list = { + variable = $SPELL$_targets_list + save_scope_as = new_target + root = { + add_to_variable_list = { + name = cancelled_targets_list + target = scope:new_target + } + } + } + } + + set_variable = { + name = cancelled_rank + value = var:$SPELL$_rank + } + + set_variable = { + name = cancelled_cost + value = var:$SPELL$_cost + } + + set_variable = { + name = cancelled_type + value = var:$SPELL$_type + } + + set_variable = { + name = cancelled_target_type + value = var:$SPELL$_target_type + } + + if = { + limit = { + exists = var:$SPELL$_original_recipient + } + set_variable = { + name = cancelled_original_recipient + value = var:$SPELL$_original_recipient + } + } + + set_variable = { + name = cancelled_class + value = var:$SPELL$_class + } + + # send interface message + send_interface_message = { + title = spell_cast_cancel_title + custom_tooltip = spell_cast_cancel_desc + } + + ## trigger on_action + trigger_event = { + on_action = wc_on_spell_cast_cancelled + } + + # remove vars + clear_variable_list = $SPELL$_targets_list + clear_variable_list = cancelled_targets_list + remove_variable = should_cast + remove_variable = $SPELL$_progress + remove_variable = $SPELL$_recipient + remove_variable = $SPELL$_rank + remove_variable = $SPELL$_cost + remove_variable = $SPELL$_progress_percent + remove_variable = $SPELL$_progress_remaining + remove_variable = $SPELL$_type + remove_variable = $SPELL$_class + remove_variable = $SPELL$_target_type + remove_variable = $SPELL$_original_recipient + remove_variable = cancelled_rank + remove_variable = cancelled_cost + remove_variable = cancelled_type + remove_variable = cancelled_spell + remove_variable = cancelled_recipient + remove_variable = cancelled_class + remove_variable = cancelled_target_type + + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:none } } # error suppression +} + +cancel_cast_effect_elemental = { + cancel_cast_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +# Prio for removing debuffs -> Magic Illness > Magic Injury > Major Illness > Major Injury > Illness > Injury +# Remove a magic disease +remove_magic_illness_effect = { + random_character_trait = { + limit = { + has_trait_flag = magic_illness + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_illness_effect = { + random_character_trait = { + limit = { + has_trait_flag = illness + NOT = { has_trait_flag = debilitating_illness } + NOT = { has_trait_flag = magic_illness } + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_major_illness_effect = { + random_character_trait = { + limit = { + has_trait_flag = debilitating_illness + NOT = { has_trait_flag = magic_illness } + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_physical_injury_effect = { + random_character_trait = { + limit = { + has_trait_flag = injury + NOT = { has_trait_flag = major_injury } + NOT = { has_trait_flag = magic_injury } + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_major_injury_effect = { + random_character_trait = { + limit = { + has_trait_flag = major_injury + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_magic_injury_effect = { + if = { + limit = { + $REDUCE_SEVERITY$ = yes + } + if = { + limit = { + has_trait = burned + } + change_trait_rank = { trait = burned rank = -1 } + } + else_if = { + limit = { + has_trait = frostbite + } + change_trait_rank = { trait = frostbite rank = -1 } + } + else = { + random_character_trait = { + limit = { + has_trait_flag = magic_injury + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + } + } + else = { + random_character_trait = { + limit = { + has_trait_flag = magic_injury + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + } + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_injury_effect = { + if = { + limit = { + $REDUCE_SEVERITY$ = yes + } + if = { + limit = { + has_trait = wounded + } + change_trait_rank = { trait = wounded rank = -1 } + } + else = { + random_character_trait = { + limit = { + has_trait_flag = injury + NOT = { has_trait_flag = major_injury } + NOT = { has_trait_flag = magic_injury } + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + } + } + else = { + random_character_trait = { + limit = { + has_trait_flag = injury + NOT = { has_trait_flag = major_injury } + NOT = { has_trait_flag = magic_injury } + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + } + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_psych_illness_effect = { + random_character_trait = { + limit = { + has_trait_flag = psych_illness + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} + +remove_poison_effect = { + random_character_trait = { + limit = { + has_trait_flag = poison + } + save_scope_as = target_trait + } + remove_trait = scope:target_trait + add_character_flag = { + flag = wc_recently_dispelled_flag + days = wc_spell_cooldown_dispel_personal_short + } +} +add_to_recently_casted_list_effect = { + if = { + limit = { + variable_list_size = { + name = recently_casted_targets + value > 15 + } + } + random_in_list = { + variable = recently_casted_targets + save_scope_as = to_delete + } + remove_list_variable = { + name = recently_casted_targets + target = scope:to_delete + } + remove_list_variable = { + name = reccomended_targets_list + target = scope:to_delete + } + } + add_to_variable_list = { + name = recently_casted_targets + target = $TARGET$ + } +} +get_reccomended_targets_list = { + var:current_spell_name = { save_scope_as = spell } + clear_variable_list = reccomended_targets_list + # Get current target + if = { + limit = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = root } + } + } + } + add_to_variable_list = { + name = reccomended_targets_list + target = root + } + } + + if = { + limit = { + has_variable = spell_recipient + } + if = { + limit = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = var:spell_recipient } + } + } + } + add_to_variable_list = { + name = reccomended_targets_list + target = var:spell_recipient + } + } + } + # Get recently casted targets + if = { + limit = { + any_in_list = { + list = recently_casted_targets + count >= 1 + } + } + every_in_list = { + list = recently_casted_targets + limit = { + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + } + # Get rivals/nemesis + if = { + limit = { + spell_is_harmful_trigger = { + SPELL = scope:spell + } + } + # Add all rivals/nemesis + every_relation = { + type = rival + limit = { + in_diplomatic_range_trigger = { target = root } + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + } + # Get all positive relations + if = { + limit = { + spell_is_helpful_trigger = { + SPELL = scope:spell + } + } + # Add all positive relations + every_relation = { + type = friend + limit = { + in_diplomatic_range_trigger = { target = root } + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + every_relation = { + type = lover + limit = { + in_diplomatic_range_trigger = { target = root } + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + } + # Add family + every_close_family_member = { + limit = { + in_diplomatic_range_trigger = { target = root } + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + every_extended_family_member = { + limit = { + in_diplomatic_range_trigger = { target = root } + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + # Add lieges + every_liege_or_above = { + save_scope_as = target + limit = { + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + # Add all courtiers + every_courtier = { + save_scope_as = target + limit = { + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } + # Add all vassals + every_vassal = { + limit = { + root = { + OR = { + NOT = { has_variable = eligible_only } + AND = { + has_variable = eligible_only + satisfy_spell_triggers_character_gui = { SPELL = var:current_spell_name TARGET = prev } + } + } + } + } + save_scope_as = target + root = { + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + } +} + +start_channeling_spell_effect = { + custom_description = { # Tooltip for changing elemental favour + text = wc_subtract_mana_regen_effect + value = $VALUE$ + if = { + limit = { + NOT = { has_variable = channeled_spells_mana_cost } + } + set_variable = { name = channeled_spells_mana_cost value = 0 } + } + change_variable = { name = channeled_spells_mana_cost subtract = $VALUE$ } + } +} + +start_channeling_spell_effect_elemental = { + start_channeling_spell_effect = { SPELL = $SPELL$ } +} + +cancel_channeling_spell_effect = { + if = { + limit = { + spell_is_channeled_trigger = { SPELL = flag:$SPELL$ } + } + set_variable = { + name = channeled_cast + value = flag:$SPELL$ + } + save_scope_value_as = { name = cancel value = yes } + cast_$SPELL$_effect = yes + if = { + limit = { + exists = var:$SPELL$_recipient + } + var:$SPELL$_recipient = { + remove_list_variable = { + name = being_channelled_by + target = root + } + } + } + else_if = { + limit = { + has_variable_list = $SPELL$_targets_list + } + every_in_list = { + variable = $SPELL$_targets_list + remove_list_variable = { + name = being_channelled_by + target = root + } + } + } + clear_variable_list = $SPELL$_targets_list + remove_variable = $SPELL$_recipient + remove_variable = $SPELL$_target_type + remove_variable = $SPELL$_rank + custom_description = { # Tooltip for changing elemental favour + text = wc_add_mana_regen_effect + value = wc_spell_$SPELL$_cost_mana_value + if = { + limit = { + NOT = { has_variable = channeled_spells_mana_cost } + } + set_variable = { name = channeled_spells_mana_cost value = 0 } + } + change_variable = { name = channeled_spells_mana_cost add = wc_spell_$SPELL$_cost_mana_value } + } + remove_list_variable = { + name = current_spells_channeling + target = flag:$SPELL$ + } + + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:spoon } } # error suppression + } +} + +cancel_channeling_spell_effect_elemental = { + cancel_channeling_spell_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +save_spell_channel_variables = { + add_to_variable_list = { + name = current_spells_channeling + target = flag:$SPELL$ + } + if = { + limit = { + exists = var:$SPELL$_recipient + } + var:$SPELL$_recipient = { + add_to_variable_list = { + name = being_channelled_by + target = root + } + } + } + else_if = { + limit = { + has_variable_list = $SPELL$_targets_list + } + every_in_list = { + variable = $SPELL$_targets_list + add_to_variable_list = { + name = being_channelled_by + target = root + } + } + } +} + +cancel_spell_with_recipient_effect = { + if = { + limit = { + var:$SPELL$_recipient ?= scope:dead_recipient + } + send_interface_message = { + title = wc_channeled_spell_invalid + custom_tooltip = wc_channeled_spell_invalid_tt + cancel_channeling_spell_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } + } + } + else_if = { + limit = { + any_in_list = { + list = $SPELL$_targets_list + this = scope:dead_recipient + } + } + send_interface_message = { + title = wc_channeled_spell_invalid + custom_tooltip = wc_channeled_spell_invalid_tt + cancel_channeling_spell_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } + } + } + remove_variable = channeled_cast + if = { limit = { $RANK$ = 2 } } # error suppression + if = { limit = { flag:$TYPE$ = flag:spoon } } # error suppression +} + +cancel_spell_with_recipient_effect_elemental = { + cancel_spell_with_recipient_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +stop_spell_channeling_effect = { + ### Stop Spell Channeling + if = { + limit = { + any_in_list = { + variable = being_channelled_by + is_alive = yes + count >= 1 + } + } + save_scope_as = dead_recipient + every_in_list = { + variable = being_channelled_by + limit = { + is_alive = yes + } + save_scope_as = caster + every_in_list = { + variable = current_spells_channeling + save_scope_as = this_spell + scope:caster = { + execute_scoped_spell_effect = { + SPELL = scope:this_spell + EFFECT = cancel_spell_with_recipient_effect + } + } + } + } + } +} +wc_spell_title_destruction_effect = { + stop_spell_channeling_effect = yes +} + +cancel_channeled_spells_effect = { + if = { + limit = { + any_in_list = { + variable = current_spells_channeling + count >= 1 + } + } + every_in_list = { + variable = current_spells_channeling + save_scope_as = this_spell + root = { + send_interface_message = { + title = wc_channeled_spell_invalid + custom_tooltip = wc_channeled_spell_no_mana_tt + execute_scoped_spell_effect = { + SPELL = scope:this_spell + EFFECT = cancel_channeling_spell_effect + } + } + } + } + remove_variable = channeled_cast + } +} + +get_recipient_effect = { + if = { + limit = { exists = var:$SPELL$_recipient } + var:$SPELL$_recipient = { + save_temporary_scope_as = this_recipient + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:$SPELL$ + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient = { + save_temporary_scope_as = this_recipient + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_elemental_air_effects.txt b/common/scripted_effects/wc_magic_elemental_air_effects.txt new file mode 100644 index 0000000000..65a8ea6d67 --- /dev/null +++ b/common/scripted_effects/wc_magic_elemental_air_effects.txt @@ -0,0 +1,3 @@ +init_elemental_air_spells_effect = { + +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_elemental_earth_effects.txt b/common/scripted_effects/wc_magic_elemental_earth_effects.txt new file mode 100644 index 0000000000..063b891a1a --- /dev/null +++ b/common/scripted_effects/wc_magic_elemental_earth_effects.txt @@ -0,0 +1,3 @@ +init_elemental_earth_spells_effect = { + +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_elemental_event_effects.txt b/common/scripted_effects/wc_magic_elemental_event_effects.txt new file mode 100644 index 0000000000..060bed4a3d --- /dev/null +++ b/common/scripted_effects/wc_magic_elemental_event_effects.txt @@ -0,0 +1,116 @@ +###################################### +# Helper Functions +###################################### + +# duration to next effect is weighted by proficiency in the relevant magic type +planar_journey_route_effect = { + add_character_flag = { + flag = wc_ritual_$PLANE$_plane_$MAGIC$_buffs + days = 400 + } + random_list = { + 5 = { + custom_tooltip = wc_ritual_journey_swift + modifier = { + OR = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value > 1 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value > 1 } + } + add = 5 + } + modifier = { + OR = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value > 9 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value > 9 } + } + add = 5 + } + if = { limit = { flag:$PLANE$ = flag:fire } + if = { limit = { flag:$QUEST$ = flag:spirit } + trigger_event = { + id = wc_elemental_ritual_events.1120 + days = {7 14} + } + } + else = { + trigger_event = { + id = wc_elemental_ritual_events.1620 + days = {7 14} + } + } + } + } + 10 = { + custom_tooltip = wc_ritual_journey_fast + modifier = { + OR = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value > 1 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value > 1 } + } + add = 15 + } + if = { limit = { flag:$PLANE$ = flag:fire } + if = { limit = { flag:$QUEST$ = flag:spirit } + trigger_event = { + id = wc_elemental_ritual_events.1120 + days = {21 60} + } + } + else = { + trigger_event = { + id = wc_elemental_ritual_events.1620 + days = {21 60} + } + } + } + } + 10 = { + custom_tooltip = wc_ritual_journey_normal + modifier = { + OR = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value > 1 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value > 1 } + } + add = 5 + } + if = { limit = { flag:$PLANE$ = flag:fire } + if = { limit = { flag:$QUEST$ = flag:spirit } + trigger_event = { + id = wc_elemental_ritual_events.1120 + days = {60 90} + } + } + else = { + trigger_event = { + id = wc_elemental_ritual_events.1620 + days = {60 90} + } + } + } + } + 25 = { + custom_tooltip = wc_ritual_journey_slow + modifier = { + OR = { + perks_in_tree = { tree = $MAGIC$_magic_tree_1 value > 1 } + perks_in_tree = { tree = $MAGIC$_magic_tree_2 value > 1 } + } + add = -20 + } + if = { limit = { flag:$PLANE$ = flag:fire } + if = { limit = { flag:$QUEST$ = flag:spirit } + trigger_event = { + id = wc_elemental_ritual_events.1120 + days = {90 120} + } + } + else = { + trigger_event = { + id = wc_elemental_ritual_events.1620 + days = {90 120} + } + } + } + } + } +} diff --git a/common/scripted_effects/wc_magic_elemental_fire_effects.txt b/common/scripted_effects/wc_magic_elemental_fire_effects.txt new file mode 100644 index 0000000000..2ac731c608 --- /dev/null +++ b/common/scripted_effects/wc_magic_elemental_fire_effects.txt @@ -0,0 +1,841 @@ +init_elemental_fire_spells_effect = { + add_to_global_variable_list = { name = elemental_fire_spells target = flag:summon_fire_elemental } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:lava_lash } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:backdraft } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:flame_wall } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:flame_shock } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:burnout } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:planar_fire } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:cauterize_wound } + add_to_global_variable_list = { name = elemental_fire_spells target = flag:vernal_solstice } +} + +add_or_increase_burned_effect = { + if = { + limit = { + has_trait_rank = { + trait = burned + rank < 3 + } + } + change_trait_rank = { trait = burned rank = 1 max = 3 } + } + else_if = { #Using an if because this needs to never go wrong + limit = { + has_trait_rank = { + trait = burned + rank = 3 + } + } + if = { + limit = { + NOT = { $CASTER$ = none } + } + override_death_killer_effect = { + death_reason = death_burned_magic + killer = $CASTER$ + } + } + } +} + +cast_summon_fire_elemental_effect = { + if = { + limit = { exists = var:summon_fire_elemental_recipient } + + if = { + limit = { + exists = var:summon_fire_elemental_original_recipient + } + + var:summon_fire_elemental_original_recipient = { + save_scope_as = character_recipient + } + var:summon_fire_elemental_recipient = { + save_scope_as = title_recipient + } + } + else = { + var:summon_fire_elemental_recipient = { + save_temporary_scope_as = character_recipient + } + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:summon_fire_elemental + exists = var:spellbook_open + exists = var:spell_recipient + } + + if = { + limit = { + exists = var:original_recipient + } + + var:original_recipient = { + save_scope_as = character_recipient + } + var:spell_recipient = { + save_scope_as = title_recipient + } + } + else = { + var:spell_recipient = { + save_temporary_scope_as = character_recipient + } + } + } + + if = { + limit = { + exists = scope:character_recipient + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:summon_fire_elemental_rank + var:summon_fire_elemental_rank >= 1 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank >= 1 + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_summon_fire_elemental_duration_days_value + } + } + scope:character_recipient = { + add_character_modifier = { + modifier = wc_summon_fire_elemental_modifier + days = wc_current_spell_duration + } + } + + if = { + limit = { + OR = { + AND = { + exists = var:summon_fire_elemental_rank + var:summon_fire_elemental_rank >= 2 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank >= 2 + } + } + } + scope:character_recipient = { + scope:character_recipient = { + add_character_flag = { + flag = has_water_elemental_maa + days = 735 + } + + spawn_army = { + uses_supply = no + inheritable = yes + name = summoned_fire_elemental + men_at_arms = { + type = fire_elemental + stacks = 1 + } + location = scope:title_recipient.title_province + } + } + } + if = { + limit = { + OR = { + AND = { + exists = var:summon_fire_elemental_rank + var:summon_fire_elemental_rank = 3 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 3 + } + } + } + + scope:character_recipient = { + add_character_modifier = { + modifier = wc_empowered_fire_elemental_modifier + days = wc_current_spell_duration + } + } + } + } + } +} + +cast_lava_lash_effect = { + get_recipient_effect = { SPELL = lava_lash } + + if = { + limit = { + exists = scope:this_recipient + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_lava_lash_duration_days_value + } + } + scope:this_recipient.title_province = { + add_province_modifier = { + modifier = wc_lava_lash_modifier + days = wc_current_spell_duration + } + if = { # counting stacks + limit = { + has_variable = lava_lash + } + set_variable = { + name = lava_lash_2 + value = 1 + days = wc_current_spell_duration + } + } + else_if = { + limit = { + has_variable = lava_lash_2 + } + set_variable = { + name = lava_lash_3 + value = 1 + days = wc_current_spell_duration + } + } + else = { + set_variable = { + name = lava_lash + value = 1 + days = wc_current_spell_duration + } + } + } + hidden_effect = { + if = { + limit = { # empowered perk + has_perk = elemental_fire_magic_tree_2_perk_7 + } + random_list = { + 70 = { + # nothing + } + 30 = { + root = { + send_interface_message = { + title = wc_lava_lash_empowered + + scope:this_recipient.title_province = { + random_neighboring_province = { + limit = { + exists = county + has_holding = yes + } + add_province_modifier = { + modifier = wc_lava_lash_modifier + days = wc_current_spell_duration + } + save_temporary_scope_as = lava_lash_spread + custom_tooltip = wc_lava_lash_empowered_desc + } + } + } + } + } + } + } + } + } +} + +cast_backdraft_effect = { + get_recipient_effect = { SPELL = backdraft } + + if = { + limit = { + exists = scope:this_recipient + } + scope:this_recipient = { + custom_tooltip = wc_backdraft_tt + set_variable = { + name = backdraft_monitor + value = root + } + } + # Add to root scope to monitor + add_to_variable_list = { + name = backdraft_observer_list + target = scope:this_recipient + } + } + + if = { + limit = { has_variable_list = backdraft_targets_list } + backdraft_multiple_effect = { LIST = backdraft_targets_list RANK = backdraft } + } + else_if = { + limit = { has_variable_list = spell_targets_list } + backdraft_multiple_effect = { LIST = spell_targets_list RANK = current_spell } + } +} + +backdraft_multiple_effect = { + if = { + limit = { + has_variable_list = $LIST$ + var:$RANK$_rank = 2 + } + every_in_list = { + variable = $LIST$ + save_scope_as = this_recipient + scope:this_recipient = { + custom_tooltip = wc_backdraft_tt + set_variable = { + name = backdraft_monitor + value = root + } + } + root = { + # Add to root scope to monitor + add_to_variable_list = { + name = backdraft_observer_list + target = scope:this_recipient + } + } + } + } + else_if = { + limit = { + has_variable_list = $LIST$ + var:$RANK$_rank = 3 + } + every_in_list = { + variable = $LIST$ + save_scope_as = this_recipient + scope:this_recipient = { + custom_tooltip = wc_backdraft_tt + set_variable = { + name = backdraft_monitor + value = root + } + } + root = { + # Add to root scope to monitor + add_to_variable_list = { + name = backdraft_observer_list + target = scope:this_recipient + } + } + } + } +} + +backdraft_proc_effect = { + send_interface_message = { + title = backdraft_proc_title + if = { + limit = { + wc_current_mana_percent_value < 0.9 + } + wc_change_mana_by_value_effect = { # add mana + CHANGE = add + VALUE = wc_spell_$SPELL$_cost_mana_value + } + } + else = { + add_character_modifier = { + modifier = wc_backdraft_proc_modifier + days = 180 + } + } + } + + if = { limit = { $RANK$ = 1 }} # error supress + if = { limit = { flag:$TYPE$ = flag:poop }} # error supress +} + +backdraft_check_effect = { + ## BACKDRAFT + if = { + limit = { + OR = { # is it the required spell type + var:casted_class = flag:elemental_fire + var:casted_class = flag:elemental_earth + var:casted_class = flag:elemental_water + var:casted_class = flag:elemental_air + var:casted_class = flag:disorder + var:casted_class = flag:order + } + # The spell is not backdraft itself + NOT = { var:casted_spell = flag:backdraft } + } + # If a barony has backdraft, and also it's county, it will remove from the barony first. + if = { + limit = { # If the title itself has backdraft BARONY or COUNTY + scope:current_target_title = { + has_variable = backdraft_monitor + } + } + scope:current_target_title = { + var:backdraft_monitor = { + execute_scoped_spell_effect = { + SPELL = root.var:casted_spell + EFFECT = backdraft_proc_effect + } + remove_list_variable = { + name = backdraft_observer_list + target = scope:current_target_title + } + } + remove_variable = backdraft_monitor + } + } + else_if = { # If a county has backdraft, but the barony is the target DOES not have it + limit = { + scope:current_target_title = { + tier = tier_barony + } + scope:current_target_title.county = { + has_variable = backdraft_monitor + } + } + scope:current_target_title.county = { + var:backdraft_monitor = { + execute_scoped_spell_effect = { + SPELL = root.var:casted_spell + EFFECT = backdraft_proc_effect + } + remove_list_variable = { + name = backdraft_observer_list + target = scope:current_target_title.county + } + } + remove_variable = backdraft_monitor + } + } + } +} + +backdraft_proc_effect_elemental = { + backdraft_proc_effect = { SPELL = $SPELL$ RANK = $RANK$ TYPE = $TYPE$ } +} + +animate_rage_effect = { + $ARTIFACT$ = { + save_scope_as = dead_artifact + } + # Current Conversions + # per 20% durability, 1 prowess, dread + 5% hostile scheme sucess chance + scope:dead_artifact = { + root = { + set_variable = { + name = artifact_dur_percent + value = prev.artifact_durability_percent_rounded + days = 5 + } + change_variable = { + name = artifact_dur_percent + multiply = 100 + } + } + } + send_interface_toast = { + title = animate_rage_complete + while = { + count = { + value = var:artifact_dur_percent + divide = 20 + } + add_character_modifier = { + modifier = wc_animate_rage_modifier + } + } + add_character_flag = { + flag = animate_rage_cooldown + days = 3650 + } + } +} + +cast_flame_wall_effect = { + get_recipient_effect = { SPELL = flame_wall } + # need to determine good or bad + if = { + limit = { + exists = scope:this_recipient + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_flame_wall_duration_days_value + } + } + if = { + limit = { + OR = { + any_war_ally = { + any_army = { + army_commander = scope:this_recipient.army_commander + } + } + scope:this_recipient.army_commander.top_liege = root # TODO: Frostfire Bolt + scope:this_recipient.army_commander.liege = root + scope:this_recipient.army_commander = root + } + } + scope:this_recipient.army_commander = { + add_character_modifier = { + modifier = wc_flame_wall_good_modifier + days = wc_current_spell_duration + } + if = { + limit = { + NOT = { this = root } + } + add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + scope:this_recipient = { + custom_tooltip = wc_flame_wall_tt + set_variable = { + name = flame_wall_remainder + value = scope:this_recipient.army_commander + days = wc_current_spell_duration + } + } + } + else_if = { + limit = { + any_war_enemy = { + any_army = { + army_commander = scope:this_recipient.army_commander + } + } + } + scope:this_recipient.army_commander = { + add_character_modifier = { + modifier = wc_flame_wall_bad_modifier + days = wc_current_spell_duration + } + add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + scope:this_recipient = { + custom_tooltip = wc_flame_wall_tt + set_variable = { + name = flame_wall_remainder + value = scope:this_recipient.army_commander + days = wc_current_spell_duration + } + } + } + } +} + +cast_flame_shock_effect = { + get_recipient_effect = { SPELL = flame_shock } + + scope:this_recipient = { + if = { + limit = { + any_knight = { + count > 0 + } + } + ordered_knight = { # cannot do a random knight because tooltip and effect will differ. + order_by = { # so u can kill weakest knight first + value = prowess + multiply = -1 + } + save_scope_as = target_knight + burned_target_frostbite_modifier = { TARGET = this CHANGE = add } + add_or_increase_burned_effect = { CASTER = root } + add_opinion = { + modifier = wc_burned_me + target = root + } + } + } + } +} + +cast_burnout_effect = { + get_recipient_effect = { SPELL = burnout } + scope:this_recipient = { + custom_tooltip = wc_burnout_tt + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_burnout_duration_days_value + } + } + add_character_modifier = { + modifier = wc_burnout_modifier + days = wc_current_spell_duration + } + set_variable = { # Start tracking + name = burnout_count + value = 0 + } + set_variable = { + name = burnout_owner + value = root + } + } + add_character_modifier = { + modifier = wc_burnout_good_modifier + days = wc_current_spell_duration + } + set_variable = { + name = burnout_count + value = 0 + } + set_variable = { + name = burnout_victim + value = scope:this_recipient + } + if = { + limit = { + has_perk = elemental_fire_magic_tree_1_perk_7 # Better Bruniut + } + random_list = { + 80 = { + burned_target_frostbite_modifier = { TARGET = var:casted_recipient CHANGE = subtract } + } + 20 = { + burned_target_frostbite_modifier = { TARGET = scope:this_recipient CHANGE = add } + scope:this_recipient = { + add_or_increase_burned_effect = { CASTER = root } + } + } + } + } +} + +clear_burnout_effect = { + save_scope_as = this_burnout + if = { + limit = { # root is target of a burnout spell + has_variable = burnout_owner + } + + var:burnout_owner = { + save_scope_as = burnout_target + } + if = { + limit = { # time to remove variable then + OR = { + has_variable = on_death_maint + NOT = { has_character_modifier = wc_burnout_modifier } + } + } + scope:burnout_target = { + remove_variable = burnout_count + remove_variable = burnout_victim + send_interface_message = { + title = wc_burnout_triggered + remove_character_modifier = wc_burnout_good_modifier + if = { + limit = { + root = { + has_variable = on_death_maint + } + } + custom_tooltip = wc_burnout_remove_death + } + else = { + custom_tooltip = wc_burnout_remove_time + } + } + } + remove_variable = burnout_count + remove_variable = burnout_owner + } + else = { # add to current burnout + change_variable = { + name = burnout_count + add = 1 + } + scope:burnout_target = { + change_variable = { + name = burnout_count + add = 1 + } + } + } + } + else_if = { # root has a burnout target + limit = { + has_variable = burnout_victim + } + var:burnout_victim = { + save_scope_as = burnout_target + } + if = { + limit = { # time to remove variable then + OR = { + has_variable = on_death_maint + scope:burnout_target = { NOT = { has_character_modifier = wc_burnout_modifier } } + } + } + scope:burnout_target = { + remove_variable = burnout_count + remove_variable = burnout_owner + send_interface_message = { + title = wc_burnout_triggered + if = { + limit = { + has_character_modifier = wc_burnout_modifier + } + remove_character_modifier = wc_burnout_modifier + } + if = { + limit = { + root = { + has_variable = on_death_maint + } + } + custom_tooltip = wc_burnout_remove_death + } + else = { + custom_tooltip = wc_burnout_remove_time + } + } + } + remove_variable = burnout_count + remove_variable = burnout_victim + } + } +} + +cast_planar_fire_effect = { + if = { + limit = { + has_variable = elemental_type + exists = var:spellbook_open + var:elemental_type = flag:spirit + } + save_scope_value_as = { + name = this_spell_type + value = flag:spirit + } + } + else_if = { + limit = { + has_variable = elemental_type + exists = var:spellbook_open + var:elemental_type = flag:decay + } + save_scope_value_as = { + name = this_spell_type + value = flag:decay + } + } + else_if = { + limit = { + has_variable = planar_fire_type + var:planar_fire_type = flag:spirit + } + save_scope_value_as = { + name = this_spell_type + value = flag:spirit + } + } + else_if = { + limit = { + has_variable = planar_fire_type + var:planar_fire_type = flag:decay + } + save_scope_value_as = { + name = this_spell_type + value = flag:decay + } + } + + else = { + custom_tooltip = select_elemental_type + } + + switch = { + trigger = scope:this_spell_type + flag:spirit = { + trigger_event = { + id = wc_elemental_ritual_events.1001 + days = 3 + } + custom_tooltip = planar_fire_spirit + } + flag:decay = { + trigger_event = { + id = wc_elemental_ritual_events.1501 + days = 3 + } + custom_tooltip = planar_fire_decay + } + } +} + +cast_cauterize_wound_effect = { + get_recipient_effect = { SPELL = cauterize_wound } + scope:this_recipient = { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_cauterize_wound_duration_days_value + } + } + add_character_modifier = { + modifier = wc_cauterized_wound_modifier + days = wc_current_spell_duration + } + if = { + limit = { + root = { + has_perk = elemental_fire_magic_tree_1_perk_8 + } + } + hidden_effect = { + random_list = { # TODO: 100% chance of removal, and then re-adding it once the modifier is removed? + 80 = { } + 20 = { + random_character_trait = { + limit = { + has_trait_flag = injury + } + scope:this_recipient = { remove_trait = prev } + } + } + } + } + } + } +} + +cast_vernal_solstice_effect = { + get_recipient_effect = { SPELL = vernal_solstice } + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_vernal_solstice_duration_days_value + } + } + every_de_jure_county = { + add_county_modifier = { + modifier = wc_vernal_solstice_modifier + days = wc_current_spell_duration + } + add_county_modifier = { + modifier = wc_vernal_solstice_cooldown_modifier + years = 15 + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_elemental_water_effects.txt b/common/scripted_effects/wc_magic_elemental_water_effects.txt new file mode 100644 index 0000000000..634ab9951b --- /dev/null +++ b/common/scripted_effects/wc_magic_elemental_water_effects.txt @@ -0,0 +1,591 @@ +init_elemental_water_spells_effect = { + add_to_global_variable_list = { name = elemental_water_spells target = flag:summon_water_elemental } + add_to_global_variable_list = { name = elemental_water_spells target = flag:soothing_waters } + add_to_global_variable_list = { name = elemental_water_spells target = flag:river_spirits_rage } + add_to_global_variable_list = { name = elemental_water_spells target = flag:invoke_tsunami } + add_to_global_variable_list = { name = elemental_water_spells target = flag:frost_shock } + add_to_global_variable_list = { name = elemental_water_spells target = flag:icefury } + add_to_global_variable_list = { name = elemental_water_spells target = flag:ice_structure } + add_to_global_variable_list = { name = elemental_water_spells target = flag:eternal_winter } +} + +add_or_increase_frostbite_effect = { + if = { + limit = { + has_trait_rank = { + trait = frostbite + rank < 3 + } + } + change_trait_rank = { trait = frostbite rank = 1 max = 3 } + } + else_if = { #Using an if because this needs to never go wrong + limit = { + has_trait_rank = { + trait = frostbite + rank = 3 + } + } + if = { + limit = { + NOT = { $CASTER$ = none } + } + override_death_killer_effect = { + death_reason = death_frostbite_magic + killer = $CASTER$ + } + } + } +} + +cast_summon_water_elemental_effect = { + if = { + limit = { exists = var:summon_water_elemental_recipient } + + if = { + limit = { + exists = var:summon_water_elemental_original_recipient + } + + var:summon_water_elemental_original_recipient = { + save_scope_as = character_recipient + } + var:summon_water_elemental_recipient = { + save_scope_as = title_recipient + } + } + else = { + var:summon_water_elemental_recipient = { + save_temporary_scope_as = character_recipient + } + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:summon_water_elemental + exists = var:spellbook_open + exists = var:spell_recipient + } + + if = { + limit = { + exists = var:original_recipient + } + + var:original_recipient = { + save_scope_as = character_recipient + } + var:spell_recipient = { + save_scope_as = title_recipient + } + } + else = { + var:spell_recipient = { + save_temporary_scope_as = character_recipient + } + } + } + + if = { + limit = { + exists = scope:character_recipient + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:summon_water_elemental_rank + var:summon_water_elemental_rank >= 1 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank >= 1 + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_summon_water_elemental_duration_days_value + } + } + scope:character_recipient = { + add_character_modifier = { + modifier = wc_summon_water_elemental_modifier + days = wc_current_spell_duration + } + } + + if = { + limit = { + OR = { + AND = { + exists = var:summon_water_elemental_rank + var:summon_water_elemental_rank >= 2 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank >= 2 + } + } + } + scope:character_recipient = { + add_character_flag = { + flag = has_water_elemental_maa + days = 735 + } + + spawn_army = { + uses_supply = no + inheritable = yes + name = summoned_water_elemental + men_at_arms = { + type = water_elemental + stacks = 1 + } + location = scope:title_recipient.title_province + } + } + if = { + limit = { + OR = { + AND = { + exists = var:summon_water_elemental_rank + var:summon_water_elemental_rank = 3 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 3 + } + } + } + + scope:character_recipient = { + add_character_modifier = { + modifier = wc_empowered_water_elemental_modifier + days = wc_current_spell_duration + } + } + } + } + } +} + +cast_soothing_waters_effect = { + get_recipient_effect = { SPELL = soothing_waters } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_soothing_waters_duration_days_value + } + } + add_character_modifier = { + modifier = wc_soothing_waters_modifier + days = wc_current_spell_duration + } + } +} + +cast_river_spirits_rage_effect = { + if = { + limit = { exists = var:river_spirits_rage_recipient } + var:river_spirits_rage_recipient = { + save_temporary_scope_as = this_recipient + } + var:river_spirits_rage_rank = { + save_temporary_scope_as = this_rank + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:river_spirits_rage + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient = { + save_temporary_scope_as = this_recipient + } + var:current_spell_rank = { + save_temporary_scope_as = this_rank + } + } + + scope:this_recipient ?= { + if = { + limit = { + exists = scope:this_rank + scope:this_rank < 3 + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_river_spirits_rage_duration_days_value + } + } + add_character_modifier = { + modifier = wc_river_spirits_rage_character_modifier + days = wc_current_spell_duration + } + + if = { + limit = { + root = { + has_perk = elemental_water_magic_tree_1_perk_7 + } + } + add_character_modifier = { + modifier = wc_sirens_call_modifier + days = wc_current_spell_duration + } + } + } + + if = { + limit = { + exists = scope:this_rank + scope:this_rank = 2 + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_river_spirits_rage_duration_days_value + } + } + add_character_modifier = { + modifier = wc_river_spirits_rage_character_modifier + days = wc_current_spell_duration + } + } + + if = { + limit = { + exists = scope:this_rank + scope:this_rank = 3 + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_river_spirits_rage_duration_days_value + } + } + army_commander = { + add_character_modifier = { + modifier = wc_river_spirits_rage_army_modifier + days = wc_current_spell_duration + } + } + set_variable = { + name = river_spirits_rage_remainder + days = wc_current_spell_duration + } + } + } +} + +cast_invoke_tsunami_effect = { + get_recipient_effect = { SPELL = invoke_tsunami } + + scope:this_recipient.title_province ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_invoke_tsunami_duration_days_value + } + } + add_to_list = targets + invoke_tsunami_select_targets = yes + + every_in_list = { + list = targets + + county = { + add_to_list = target_counties + } + + add_province_modifier = { + modifier = wc_invoke_tsunami_modifier + days = wc_current_spell_duration + } + } + + every_in_list = { + list = target_counties + + change_development_level = { + value = -3 + } + } + } +} + +invoke_tsunami_select_targets = { + every_neighboring_province = { + limit = { + exists = county + is_sea_province = no + is_coastal = yes + NOT = { + is_in_list = targets + } + } + + if = { + limit = { + list_size:targets < 5 + } + add_to_list = targets + + invoke_tsunami_select_targets = yes + } + } +} + +cast_frost_shock_effect = { + get_recipient_effect = { SPELL = frost_shock } + + scope:this_recipient ?= { + add_or_increase_frostbite_effect = { CASTER = root } + } +} + +cast_icefury_effect = { + get_recipient_effect = { SPELL = icefury } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_icefury_duration_days_value + } + } + + every_de_jure_county = { + add_county_modifier = { + modifier = wc_icefury_modifier + days = wc_current_spell_duration + } + add_to_list = counties + } + every_in_list = { + list = counties + every_county_province = { + every_character_in_location = { + limit = { + has_trait = frostbite + } + random_list = { + 20 = { + increase_wounds_effect = { REASON = magic } + } + 80 = { } + } + } + } + } + } +} + +cast_ice_structure_effect = { + if = { + limit = { exists = var:ice_structure_recipient exists = var:ice_structure_type } + var:ice_structure_recipient = { + save_temporary_scope_as = this_recipient + } + var:ice_structure_type = { + save_scope_as = this_spell_type + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:ice_structure + exists = var:spellbook_open + exists = var:spell_recipient + exists = var:elemental_type + } + var:spell_recipient = { + save_temporary_scope_as = this_recipient + } + var:elemental_type = { + save_scope_as = this_spell_type + } + } + + scope:this_recipient.title_province ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_ice_structure_duration_days_value + } + } + + if = { + limit = { + scope:this_spell_type ?= flag:spirit + } + add_province_modifier = { + modifier = wc_ice_structure_spirit_province_modifier + days = wc_current_spell_duration + } + + hidden_effect = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_ice_structure_spirit_character_modifier + } + } + apply_character_ice_structure_effect = { TYPE = spirit } + } + + trigger_event = { + on_action = wc_ice_structure_province_pulse + months = 1 + } + } + } + else_if = { + limit = { + scope:this_spell_type ?= flag:decay + } + add_province_modifier = { + modifier = wc_ice_structure_decay_province_modifier + days = wc_current_spell_duration + } + + hidden_effect = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_ice_structure_decay_character_modifier + } + } + apply_character_ice_structure_effect = { TYPE = decay } + } + + trigger_event = { + on_action = wc_ice_structure_province_pulse + months = 1 + } + } + } + } +} + +apply_character_ice_structure_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_ice_structure_$TYPE$_character_modifier + } + } + add_character_modifier = { + modifier = wc_ice_structure_$TYPE$_character_modifier + } + + trigger_event = { + on_action = wc_ice_structure_removal_pulse + months = 1 + } + } +} + +cast_eternal_winter_effect = { + get_recipient_effect = { SPELL = eternal_winter } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_eternal_winter_duration_days_value + } + } + add_to_list = targets + eternal_winter_select_targets = yes + + every_in_list = { + list = targets + + save_scope_as = duchy + + kingdom ?= { + add_to_list = target_kingdoms + } + + custom_tooltip = { + text = wc_eternal_winter_effect + every_de_jure_county = { + add_county_modifier = { + modifier = wc_eternal_winter_modifier + days = wc_current_spell_duration + } + } + } + + trigger_event = { + on_action = wc_eternal_winter_duchy_pulse + } + } + + root = { + add_character_modifier = { + modifier = wc_eternal_winter_renown_modifier + days = wc_current_spell_duration + } + add_character_modifier = { + modifier = wc_eternal_winter_gold_modifier + days = wc_current_spell_duration + } + } + } +} + +eternal_winter_select_targets = { + every_title_to_title_neighboring_duchy = { + limit = { + NOT = { + is_in_list = targets + } + } + + if = { + limit = { + list_size:targets < 3 + } + add_to_list = targets + + eternal_winter_select_targets = yes + } + } + + # For titles without any de jure counties we have to base it on their capital county's de jure duchy + if = { + limit = { + any_title_to_title_neighboring_duchy = { + count = 0 + } + list_size:targets < 3 + NOT = { + this = title_capital_county.duchy + } + title_capital_county.duchy ?= { + NOT = { + is_in_list = targets + } + } + } + + remove_from_list = targets + + title_capital_county.duchy ?= { + add_to_list = targets + + eternal_winter_select_targets = yes + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_life_effects.txt b/common/scripted_effects/wc_magic_life_effects.txt new file mode 100644 index 0000000000..6750673ad2 --- /dev/null +++ b/common/scripted_effects/wc_magic_life_effects.txt @@ -0,0 +1,3 @@ +init_life_spells_effect = { + +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_light_effects.txt b/common/scripted_effects/wc_magic_light_effects.txt new file mode 100644 index 0000000000..b7cf1d45d4 --- /dev/null +++ b/common/scripted_effects/wc_magic_light_effects.txt @@ -0,0 +1,1083 @@ +init_light_spells_effect = { + add_to_global_variable_list = { name = light_spells target = flag:flash_of_light } + add_to_global_variable_list = { name = light_spells target = flag:dispel } + add_to_global_variable_list = { name = light_spells target = flag:holy_fire } + add_to_global_variable_list = { name = light_spells target = flag:lightwell } + add_to_global_variable_list = { name = light_spells target = flag:judgement } + add_to_global_variable_list = { name = light_spells target = flag:exorcism } + add_to_global_variable_list = { name = light_spells target = flag:expulsion } + add_to_global_variable_list = { name = light_spells target = flag:avenging_wrath } + add_to_global_variable_list = { name = light_spells target = flag:salvation } + add_to_global_variable_list = { name = light_spells target = flag:bless } + add_to_global_variable_list = { name = light_spells target = flag:divine_shield } + add_to_global_variable_list = { name = light_spells target = flag:consecration } + add_to_global_variable_list = { name = light_spells target = flag:rebuke } + add_to_global_variable_list = { name = light_spells target = flag:divine_storm } + add_to_global_variable_list = { name = light_spells target = flag:blessed_bastion } + add_to_global_variable_list = { name = light_spells target = flag:power_word_barrier } +} + +cast_flash_of_light_effect = { # Refer to Dispel sheet + get_recipient_effect = { SPELL = flash_of_light } + if = { + limit = { + exists = scope:this_recipient + } + # Look at ranks first + if = { + limit = { + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:flash_of_light_rank + var:flash_of_light_rank = 3 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 3 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_magic_illness_trigger = yes + } + remove_magic_illness_effect = yes + } + else_if = { + limit = { + target_has_major_illness_trigger = yes + } + remove_major_illness_effect = yes + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:flash_of_light_rank + var:flash_of_light_rank = 2 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 2 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_magic_injury_trigger = yes + } + remove_magic_injury_effect = { REDUCE_SEVERITY = yes } + } + else_if = { + limit = { + target_has_illness_trigger = yes + } + remove_illness_effect = yes + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + else_if = { + limit = { + OR = { + AND = { + exists = var:flash_of_light_rank + var:flash_of_light_rank = 1 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 1 + } + } + } + scope:this_recipient = { + if = { + limit = { + target_has_injury_trigger = yes + } + remove_injury_effect = { REDUCE_SEVERITY = yes } + } + else = { + custom_tooltip = wc_dispel_no_effect_tooltip + } + } + } + + } + +} + +cast_dispel_effect = { + get_recipient_effect = { SPELL = dispel } + + scope:this_recipient ?= { + custom_tooltip = wc_dispel_effect + every_spell_modifier_effect = { EFFECT = dispel_add_modifier_to_list_effect } + if = { + limit = { + has_variable_list = dispel_modifiers + } + random_in_list = { + variable = dispel_modifiers + save_scope_as = dispel_modifier + } + every_spell_modifier_effect = { EFFECT = dispel_remove_modifier_effect } + clear_variable_list = dispel_modifiers + } + add_character_flag = { + flag = wc_recently_dispelled_flag + days = 180 + } + } +} + +dispel_add_modifier_to_list_effect = { + if = { + limit = { + has_character_modifier = $MODIFIER$_modifier + flag:$TYPE$ = flag:negative + } + add_to_variable_list = { + name = dispel_modifiers + target = flag:$MODIFIER$ + } + } + if = { # Error prevention + limit = { flag:$SPELL$ = flag:error } + } +} + +dispel_remove_modifier_effect = { + if = { + limit = { + exists = scope:dispel_modifier + flag:$MODIFIER$ = scope:dispel_modifier + } + send_interface_toast = { + title = wc_dispel_successful + left_icon = scope:this_recipient + right_icon = root + remove_character_modifier = $MODIFIER$_modifier + } + if = { + limit = { + NOT = { + scope:this_recipient ?= root + } + } + hidden_effect = { + send_interface_toast = { + title = wc_dispel_successful + left_icon = scope:this_recipient + right_icon = root + show_as_tooltip = { + scope:this_recipient = { + remove_character_modifier = $MODIFIER$_modifier + } + } + } + } + } + } + + if = { # Error prevention + limit = { flag:$TYPE$ = flag:error } + limit = { flag:$SPELL$ = flag:error } + } +} + +cast_lightwell_effect = { + get_recipient_effect = { SPELL = lightwell } + if = { + limit = { + exists = scope:this_recipient + } + scope:this_recipient = { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_lightwell_duration_days_value + } + } + add_character_modifier = { + modifier = wc_lightwell_modifier + days = wc_current_spell_duration + } + } + } +} + +cast_holy_fire_effect = { + get_recipient_effect = { SPELL = holy_fire } + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_holy_fire_duration_days_value + } + } + add_character_modifier = { + modifier = wc_holy_fire_modifier + days = wc_current_spell_duration + } + } +} + +cast_judgement_effect = { + get_recipient_effect = { SPELL = judgement } + scope:this_recipient ?= { + custom_tooltip = wc_judgement_tt + hidden_effect = { + every_secret = { + expose_secret = root + } + } + } +} + +cast_expulsion_effect = { + get_recipient_effect = { SPELL = expulsion } + scope:this_recipient ?= { + if = { + limit = { + target_has_psych_illness_trigger = yes + } + remove_psych_illness_effect = yes + } + } +} + +cast_exorcism_effect = { + get_recipient_effect = { SPELL = exorcism } + save_temporary_scope_value_as = { + name = duration + value = wc_spell_exorcism_duration_days_value + } + scope:this_recipient ?= { + excorism_effect = yes + } + if = { + limit = { has_variable_list = exorcism_targets_list } + every_in_list = { + variable = exorcism_targets_list + save_scope_as = this_recipient + excorism_effect = yes + } + } + else_if = { + limit = { has_variable_list = spell_targets_list } + every_in_list = { + variable = spell_targets_list + save_scope_as = this_recipient + excorism_effect = yes + } + } +} +excorism_effect = { + add_character_modifier = { + modifier = wc_exorcism_modifier + days = wc_current_spell_duration + } + if = { + limit = { + OR = { + culture = { has_same_culture_heritage = culture:eredruin } + culture = { has_same_culture_heritage = culture:scourge } + has_trait = being_void + has_trait = being_demon + has_trait = being_undead + } + } + add_or_increase_burned_effect = { CASTER = root } + } + if = { # counting stacks + limit = { + has_variable = exorcism + } + set_variable = { + name = exorcism_2 + value = 1 + days = wc_current_spell_duration + } + } + else_if = { + limit = { + has_variable = exorcism_2 + } + set_variable = { + name = exorcism_3 + value = 1 + days = wc_current_spell_duration + } + } + else = { + set_variable = { + name = exorcism + value = 1 + days = wc_current_spell_duration + } + } +} +cast_avenging_wrath_effect = { + get_recipient_effect = { SPELL = avenging_wrath } + + if = { + limit = { + exists = scope:this_recipient + OR = { + var:current_target_type ?= flag:character + var:avenging_wrath_target_type ?= flag:character + } + } + + scope:this_recipient = { + avenging_wrath_character_effect = yes + } + } + if = { + limit = { + exists = scope:this_recipient + OR = { + var:current_target_type ?= flag:enemy_army + var:avenging_wrath_target_type ?= flag:enemy_army + } + } + scope:this_recipient.army_commander = { + avenging_wrath_character_effect = yes + } + scope:this_recipient = { + deplete_army_by_percentage = 0.2 + } + } +} + +avenging_wrath_character_effect = { + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_wrathed_me + target = root + } + } + add_trait = holy_wrath + hidden_effect = { + root = { + if = { + limit = { + has_perk = light_magic_tree_2_perk_8 + } + random_list = { + 70 = { + # nothing + } + 30 = { + trigger = { + scope:this_recipient = { NOT = { has_trait = incapable } } + } + modifier = { + add = 20 + scope:this_recipient = { has_trait = being_undead } + } + modifier = { + add = 20 + scope:this_recipient = { has_trait = being_demon } + } + modifier = { + add = 20 + scope:this_recipient = { has_trait = being_void } + } + send_interface_toast = { + title = holy_retribution_title + left_icon = scope:this_recipient + right_icon = root + scope:this_recipient = { + add_trait = incapable + trigger_event = { + id = wc_magic_spell_events.9000 + days = { 90 180 } + } + } + } + } + } + } + } + } +} + +cast_salvation_effect = { + get_recipient_effect = { SPELL = salvation } + + scope:this_recipient ?= { + if = { + limit = { + has_trait = being_undead + } + root = { save_scope_as = salvation_caster } + show_as_tooltip = { + remove_trait = being_undead + proc_salvation_effect = yes + } + root = { + scope:this_recipient = { save_scope_as = saved_character } + trigger_event = { + id = wc_magic_spell_events.1005 + } + } + trigger_event = { + id = wc_magic_spell_events.1004 + days = 3 + } + } + else = { + add_character_modifier = { + modifier = wc_salvation_modifier + } + set_variable = { + name = salvation_caster + value = root + } + } + } +} + +proc_salvation_effect = { + if = { + limit = { + has_character_modifier = wc_salvation_modifier + } + remove_character_modifier = wc_salvation_modifier + } + add_character_modifier = wc_saved_with_salvation_modifier + + if = { + limit = { + scope:salvation_caster = { + is_alive = yes + } + } + add_opinion = { + modifier = wc_saved_me_salvation + target = scope:salvation_caster + } + } + + if = { + limit = { exists = scope:killer } + add_opinion = { modifier = attempted_to_kill_me target = scope:killer } + } + + while = { # DISPEL HIM OF EVERYTHING SO HE DOESNT DIE AGIAN + limit = { + OR = { + target_has_magic_illness_trigger = yes + target_has_illness_trigger = yes + target_has_major_illness_trigger = yes + target_has_injury_trigger = yes + target_has_major_injury_trigger = yes + target_has_magic_injury_trigger = yes + } + } + + if = { + limit = { + target_has_magic_injury_trigger = yes + } + remove_magic_injury_effect = { REDUCE_SEVERITY = no } + } + else_if = { + limit = { + target_has_major_injury_trigger = yes + } + remove_major_injury_effect = yes + } + else_if = { + limit = { + target_has_magic_illness_trigger = yes + } + remove_magic_illness_effect = yes + } + else_if = { + limit = { + target_has_major_illness_trigger = yes + } + remove_major_illness_effect = yes + } + else_if = { + limit = { + target_has_illness_trigger = yes + } + remove_illness_effect = yes + } + else_if = { + limit = { + target_has_injury_trigger = yes + } + remove_injury_effect = { REDUCE_SEVERITY = no } + } + } +} + +cast_bless_effect = { + get_recipient_effect = { SPELL = bless } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_bless_duration_days_value + } + } + custom_tooltip = wc_bless_effect + every_spell_modifier_effect = { EFFECT = bless_add_modifier_to_list_effect } + if = { + limit = { + has_variable_list = bless_modifiers + } + random_in_list = { + variable = bless_modifiers + save_scope_as = bless_modifier + } + every_spell_modifier_effect = { EFFECT = bless_add_modifier_effect } + clear_variable_list = bless_modifiers + } + add_character_flag = { + flag = wc_recently_blessed + years = 1 + } + } +} + +bless_add_modifier_to_list_effect = { + if = { + limit = { + NOT = { has_character_modifier = $MODIFIER$_modifier } + flag:$TYPE$ = flag:positive + NOT = { + flag:$SPELL$ = flag:none + } + } + add_to_variable_list = { + name = bless_modifiers + target = flag:$MODIFIER$ + } + } +} + +bless_add_modifier_effect = { + if = { + limit = { + exists = scope:bless_modifier + flag:$MODIFIER$ = scope:bless_modifier + } + + send_interface_toast = { + title = wc_bless_successful + left_icon = scope:this_recipient + right_icon = root + add_character_modifier = { + modifier = $MODIFIER$_modifier + days = wc_current_spell_duration + } + } + if = { + limit = { + NOT = { + scope:this_recipient ?= root + } + } + hidden_effect = { + send_interface_toast = { + title = wc_bless_successful + left_icon = scope:this_recipient + right_icon = root + show_as_tooltip = { + scope:this_recipient = { + add_character_modifier = { + modifier = $MODIFIER$_modifier + days = wc_current_spell_duration + } + } + } + } + } + } + + } + + if = { # Error prevention + limit = { flag:$TYPE$ = flag:error } + limit = { flag:$SPELL$ = flag:error } + } +} + +cast_divine_shield_effect = { + get_recipient_effect = { SPELL = divine_shield } + + scope:this_recipient ?= { + add_character_modifier = { + modifier = wc_divine_shield_modifier + days = wc_spell_divine_shield_duration_days_value + } + } +} + +cast_consecration_effect = { + get_recipient_effect = { SPELL = consecration } + + root = { + set_variable = { + name = consecration_moves_remaining + value = 3 + } + } + + if = { + limit = { + exists = scope:this_recipient + } + if = { + limit = { + OR = { + scope:this_recipient.holder = root + scope:this_recipient.holder.liege ?= root + scope:this_recipient.holder.top_liege ?= root + } + } + apply_consecration_effect = { + CONSECRATION_TYPE = flag:positive + COUNTY = scope:this_recipient + } + } + else = { + apply_consecration_effect = { + CONSECRATION_TYPE = flag:negative + COUNTY = scope:this_recipient + } + } + } +} + +apply_consecration_effect = { + clear_variable_list = consecration_neighboring_counties + + set_variable = { + name = consecration_county + value = $COUNTY$ + } + + save_temporary_scope_value_as = { + name = consecration_duration + value = wc_spell_consecration_duration_days_value + } + + change_variable = { + name = consecration_moves_remaining + add = -1 + } + + if = { + limit = { + $CONSECRATION_TYPE$ = flag:positive + } + $COUNTY$ = { + add_county_modifier = { + modifier = wc_consecration_county_positive_modifier + days = wc_consecration_spell_duration + } + set_variable = { + name = consecration_owner + value = root + } + every_neighboring_county = { + limit = { + NOT = { this = $COUNTY$ } + exists = holder + } + save_scope_as = neighboring_county_consecration + custom_tooltip = wc_consecration_neighboring_duchy_effect + root = { + add_to_variable_list = { + name = consecration_neighboring_counties + target = scope:neighboring_county_consecration + } + } + } + } + } + else = { + $COUNTY$ = { + add_county_modifier = { + modifier = wc_consecration_county_negative_modifier + days = wc_consecration_spell_duration + } + set_variable = { + name = consecration_owner + value = root + } + every_neighboring_county = { + limit = { + NOT = { this = $COUNTY$ } + exists = holder + } + save_scope_as = neighboring_county_consecration + custom_tooltip = wc_consecration_neighboring_duchy_effect + root = { + add_to_variable_list = { + name = consecration_neighboring_counties + target = scope:neighboring_county_consecration + } + } + } + holder = { + add_opinion = { modifier = wc_casted_harmful_spell target = root opinion = -20 } + } + } + } +} + +move_consecration_effect = { + clear_variable_list = consecration_neighboring_counties + if = { + limit = { + var:consecration_county = { + has_county_modifier = wc_consecration_county_positive_modifier + } + } + var:consecration_county = { + remove_county_modifier = wc_consecration_county_positive_modifier + } + apply_consecration_effect = { + CONSECRATION_TYPE = flag:positive + COUNTY = $COUNTY$ + } + } + else = { + var:consecration_county = { + remove_county_modifier = wc_consecration_county_negative_modifier + } + apply_consecration_effect = { + CONSECRATION_TYPE = flag:negative + COUNTY = $COUNTY$ + } + } +} + +cast_rebuke_effect = { + get_recipient_effect = { SPELL = rebuke } + + scope:this_recipient ?= { + add_character_modifier = { + modifier = wc_rebuke_modifier + months = 3 + } + if = { + limit = { + has_variable_list = current_spells_casting + any_in_list = { + variable = current_spells_casting + NOR = { + spell_is_ritual_trigger = { SPELL = this } + this = flag:rebuke + } + } + } + custom_tooltip = wc_rebuke_kick_tt + random_in_list = { + variable = current_spells_casting + limit = { + NOR = { + spell_is_ritual_trigger = { SPELL = this } + this = flag:rebuke + } + } + save_scope_as = spell_to_kick + hidden_effect = { + scope:this_recipient = { + root = { save_temporary_scope_as = rebuker } + execute_scoped_spell_effect = { + EFFECT = cancel_cast_effect + SPELL = scope:spell_to_kick + } + execute_scoped_spell_effect = { + EFFECT = put_spell_on_cooldown_effect + SPELL = scope:spell_to_kick + } + } + } + } + } + } +} + +cast_divine_storm_effect = { + get_recipient_effect = { SPELL = divine_storm } + + root = { + random_list = { + 40 = { + add_or_increase_burned_effect = { CASTER = root } + } + 40 = { + if = { + limit = { + NOT = { has_trait = wounded_1 } + } + add_trait = wounded_1 + } + else = { + change_trait_rank = { trait = wounded rank = 1 max = 3 } + } + } + 20 = { + add_trait = holy_wrath + } + } + } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_divine_storm_duration_days_value + } + } + + change_county_control = -100 + change_development_level = -10 + custom_tooltip = wc_divine_storm_tt + every_in_de_jure_hierarchy = { + if = { + limit = { + tier = tier_county + } + add_county_modifier = { + modifier = wc_divine_storm_county_modifier + days = wc_current_spell_duration + } + trigger_event = { + on_action = wc_divine_storm_county_pulse + months = 1 + } + } + else_if = { + limit = { + tier = tier_barony + } + title_province = { + hidden_effect = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_divine_storm_character_modifier + } + } + apply_character_divine_storm_effect = yes + } + } + } + } + } + } +} +apply_character_divine_storm_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_divine_storm_character_modifier + } + } + if = { + limit = { + OR = { + culture = { has_same_culture_heritage = culture:eredruin } + culture = { has_same_culture_heritage = culture:scourge } + has_trait = being_void + has_trait = being_demon + has_trait = being_undead + } + } + random_list = { + 40 = { + add_or_increase_burned_effect = { CASTER = root } + } + 40 = { + if = { + limit = { + NOT = { has_trait = wounded_1 } + } + add_trait = wounded_1 + } + else = { + change_trait_rank = { trait = wounded rank = 1 max = 3 } + } + } + 30 = { + modifier = { + always = yes + add = wc_light_magic_resistance_value_neg + } + override_death_killer_effect = { death_reason = death_divine_storm killer = root } + } + 30 = { + add_trait = holy_wrath + } + } + } + add_character_modifier = { + modifier = wc_divine_storm_character_modifier + } + + trigger_event = { + on_action = wc_divine_storm_removal_pulse + months = 1 + } + } +} + +cast_blessed_bastion_effect = { + root = { + add_character_modifier = { + modifier = wc_blessed_bastion_modifier + days = wc_spell_blessed_bastion_duration_days_value + } + } + if = { + limit = { has_variable_list = blessed_bastion_targets_list } + blessed_bastion_effect = { LIST = blessed_bastion_targets_list } + } + else_if = { + limit = { has_variable_list = spell_targets_list } + blessed_bastion_effect = { LIST = spell_targets_list } + } +} + +blessed_bastion_effect = { + every_in_list = { + variable = $LIST$ + save_scope_as = this_recipient + every_de_jure_county = { + add_county_modifier = { + modifier = wc_blessed_bastion_county_modifier + days = wc_spell_blessed_bastion_duration_days_value + } + } + } +} + +final_stand_effect = { + add_character_modifier = { + modifier = important_lore_character + years = 1 + } + add_piety = 1000 + add_prestige = 1000 + add_legitimacy = 300 + faith = { + change_fervor = { + value = 3 + desc = fervor_gain_final_stand + } + } +} + +cast_power_word_barrier_effect = { + if = { + limit = { + exists = scope:cancel + } + if = { + limit = { + var:power_word_barrier_rank = 1 + } + var:power_word_barrier_recipient = { + remove_character_modifier = wc_power_word_barrier_modifier + } + } + else = { + every_in_list = { + variable = power_word_barrier_targets_list + remove_character_modifier = wc_power_word_barrier_modifier + } + } + } + else = { + if = { + limit = { + OR = { + AND = { + exists = var:power_word_barrier_rank + var:power_word_barrier_rank = 1 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 1 + exists = var:spellbook_open + } + } + } + if = { + limit = { exists = var:power_word_barrier_recipient } + var:power_word_barrier_recipient = { + save_temporary_scope_as = this_recipient + } + } + else_if = { + limit = { + exists = var:current_spell_name + var:current_spell_name = flag:power_word_barrier + exists = var:spellbook_open + exists = var:spell_recipient + } + var:spell_recipient = { + save_temporary_scope_as = this_recipient + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_power_word_barrier_modifier + } + } + } + else_if = { + limit = { + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 2 + exists = var:spellbook_open + } + } + every_in_list = { + variable = spell_targets_list + add_character_modifier = { + modifier = wc_power_word_barrier_modifier + } + } + } + else_if = { + limit = { + AND = { + exists = var:power_word_barrier_rank + var:power_word_barrier_rank = 2 + } + } + every_in_list = { + variable = power_word_barrier_targets_list + add_character_modifier = { + modifier = wc_power_word_barrier_modifier + } + } + } + } +} diff --git a/common/scripted_effects/wc_magic_order_effects.txt b/common/scripted_effects/wc_magic_order_effects.txt new file mode 100644 index 0000000000..138ca6a851 --- /dev/null +++ b/common/scripted_effects/wc_magic_order_effects.txt @@ -0,0 +1,1293 @@ +init_order_spells_effect = { + add_to_global_variable_list = { name = Order_spells target = flag:polymorph } + add_to_global_variable_list = { name = Order_spells target = flag:conjure_refreshment } + add_to_global_variable_list = { name = Order_spells target = flag:counterspell } + add_to_global_variable_list = { name = Order_spells target = flag:scry } + add_to_global_variable_list = { name = Order_spells target = flag:spellsteal } + add_to_global_variable_list = { name = Order_spells target = flag:haste } + add_to_global_variable_list = { name = Order_spells target = flag:chronomancy } + add_to_global_variable_list = { name = Order_spells target = flag:evocation } + add_to_global_variable_list = { name = Order_spells target = flag:arcane_dome } + add_to_global_variable_list = { name = Order_spells target = flag:create_portal } + + # Fire + add_to_global_variable_list = { name = Order_spells target = flag:scorch } + add_to_global_variable_list = { name = Order_spells target = flag:fire_shield } + add_to_global_variable_list = { name = Order_spells target = flag:pyroblast } + add_to_global_variable_list = { name = Order_spells target = flag:flamestrike } + + # Frost + add_to_global_variable_list = { name = Order_spells target = flag:frostbolt } + add_to_global_variable_list = { name = Order_spells target = flag:frost_nova } + add_to_global_variable_list = { name = Order_spells target = flag:frost_armor } + add_to_global_variable_list = { name = Order_spells target = flag:blizzard } + + # Both + add_to_global_variable_list = { name = Order_spells target = flag:frostfire_bolt } +} + +cast_polymorph_effect = { + get_recipient_effect = { SPELL = polymorph } + + scope:this_recipient ?= { + if = { + limit = { + NOT = { + has_trait = polymorph + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_polymorph_duration_days_value + } + } + + add_trait = polymorph + save_scope_value_as = { + name = polymorph_prowess + value = { + value = prowess + subtract = 1 + multiply = -1 + } + } + trigger_event = { + id = wc_magic_spell_events.1001 + days = wc_current_spell_duration + } + hidden_effect = { + add_prowess_skill = { + value = scope:polymorph_prowess + } + } + } + } +} + +cast_counterspell_effect = { + get_recipient_effect = { SPELL = counterspell } + + scope:this_recipient ?= { + if = { + limit = { + NOT = { + has_character_modifier = wc_counterspell_modifier + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_counterspell_duration_days_value + } + } + add_character_modifier = { + modifier = wc_counterspell_modifier + days = wc_current_spell_duration + } + } + } +} + +cast_spellsteal_effect = { + get_recipient_effect = { SPELL = spellsteal } + + scope:this_recipient ?= { + custom_tooltip = wc_spellsteal_effect + every_spell_modifier_effect = { EFFECT = spellsteal_add_modifier_to_list_effect } + if = { + limit = { + has_variable_list = spellsteal_modifiers + } + random_in_list = { + variable = spellsteal_modifiers + save_scope_as = spellsteal_modifier + } + every_spell_modifier_effect = { EFFECT = spellsteal_move_modifier_effect } + clear_variable_list = spellsteal_modifiers + } + } +} + +spellsteal_add_modifier_to_list_effect = { + if = { + limit = { + has_character_modifier = $MODIFIER$_modifier + flag:$TYPE$ = flag:positive + NOT = { + flag:$SPELL$ = flag:none + } + } + add_to_variable_list = { + name = spellsteal_modifiers + target = flag:$MODIFIER$ + } + } +} + +spellsteal_move_modifier_effect = { + if = { + limit = { + exists = scope:spellsteal_modifier + flag:$MODIFIER$ = scope:spellsteal_modifier + } + remove_character_modifier = $MODIFIER$_modifier + root = { + add_character_modifier = { + modifier = $MODIFIER$_modifier + days = wc_spell_$SPELL$_duration_days_value + } + } + } + + if = { # Error prevention + limit = { flag:$TYPE$ = flag:error } + } +} + +cast_scry_effect = { + get_recipient_effect = { SPELL = scry } + + scope:this_recipient ?= { + if = { + limit = { + NOT = { + has_character_modifier = wc_scry_modifier + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_scry_duration_days_value + } + } + if = { + limit = { + root = { + NOT = { + has_perk = order_magic_tree_2_perk_6 + } + } + } + add_character_modifier = { + modifier = wc_scry_modifier + days = wc_current_spell_duration + } + } + else = { + add_character_modifier = { + modifier = wc_empowered_scry_modifier + days = wc_current_spell_duration + } + } + } + } +} + +cast_haste_effect = { + get_recipient_effect = { SPELL = haste } + + scope:this_recipient ?= { + if = { + limit = { + scope:this_recipient = root + NOT = { + has_character_modifier = wc_haste_modifier + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_haste_duration_days_value + } + } + add_character_modifier = { + modifier = wc_haste_modifier + days = wc_current_spell_duration + } + } + else_if = { + limit = { + NOT = { + has_character_modifier = wc_slow_modifier + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_haste_duration_days_value + } + } + add_character_modifier = { + modifier = wc_slow_modifier + days = wc_current_spell_duration + } + } + } +} + +cast_conjure_refreshment_effect = { + get_recipient_effect = { SPELL = conjure_refreshment } + + scope:this_recipient ?= { + if = { + limit = { + root = { + OR = { + AND = { + has_variable = conjure_refreshment_rank + var:conjure_refreshment_rank < 3 + } + AND = { + has_variable = current_spell_rank + NOT = { has_variable = conjure_refreshment_rank } + var:current_spell_rank < 3 + } + } + OR = { + NOT = { + has_variable = selected_refreshment + } + var:selected_refreshment = flag:food + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_conjure_refreshment_duration_days_value + } + } + hidden_effect = { + add_character_modifier = { + modifier = wc_conjure_food_modifier + days = wc_current_spell_duration + } + } + + if = { + limit = { + root = { + OR = { + AND = { + has_variable = conjure_refreshment_rank + var:conjure_refreshment_rank = 2 + } + AND = { + has_variable = current_spell_rank + NOT = { has_variable = conjure_refreshment_rank } + var:current_spell_rank = 2 + } + } + } + } + + custom_tooltip = conjure_refreshment_tt2 + + hidden_effect = { + every_courtier_or_guest = { + add_character_modifier = { + modifier = wc_conjure_food_modifier + days = wc_current_spell_duration + } + } + } + } + else = { + custom_tooltip = conjure_refreshment_tt1 + } + } + else_if = { + limit = { + root = { + OR = { + AND = { + has_variable = conjure_refreshment_rank + var:conjure_refreshment_rank < 3 + } + AND = { + has_variable = current_spell_rank + NOT = { has_variable = conjure_refreshment_rank } + var:current_spell_rank < 3 + } + } + var:selected_refreshment = flag:drink + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_conjure_refreshment_duration_days_value + } + } + hidden_effect = { + add_character_modifier = { + modifier = wc_conjure_drink_modifier + days = wc_current_spell_duration + } + } + if = { + limit = { + root = { + OR = { + AND = { + has_variable = conjure_refreshment_rank + var:conjure_refreshment_rank = 2 + } + AND = { + has_variable = current_spell_rank + NOT = { has_variable = conjure_refreshment_rank } + var:current_spell_rank = 2 + } + } + } + } + + custom_tooltip = conjure_refreshment_tt2 + + hidden_effect = { + every_courtier_or_guest = { + add_character_modifier = { + modifier = wc_conjure_drink_modifier + days = wc_current_spell_duration + } + } + } + } + else = { + custom_tooltip = conjure_refreshment_tt1 + } + } + else_if = { + limit = { + root = { + OR = { + AND = { + has_variable = conjure_refreshment_rank + var:conjure_refreshment_rank = 3 + } + AND = { + has_variable = current_spell_rank + NOT = { has_variable = conjure_refreshment_rank } + var:current_spell_rank = 3 + } + } + } + } + + custom_tooltip = conjure_refreshment_tt3 + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_conjure_refreshment_duration_days_value + } + } + add_character_modifier = { + modifier = wc_conjure_feast_modifier + } + set_variable = { + name = conjure_feast_duration + value = scope:duration + } + } + } +} + +cast_chronomancy_effect = { + get_recipient_effect = { SPELL = chronomancy } + + scope:this_recipient ?= { + if = { + limit = { + NOT = { + has_character_flag = chronomancy + } + } + + custom_tooltip = chronomancy_tt + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_chronomancy_duration_days_value + } + } + + if = { + limit = { + root = { + has_perk = order_magic_tree_3_perk_7 + } + } + set_variable = chronomancy_double_duration + } + every_spell_modifier_effect = { EFFECT = chronomancy_store_modifier_effect } + remove_variable = chronomancy_double_duration + + every_character_trait = { + limit = { + NOT = { + has_trait_category = lifestyle + } + } + save_scope_as = this_trait + scope:this_recipient = { + add_to_variable_list = { + name = chronomancy_trait_list + target = scope:this_trait + } + } + } + trigger_event = { + id = wc_magic_spell_events.0400 + days = wc_current_spell_minus_one_duration + } + add_character_flag = { + flag = chronomancy_active + days = wc_current_spell_duration + } + } + } +} + +chronomancy_store_modifier_effect = { + if = { + limit = { + has_character_modifier = $MODIFIER$_modifier + NOT = { + flag:$SPELL$ = flag:none + } + flag:$TYPE$ = flag:positive + } + add_to_variable_list = { + name = chronomancy_modifier_list + target = flag:$MODIFIER$ + } + save_scope_value_as = { + name = current_modifier_duration + value = wc_spell_$SPELL$_duration_days_value + } + if = { + limit = { + exists = scope:current_modifier_duration + } + if = { + limit = { + has_variable_list = chronomancy_modifier_duration_list + } + while = { + limit = { + any_in_list = { variable = chronomancy_modifier_duration_list this = scope:current_modifier_duration } + } + save_scope_value_as = { + name = current_modifier_duration + value = { + add = scope:current_modifier_duration + add = 1 + } + } + } + } + add_to_variable_list = { + name = chronomancy_modifier_duration_list + target = scope:current_modifier_duration + } + } + } +} + +chronomancy_restore_modifier_effect = { + if = { + limit = { + exists = scope:modifier + flag:$MODIFIER$ = scope:modifier + } + remove_character_modifier = $MODIFIER$_modifier + add_character_modifier = { + modifier = $MODIFIER$_modifier + days = wc_current_spell_duration + } + } + + if = { # Error prevention + limit = { flag:$TYPE$ = flag:error } + limit = { flag:$SPELL$ = flag:error } + } +} + +cast_evocation_effect = { + get_recipient_effect = { SPELL = evocation } + + if = { + limit = { + exists = scope:this_recipient + } + scope:this_recipient = { + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_evocation_duration_days_value + } + } + + title_province = { + add_province_modifier = { + modifier = wc_evocation_province_modifier + days = wc_current_spell_duration + } + + hidden_effect = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_evocation_character_modifier + } + } + apply_character_evocation_effect = yes + } + + trigger_event = { + on_action = wc_evocation_province_pulse + months = 1 + } + } + } + } + } +} + +apply_character_evocation_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_evocation_character_modifier + } + } + add_character_modifier = { + modifier = wc_evocation_character_modifier + } + + trigger_event = { + on_action = wc_evocation_removal_pulse + months = 1 + } + } +} + +cast_arcane_dome_effect = { + get_recipient_effect = { SPELL = arcane_dome } + + if = { + limit = { + exists = scope:this_recipient + } + scope:this_recipient = { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_arcane_dome_duration_days_value + } + } + + add_county_modifier = { + modifier = wc_arcane_dome_county_modifier + days = wc_current_spell_duration + } + + hidden_effect = { + save_scope_as = county + + trigger_event = { + on_action = wc_arcane_dome_county_pulse + } + } + } + } +} + +apply_character_arcane_dome_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_arcane_dome_character_modifier + } + } + add_character_modifier = { + modifier = wc_arcane_dome_character_modifier + } + + hidden_effect = { + commanding_army ?= { + remove_commander = yes + assign_commander = prev + } + } + + trigger_event = { + on_action = wc_arcane_dome_removal_pulse + months = 1 + } + } +} + +remove_character_arcane_dome_effect = { + if = { + limit = { + has_character_modifier = wc_arcane_dome_character_modifier + } + + remove_character_modifier = wc_arcane_dome_character_modifier + + hidden_effect = { + commanding_army ?= { + remove_commander = yes + assign_commander = prev + } + } + } +} + +apply_character_blizzard_effect = { + if = { + limit = { + NOT = { + has_character_modifier = wc_blizzard_character_modifier + } + } + add_character_modifier = { + modifier = wc_blizzard_character_modifier + } + + trigger_event = { + on_action = wc_blizzard_removal_pulse + months = 1 + } + } +} + +cast_scorch_effect = { + get_recipient_effect = { SPELL = scorch } + + scope:this_recipient ?= { + burned_target_frostbite_modifier = { TARGET = this CHANGE = add } + add_or_increase_burned_effect = { CASTER = root } + add_opinion = { + modifier = wc_burned_me + target = root + } + } +} + +cast_pyroblast_effect = { + get_recipient_effect = { SPELL = pyroblast } + if = { + limit = { + exists = scope:this_recipient + OR = { + any_war_enemy = { + any_army = { + exists = army_commander + army_commander = scope:this_recipient.army_commander + } + } + } + } + scope:this_recipient.army_commander = { + burned_target_frostbite_modifier = { TARGET = this CHANGE = add } + add_or_increase_burned_effect = { CASTER = root } + add_opinion = { + modifier = wc_burned_me + target = root + } + } + + custom_tooltip = { + text = wc_spell_pyroblast_knights_tt + scope:this_recipient.army_owner = { + every_knight = { + limit = { + exists = knight_army + knight_army = scope:this_recipient + } + + burned_target_frostbite_modifier = { TARGET = this CHANGE = add } + add_or_increase_burned_effect = { CASTER = root } + add_opinion = { + modifier = wc_burned_me + target = root + } + } + } + } + } +} + +cast_flamestrike_effect = { + get_recipient_effect = { SPELL = flamestrike } + if = { + limit = { + exists = scope:this_recipient + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_flamestrike_duration_days_value + } + } + scope:this_recipient = { + + custom_tooltip = { + text = wc_spell_flamestrike_counties_tt + set_local_variable = { name = flamestrike_count value = 0 } + while = { + limit = { always = yes } + count = 10 + + change_local_variable = { + name = flamestrike_count + add = 1 + } + + every_de_jure_county = { + add_county_modifier = { + modifier = wc_flamestrike_modifier + days = wc_current_spell_duration + } + } + } + } + } + } +} + +cast_fire_shield_effect = { + get_recipient_effect = { SPELL = fire_shield } + + if = { + limit = { + exists = scope:this_recipient + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_fire_shield_duration_days_value + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_fire_shield_modifier + days = wc_current_spell_duration + } + } + } + + if = { + limit = { + has_variable = fire_shield_secondary_target + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_fire_shield_duration_days_value + } + } + var:fire_shield_secondary_target = { + add_character_modifier = { + modifier = wc_fire_shield_modifier + days = wc_current_spell_duration + } + } + remove_variable = fire_shield_secondary_target + } + + if = { + limit = { + has_perk = order_magic_tree_4_perk_7 + } + custom_tooltip = wc_twin_flame_effect_tt + } +} + +fire_shield_set_relations = { + every_relation = { + type = $RELATION$ + limit = { + NOT = { + has_character_modifier = wc_fire_shield_modifier + } + } + add_to_list = $RELATION$s + } + + every_in_list = { + list = $RELATION$s + save_scope_as = $RELATION$ + + if = { + limit = { + NOT = { + root = { + has_variable = $RELATION$1 + } + } + } + root = { + set_variable = { + name = $RELATION$1 + value = scope:$RELATION$ + } + } + } + else_if = { + limit = { + NOT = { + root = { + has_variable = $RELATION$2 + } + } + } + root = { + set_variable = { + name = $RELATION$2 + value = scope:$RELATION$ + } + } + } + else_if = { + limit = { + NOT = { + root = { + has_variable = $RELATION$3 + } + } + } + root = { + set_variable = { + name = $RELATION$3 + value = scope:$RELATION$ + } + } + } + + remove_from_list = $RELATION$s + } +} + +cast_frostfire_bolt_effect = { + get_recipient_effect = { SPELL = frostfire_bolt } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_frostfire_bolt_duration_days_value + } + } + # need to determine good or bad + if = { + limit = { + exists = scope:this_recipient + target_is_friendly_commander_trigger = { TARGET = scope:this_recipient } + } + scope:this_recipient.army_commander = { + add_character_modifier = { + modifier = wc_frostfire_bolt_good_modifier + days = wc_current_spell_duration + } + if = { + limit = { + NOT = { + scope:this_recipient.army_commander = root + } + } + #add_opinion = { modifier = wc_casted_helpful_spell target = root } + } + } + scope:this_recipient = { + custom_tooltip = wc_frostfire_bolt_tt + set_variable = { + name = frostfire_bolt_remainder + value = scope:this_recipient.army_commander + days = wc_current_spell_duration + } + } + } + else_if = { + limit = { + exists = scope:this_recipient + target_is_enemy_commander_trigger = { TARGET = scope:this_recipient } + } + scope:this_recipient.army_commander = { + add_character_modifier = { + modifier = wc_frostfire_bolt_bad_modifier + days = wc_current_spell_duration + } + #add_opinion = { modifier = wc_casted_harmful_spell target = root } + } + scope:this_recipient = { + custom_tooltip = wc_frostfire_bolt_tt + set_variable = { + name = frostfire_bolt_remainder + value = scope:this_recipient.army_commander + days = wc_current_spell_duration + } + } + } +} + +cast_frostbolt_effect = { + get_recipient_effect = { SPELL = frostbolt } + + scope:this_recipient ?= { + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_frostbolt_duration_days_value + } + } + add_character_modifier = { + modifier = wc_frostbolt_modifier + days = wc_current_spell_duration + } + frostbite_target_burned_modifier = { TARGET = this CHANGE = add } + modifier = { + has_character_modifier = wc_frost_nova_modifier + add = 80 + } + custom_tooltip = wc_frostbolt_frost_nova_tt + add_or_increase_frostbite_effect = { CASTER = root } + add_opinion = { + modifier = wc_frostbit_me + target = root + } + } +} + +cast_frost_nova_effect = { + get_recipient_effect = { SPELL = frost_nova } + if = { + limit = { + exists = scope:this_recipient + any_war_enemy = { + any_army = { + army_commander = scope:this_recipient.army_commander + } + } + } + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_frost_nova_duration_days_value + } + } + scope:this_recipient.army_commander = { + add_character_modifier = { + modifier = wc_frost_nova_modifier + days = wc_current_spell_duration + } + } + scope:this_recipient = { + custom_tooltip = wc_frost_nova_tt + set_variable = { + name = frost_nova_remainder + value = scope:this_recipient.army_commander + days = wc_current_spell_duration + } + } + } +} + +cast_frost_armor_effect = { + get_recipient_effect = { SPELL = frost_armor } + + if = { + limit = { + exists = scope:this_recipient + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_frost_armor_duration_days_value + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_frost_armor_modifier + days = wc_current_spell_duration + } + } + } +} + +cast_blizzard_effect = { + get_recipient_effect = { SPELL = blizzard } + + if = { + limit = { + exists = scope:this_recipient + } + scope:this_recipient = { + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_blizzard_duration_days_value + } + } + + custom_tooltip = { + text = wc_spell_blizzard_counties_tt + every_in_de_jure_hierarchy = { + if = { + limit = { + tier = tier_county + } + add_county_modifier = { + modifier = wc_blizzard_county_modifier + days = wc_current_spell_duration + } + + trigger_event = { + on_action = wc_blizzard_county_pulse + months = 1 + } + } + else_if = { + limit = { + tier = tier_barony + } + title_province = { + every_character_in_location = { + limit = { + NOT = { + has_character_modifier = wc_blizzard_character_modifier + } + } + apply_character_blizzard_effect = yes + } + } + } + } + } + } + } +} + +cast_create_portal_effect = { + get_recipient_effect = { SPELL = create_portal } + + if = { + limit = { + OR = { + AND = { + exists = var:spellbook_open + var:current_spell_rank = 1 + } + var:create_portal_rank ?= 1 + } + scope:this_recipient ?= { is_travelling = yes } + } + set_variable = { + name = create_portal_destination + value = scope:this_recipient.current_travel_plan.final_destination_province + } + } + + if = { + limit = { + exists = var:create_portal_destination + } + var:create_portal_destination ?= { + save_scope_as = portal_destination + } + if = { # Armies - tooltip + limit = { + var:current_spell_rank = 3 + exists = scope:this_recipient + } + scope:this_recipient = { + teleport_army_effect = { DESTINATION = scope:portal_destination } + } + } + else_if = { # Armies - real + limit = { + exists = scope:this_recipient + var:create_portal_rank ?= 3 + } + scope:this_recipient = { + teleport_army_effect = { DESTINATION = scope:portal_destination } + } + remove_variable = current_destination + } + else_if = { # Multiple characters - tooltip + limit = { has_variable_list = spell_targets_list } + every_in_list = { + variable = spell_targets_list + save_scope_as = this_recipient + teleport_character_effect = { DESTINATION = scope:portal_destination } + } + } + else_if = { # Multiple characters - real + limit = { + has_variable_list = create_portal_targets_list + var:create_portal_rank ?= 2 + } + every_in_list = { + variable = create_portal_targets_list + save_scope_as = this_recipient + teleport_character_effect = { DESTINATION = scope:portal_destination } + } + remove_variable = current_destination + } + else_if = { # Character- tooltip + limit = { + var:current_spell_rank ?= 1 + exists = scope:this_recipient + } + if = { + limit = { + scope:this_recipient = { is_travelling = yes } + } + custom_tooltip = WC_TRAVEL_ENTOURAGE_TOOLTIP + } + scope:this_recipient = { + teleport_character_effect = { DESTINATION = scope:portal_destination } + } + if = { + limit = { + has_variable = create_portal_rank + } + remove_variable = current_destination + } + } + else_if = { # Character - real + limit = { + var:create_portal_spell_rank ?= 1 + exists = var:create_portal_recipient + } + scope:this_recipient = { + teleport_character_effect = { DESTINATION = scope:portal_destination } + } + if = { + limit = { + has_variable = create_portal_rank + } + remove_variable = current_destination + } + } + } +} + +teleport_character_effect = { + save_scope_as = portal_recipient + if = { + limit = { + location.county = $DESTINATION$.county + } + custom_tooltip = wc_spell_create_portal_tt_not + } + else = { + set_variable = { + name = create_portal_location + value = scope:portal_recipient.location + } + if = { + limit = { + is_commanding_army = yes + NOR = { + var:create_portal_rank ?= 3 + var:current_spell_rank ?= 3 + } + } + custom_tooltip = WC_ARMY_TOOLTIP_BAD + } + else_if = { + limit = { + is_travelling = yes + OR = { + var:create_portal_rank ?= 2 + var:current_spell_rank ?= 2 + } + } + custom_tooltip = WC_TRAVEL_ENTOURAGE_TOOLTIP_BAD + } + else_if = { + limit = { + is_travelling = yes + OR = { + var:create_portal_rank ?= 1 + var:current_spell_rank ?= 1 + } + } + custom_tooltip = { + text = wc_spell_create_portal_tt_entourage + current_travel_plan = { + every_entourage_character = { + set_variable = { + name = create_portal_location + value = scope:portal_recipient.location + } + set_location = { + location = $DESTINATION$.title_province + stick_to_location = yes + } + add_character_flag = { + flag = recently_teleported + months = 6 + } + } + add_destination_progress = { + days = 100000 + } + } + } + } + else = { + custom_tooltip = { + text = wc_spell_create_portal_tt + set_location = { + location = $DESTINATION$.title_province + stick_to_location = yes + } + add_character_flag = { + flag = recently_teleported + months = 6 + } + } + custom_tooltip = WC_TELEPORT_TOOLTIP_CD + } + } +} + +teleport_army_effect = { + save_scope_as = army_recipient + if = { + limit = { + location.county = $DESTINATION$.county + } + custom_tooltip = wc_spell_create_portal_tt_army_not + } + else = { + custom_tooltip = wc_spell_create_portal_tt_army_warning + custom_tooltip = { + text = wc_spell_create_portal_tt_army + army_commander = { + save_scope_as = portal_recipient + add_character_flag = { + flag = recently_teleported + months = 6 + } + } + set_army_location = $DESTINATION$.title_province + } + custom_tooltip = WC_TELEPORT_TOOLTIP_CD + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_magic_shadow_effects.txt b/common/scripted_effects/wc_magic_shadow_effects.txt new file mode 100644 index 0000000000..f36118b027 --- /dev/null +++ b/common/scripted_effects/wc_magic_shadow_effects.txt @@ -0,0 +1,869 @@ +init_shadow_spells_effect = { + add_to_global_variable_list = { name = shadow_spells target = flag:void_touch } + add_to_global_variable_list = { name = shadow_spells target = flag:summon_void_leader } + add_to_global_variable_list = { name = shadow_spells target = flag:voidborne } + add_to_global_variable_list = { name = shadow_spells target = flag:rend_flesh } + add_to_global_variable_list = { name = shadow_spells target = flag:mutate } + add_to_global_variable_list = { name = shadow_spells target = flag:drain_essence } + add_to_global_variable_list = { name = shadow_spells target = flag:insanity } + add_to_global_variable_list = { name = shadow_spells target = flag:mania } + add_to_global_variable_list = { name = shadow_spells target = flag:mind_blast } + add_to_global_variable_list = { name = shadow_spells target = flag:silence } + add_to_global_variable_list = { name = shadow_spells target = flag:shadow_crash } + add_to_global_variable_list = { name = shadow_spells target = flag:twisted_chains } + add_to_global_variable_list = { name = shadow_spells target = flag:ascension } + add_to_global_variable_list = { name = shadow_spells target = flag:whispers } + add_to_global_variable_list = { name = shadow_spells target = flag:dispersion } +} + +cast_void_touch_effect = { + get_recipient_effect = { SPELL = void_touch } + + scope:this_recipient ?= { + add_trait = void_sickness + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_void_sickness_me + target = root + } + } + } +} + +cast_summon_void_leader_effect = { + get_recipient_effect = { SPELL = summon_void_leader } + + + scope:this_recipient ?= { + custom_tooltip = void_leader_leave_tt + root = { save_scope_as = void_leader_caster } + trigger_event = { + id = wc_magic_spell_events.2000 + } + } +} + +cast_voidborne_effect = { + get_recipient_effect = { SPELL = voidborne } + + scope:this_recipient ?= { + show_as_tooltip = { add_trait = in_twisting_nether } + add_character_flag = is_siphoned_voidborne + root = { + save_scope_value_as = { + name = voidborne_prowess + value = scope:this_recipient.prowess + } + set_variable = { + name = voidborne_prowess + value = scope:this_recipient.prowess + } + set_variable = { name = voidborne_person value = scope:this_recipient } + show_as_tooltip = { add_character_modifier = wc_voidborne_modifier } + trigger_event = wc_magic_spell_events.2200 + } + add_character_flag = { + flag = wc_voidborne_cooldown + years = 26 + } + } +} + +cast_rend_flesh_effect = { + get_recipient_effect = { SPELL = rend_flesh } + + if = { + limit = { + exists = scope:this_recipient + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:rend_flesh_rank + var:rend_flesh_rank = 1 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 1 + exists = var:spellbook_open + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_rend_flesh_duration_days_value + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_rend_flesh_1_modifier + days = wc_current_spell_duration + } + add_character_flag = { + flag = rend_flesh_recently + years = 1 + } + } + } + else_if = { + limit = { + exists = scope:this_recipient + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:rend_flesh_rank + var:rend_flesh_rank = 2 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 2 + exists = var:spellbook_open + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_rend_flesh_duration_days_value + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_rend_flesh_2_modifier + days = wc_current_spell_duration + } + add_character_flag = { + flag = rend_flesh_recently + years = 1 + } + } + } + else_if = { + limit = { + exists = scope:this_recipient + OR = { # current_spell_rank is for tooltips + AND = { + exists = var:rend_flesh_rank + var:rend_flesh_rank = 3 + } + AND = { + exists = var:current_spell_rank + var:current_spell_rank = 3 + exists = var:spellbook_open + } + } + } + + root = { + save_temporary_scope_value_as = { + name = duration + value = wc_spell_rend_flesh_duration_days_value + } + } + scope:this_recipient = { + add_character_modifier = { + modifier = wc_rend_flesh_3_modifier + days = wc_current_spell_duration + } + add_character_flag = { + flag = rend_flesh_recently + years = 1 + } + } + } + + if = { + limit = { + root = { + has_perk = shadow_magic_tree_2_perk_3 + } + scope:this_recipient = { NOT = { has_trait = maimed } } + } + random = { + chance = 10 + scope:this_recipient = { + add_trait = maimed + } + } + } +} + +cast_mutate_effect = { + get_recipient_effect = { SPELL = mutate } + + scope:this_recipient ?= { + if = { + limit = { + any_character_trait = { + has_trait_flag = negative + has_trait_flag = genetic + has_trait_flag = leveled + NOT = { has_trait_flag = trait_level_3 } + } + } + random_list = { + 50 = { + custom_tooltip = { + text = wc_mutate_random_tt + add_random_negative_trait_effect = yes + } + } + 50 = { + custom_tooltip = { + text = wc_mutate_level_tt + level_random_existing_trait_effect = yes + } + } + } + } + else = { + add_random_negative_trait_effect = yes + } + add_character_flag = { + flag = mutate_recently + years = 2 + } + } +} + +add_random_negative_trait_effect = { + random_trait = { + limit = { + OR = { + AND = { + has_trait_flag = negative + has_trait_flag = genetic + has_trait_flag = leveled + has_trait_flag = trait_level_1 + } + AND = { + has_trait_flag = negative + has_trait_flag = genetic + NOT = { has_trait_flag = leveled } + } + } + } + save_scope_as = negative_genetic_trait + } + add_trait = scope:negative_genetic_trait + # Do it again in case the trait is not available + hidden_effect = { + if = { + limit = { + NOT = { has_trait = scope:negative_genetic_trait } + } + random_trait = { + limit = { + OR = { + AND = { + has_trait_flag = negative + has_trait_flag = genetic + has_trait_flag = leveled + has_trait_flag = trait_level_1 + } + AND = { + has_trait_flag = negative + has_trait_flag = genetic + NOT = { has_trait_flag = leveled } + } + } + NOT = { this = scope:negative_genetic_trait } + } + save_scope_as = negative_genetic_trait_2 + } + add_trait = scope:negative_genetic_trait_2 + + # Do it again in case the trait is not available + if = { + limit = { + NOT = { has_trait = scope:negative_genetic_trait_2 } + } + random_trait = { + limit = { + OR = { + AND = { + has_trait_flag = negative + has_trait_flag = genetic + has_trait_flag = leveled + has_trait_flag = trait_level_1 + } + AND = { + has_trait_flag = negative + has_trait_flag = genetic + NOT = { has_trait_flag = leveled } + } + } + NOR = { + this = scope:negative_genetic_trait + this = scope:negative_genetic_trait_2 + } + } + save_scope_as = negative_genetic_trait_3 + } + add_trait = scope:negative_genetic_trait_3 + } + } + } +} + +level_random_existing_trait_effect = { + if = { + limit = { + has_trait = intellect_bad_1 + } + remove_trait = intellect_bad_1 + add_trait = intellect_bad_2 + } + else_if = { + limit = { + has_trait = intellect_bad_2 + } + remove_trait = intellect_bad_2 + add_trait = intellect_bad_3 + } + else_if = { + limit = { + has_trait = physique_bad_1 + } + remove_trait = physique_bad_1 + add_trait = physique_bad_2 + } + else_if = { + limit = { + has_trait = physique_bad_2 + } + remove_trait = physique_bad_2 + add_trait = physique_bad_3 + } + else_if = { + limit = { + has_trait = beauty_bad_1 + } + remove_trait = beauty_bad_1 + add_trait = beauty_bad_2 + } + else_if = { + limit = { + has_trait = beauty_bad_2 + } + remove_trait = beauty_bad_2 + add_trait = beauty_bad_3 + } + else_if = { + limit = { + has_trait = magic_bad_1 + } + remove_trait = magic_bad_1 + add_trait = magic_bad_2 + } + else_if = { + limit = { + has_trait = magic_bad_2 + } + remove_trait = magic_bad_2 + add_trait = magic_bad_3 + } +} + +cast_drain_essence_effect = { + get_recipient_effect = { SPELL = drain_essence } + + save_scope_value_as = { + name = drain_essence_mana + value = wc_drain_essence_mana_gain_value + } + + scope:this_recipient ?= { + if = { + limit = { + has_variable = wc_current_mana_variable + var:wc_current_mana_variable >= scope:drain_essence_mana + } + wc_change_mana_by_value_effect = { + CHANGE = subtract + VALUE = scope:drain_essence_mana + } + root = { + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = scope:drain_essence_mana + } + } + } + else = { + custom_tooltip = drain_essence_no_mana_tt + } + if = { + limit = { + root = { + any_character_trait = { + has_trait_flag = injury + } + } + } + root = { + random_character_trait = { + limit = { + has_trait_flag = injury + } + save_scope_as = injury_trait + } + remove_trait = scope:injury_trait + } + add_trait = scope:injury_trait + } + else = { + custom_tooltip = drain_essence_no_injury_tt + } + add_character_flag = { + flag = drain_essence_recently + years = 2 + } + } +} + +cast_insanity_effect = { + get_recipient_effect = { SPELL = insanity } + + scope:this_recipient ?= { + add_stress = medium_stress_gain + add_character_modifier = { + modifier = wc_insanity_modifier + months = 6 + } + + if = { + limit = { + root = { has_perk = shadow_magic_tree_3_perk_4 } + } + random = { + chance = 10 + add_trait_force_tooltip = lunatic_1 + } + } + if = { + limit = { + root = { has_perk = shadow_magic_tree_3_perk_7 } + } + random = { + chance = 25 + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_silenced_me + target = root + } + } + add_character_modifier = { + modifier = wc_silenced_modifier + days = 90 + } + } + } + } +} +cast_mania_effect = { + get_recipient_effect = { SPELL = mania } + + scope:this_recipient ?= { + remove_psych_illness_effect = yes + add_character_modifier = { + modifier = wc_insanity_modifier + months = 3 + } + } + + add_character_modifier = { + modifier = wc_mania_modifier + days = wc_spell_mania_duration_days_value + } +} + +cast_mind_blast_effect = { + get_recipient_effect = { SPELL = mind_blast } + + scope:this_recipient ?= { + if = { + limit = { + has_hook = root + } + remove_hook = { target = root } + } + } + + if = { + limit = { + any_secret = { + is_known_by = scope:this_recipient + is_blackmailable_secret_trigger = { BLACKMAILER = scope:this_recipient PARTICIPANT = root } + } + } + ordered_secret = { + limit = { + is_known_by = scope:this_recipient + is_blackmailable_secret_trigger = { BLACKMAILER = scope:this_recipient PARTICIPANT = root } + } + order_by = 1 + disable_exposure_by = scope:this_recipient + } + } + + if = { + limit = { + has_perk = shadow_magic_tree_3_perk_8 + } + random = { + chance = 15 + add_hook = { + type = favor_hook + target = scope:this_recipient + } + } + } +} + +cast_silence_effect = { + get_recipient_effect = { SPELL = silence } + + save_temporary_scope_value_as = { + name = duration + value = wc_spell_silence_duration_days_value + } + + scope:this_recipient ?= { + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_silenced_me + target = root + } + } + add_character_modifier = { + modifier = wc_silenced_modifier + days = wc_current_spell_duration + } + } +} + +cast_shadow_crash_effect = { + get_recipient_effect = { SPELL = shadow_crash } + save_temporary_scope_value_as = { + name = duration + value = wc_spell_shadow_crash_duration_days_value + } + + scope:this_recipient ?= { + holder = { + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_shadow_crashed_me + target = root + } + } + } + change_development_level = -5 + custom_tooltip = { + text = wc_spell_shadow_crash_tt + + every_in_de_jure_hierarchy = { + limit = { + tier = tier_barony + exists = holder + } + title_province = { + every_character_in_location = { + add_character_modifier = { + modifier = wc_shadow_crashed_modifier + days = wc_current_spell_duration + } + } + } + } + } + } +} + +cast_twisted_chains_effect = { + get_recipient_effect = { SPELL = twisted_chains } + + add_character_modifier = { + modifier = wc_twisted_chains_modifier + days = wc_spell_twisted_chains_duration_days_value + } + + remove_shadow_spells_cd = yes + + hidden_effect = { + if = { + limit = { + has_character_modifier = wc_twisted_chains_dread_modifier + } + remove_character_modifier = wc_twisted_chains_dread_modifier + } + } + + add_character_modifier = { + modifier = wc_twisted_chains_dread_modifier + } + + add_dread = 50 + + scope:this_recipient ?= { + if = { + limit = { + NOT = { this = root } + } + add_opinion = { + modifier = wc_twisted_chains_me + target = root + } + } + if = { + limit = { + is_at_war_with = root + } + every_army = { + limit = { army_owner = scope:this_recipient } + deplete_army_by_percentage = root.twisted_chains_decrease_value_percent + } + } + else = { + custom_tooltip = { + text = wc_spell_twisted_chains_tt_counties + every_sub_realm_county = { + change_development_level = root.twisted_chains_decrease_value + change_county_control = root.twisted_chains_decrease_value + } + } + } + } +} + +remove_shadow_spells_cd = { + custom_tooltip = { + text = wc_spell_twisted_chains_tt + every_in_list = { + variable = spells_cd + save_scope_as = cd_spell + if = { + limit = { + root = { + any_in_global_list = { + variable = shadow_spells + this = scope:cd_spell + } + NOT = { + spell_is_ritual_trigger = { SPELL = scope:cd_spell } + } + } + } + root = { + execute_scoped_spell_effect = { SPELL = scope:cd_spell EFFECT = remove_spell_cooldown_effect } + } + } + } + } +} + +cast_ascension_effect = { + show_as_tooltip = { + add_character_modifier = { + modifier = wc_ascension_modifier + } + } + trigger_event = wc_magic_spell_events.2400 + trigger_event = { + id = wc_magic_spell_events.2420 + days = wc_spell_ascension_duration_days_value + } +} + +ascension_checker_effect = { + if = { + limit = { + exists = liege + any_liege_or_above = { + has_character_modifier = wc_ascension_modifier + } + } + every_liege_or_above = { + limit = { + has_character_modifier = wc_ascension_modifier + } + ascension_add_eps = { COURTIER = root SOURCE = $SOURCE$ } + } + } +} +ascension_add_eps = { + save_scope_as = master + save_scope_value_as = { + name = ep_source + value = flag:$SOURCE$ + } + $COURTIER$ = { + save_scope_as = ascended + save_scope_value_as = { + name = wc_ep_gain + value = wc_ep_gain + } + } + if = { + limit = { + NOT = { has_variable = wc_eps_from_$SOURCE$ } + } + set_variable = { + name = wc_eps_from_$SOURCE$ + value = 0 + } + } + change_variable = { + name = wc_eps_from_$SOURCE$ + add = scope:wc_ep_gain + } + if = { # Make sure we're giving the points to the right character + limit = { + scope:ascended = { NOT = { has_variable = wc_evolution_master } } + } + scope:ascended = { + set_variable = { + name = wc_evolution_master + value = scope:master + } + } + } + else_if = { + limit = { + NOT = { scope:ascended = { var:wc_evolution_master = scope:master } } + } + var:wc_evolution_master = { + remove_list_variable = { + name = ascendants + target = scope:ascended + } + } + scope:ascended = { + set_variable = { + name = wc_evolution_master + value = scope:master + } + set_variable = { # RESET POINTS + name = wc_evolution_points + value = 0 + } + } + } + + if = { + limit = { + scope:ascended = { + NOT = { has_variable = wc_evolution_points } + } + } + scope:ascended = { + set_variable = { + name = wc_evolution_points + value = 0 + } + } + } + + change_variable = { + name = wc_ascension_points + add = scope:wc_ep_gain + } + scope:ascended = { + change_variable = { + name = wc_evolution_points + add = scope:wc_ep_gain + } + } + scope:master = { + add_to_variable_list = { name = ascendants target = scope:ascended } + # Get ur top ascendant + ordered_in_list = { + variable = ascendants + order_by = { + value = wc_spell_ascension_eps_value_courtier + } + save_scope_as = top_guy + scope:master = { + set_variable = { + name = top_ascendant + value = scope:top_guy + } + set_variable = { + name = top_ascendant_points + value = scope:top_guy.wc_spell_ascension_eps_value_courtier + } + } + } + } + + + if = { + limit = { + scope:ascended = { + var:wc_evolution_points >= 10 + NOT = { has_character_flag = wc_ascendant } + } + } + + trigger_event = { + id = wc_magic_spell_events.2410 + days = { 5 10 } + } + } +} + +cast_whispers_effect = { + get_recipient_effect = { SPELL = whispers } + save_scope_as = tormentor + + scope:this_recipient ?= { + custom_tooltip = whispers_tt + create_story = { + type = story_cycle_whispers + } + every_owned_story = { + limit = { story_type = story_cycle_whispers } + set_variable = { name = tormentor value = scope:tormentor } + } + add_opinion = { + modifier = tortured_me + target = root + } + } +} + +cast_dispersion_effect = { # Refer to Dispel sheet + if = { + limit = { + NOT = { exists = scope:cancel } + } + get_recipient_effect = { SPELL = dispersion } + + scope:this_recipient = { + add_character_modifier = wc_dispersion_modifier + } + } + else = { + var:dispersion_recipient = { + if = { + limit = { + has_character_modifier = wc_dispersion_modifier + } + remove_character_modifier = wc_dispersion_modifier + } + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_other_effects.txt b/common/scripted_effects/wc_other_effects.txt index a2f10350d1..10632ab7d8 100644 --- a/common/scripted_effects/wc_other_effects.txt +++ b/common/scripted_effects/wc_other_effects.txt @@ -66,7 +66,8 @@ start_cultural_and_religious_propaganda_campaign = { wc_resurrect_CHARACTER_with_STATUS_effect = { # STATUS = [alive, undead, lich] if = { limit = { $CHARACTER$ = { is_alive = no } } - # Copy DNA (must do before the char dies) + set_dead_character_variable = { name = resurrected value = yes years = 100 } + # Copy DNA (must do before the char dies) create_character = { age = $CHARACTER$.age gender = $CHARACTER$ diff --git a/common/scripted_effects/wc_perk_effects.txt b/common/scripted_effects/wc_perk_effects.txt new file mode 100644 index 0000000000..7889c4c43c --- /dev/null +++ b/common/scripted_effects/wc_perk_effects.txt @@ -0,0 +1,11 @@ +increment_eternal_suffering_effect = { + switch = { + trigger = has_inactive_trait + eternal_suffering_5 = { } + eternal_suffering_4 = { make_trait_inactive = eternal_suffering_5 } + eternal_suffering_3 = { make_trait_inactive = eternal_suffering_4 } + eternal_suffering_2 = { make_trait_inactive = eternal_suffering_3 } + eternal_suffering_1 = { make_trait_inactive = eternal_suffering_2 } + fallback = { hidden_effect = { make_trait_inactive = eternal_suffering_1 } } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_plague_effects.txt b/common/scripted_effects/wc_plague_effects.txt index 1e624d1327..1b9f2222eb 100644 --- a/common/scripted_effects/wc_plague_effects.txt +++ b/common/scripted_effects/wc_plague_effects.txt @@ -78,11 +78,11 @@ spawn_plague_troops_effect = { $PLAGUER$ = { spawn_army = { men_at_arms = { - type = ghoul + type = ghoul_maa stacks = scope:ghoul_to_raise } men_at_arms = { - type = abomination + type = abomination_maa stacks = scope:abomination_to_raise } location = scope:spawn_province diff --git a/common/scripted_effects/wc_resource_effects.txt b/common/scripted_effects/wc_resource_effects.txt new file mode 100644 index 0000000000..5c972bffc5 --- /dev/null +++ b/common/scripted_effects/wc_resource_effects.txt @@ -0,0 +1,114 @@ +wc_change_mana_by_value_effect = { + custom_description = { # Tooltip for changing elemental favour + text = wc_$CHANGE$_mana_value_effect + value = $VALUE$ + change_variable = { name = wc_current_mana_variable $CHANGE$ = $VALUE$ } + clamp_variable = { name = wc_current_mana_variable max = wc_max_mana_value } + } + if = { + limit = { + var:wc_current_mana_variable <= 0 + } + cancel_channeled_spells_effect = yes + } + wc_recalculate_prowess_from_mana_effect = yes +} + +wc_set_mana_to_amount_effect = { + set_variable = { name = wc_current_mana_variable value = $AMOUNT$ } + + clamp_variable = { name = wc_current_mana_variable max = wc_max_mana_value } + wc_recalculate_prowess_from_mana_effect = yes +} + +wc_recalculate_prowess_from_mana_effect = { + hidden_effect = { + if = { + limit = { # So that prowess and related things to it, like army quality, don't flick every month + trigger_if = { + limit = { has_variable = wc_current_mana_to_prowess_variable } + OR = { + NOT = { wc_current_mana_to_prowess_value = var:wc_current_mana_to_prowess_variable } + var:wc_current_mana_to_prowess_variable = 1 + } + } + trigger_else = { + always = yes + } + } + + + if = { + limit = { + wc_current_mana_to_prowess_value > 0 + } + if = { + limit = { + has_character_modifier = wc_prowess_from_available_mana_modifier + } + remove_character_modifier = wc_prowess_from_available_mana_modifier + } + + add_character_modifier = { modifier = wc_prowess_from_available_mana_modifier } + } + set_variable = { name = wc_current_mana_to_prowess_variable value = wc_current_mana_to_prowess_value } + } + } +} + +wc_start_mana_regeneration_loop_effect = { + if = { + limit = { + NOT = { has_variable = wc_current_mana_variable } + # wc_mana_regeneration_value > 0 + wc_max_mana_value > 0 + } + + wc_set_mana_to_amount_effect = { AMOUNT = wc_max_mana_value } + trigger_event = { + on_action = wc_on_mana_regeneration + days = { 1 28 } # So it will not cause a major lag on every 1st of each month + } + } +} +wc_fill_mana_on_day_one_from_perks_crutch_effect = { # Crutch for mages to have full mana on day 1 + if = { + limit = { game_start_day_trigger = yes } + + wc_set_mana_to_amount_effect = { AMOUNT = wc_max_mana_value } + } +} +wc_EFFECT_magical_TRAIT_effect = { # add_trait/add_trait_force_tooltip/other with wc_start_mana_regeneration_loop_effect for any trait that gives mana + $EFFECT$ = $TRAIT$ + wc_start_mana_regeneration_loop_effect = yes # Starts mana regeneration loop +} + +wc_change_hp_by_value_effect = { + custom_description = { # Tooltip for changing elemental favour + text = wc_$CHANGE$_hp_value_effect + value = $VALUE$ + #health = $VALUE$ + change_variable = { name = wc_current_hp_variable $CHANGE$ = $VALUE$ } + clamp_variable = { name = wc_current_hp_variable max = wc_hp_capacity_value } + } +} + +wc_set_hp_to_amount_effect = { + set_variable = { name = wc_current_hp_variable value = $AMOUNT$ } + + clamp_variable = { name = wc_current_hp_variable max = wc_hp_capacity_value } +} + +wc_start_hp_regeneration_loop_effect = { + if = { + limit = { + NOT = { has_variable = wc_current_hp_variable } + } + + wc_set_hp_to_amount_effect = { AMOUNT = wc_hp_capacity_value } + trigger_event = { + on_action = wc_on_health_regeneration + days = { 1 28 } # So it will not cause a major lag on every 1st of each month + } + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_scourge_invasion_effects.txt b/common/scripted_effects/wc_scourge_invasion_effects.txt index fcea201642..9fd2493d7f 100644 --- a/common/scripted_effects/wc_scourge_invasion_effects.txt +++ b/common/scripted_effects/wc_scourge_invasion_effects.txt @@ -30,7 +30,7 @@ spawn_scourge_troops_effect = { inheritable = yes name = scourge_event_troops men_at_arms = { - type = ghoul + type = ghoul_maa stacks = 7 } men_at_arms = { @@ -38,7 +38,7 @@ spawn_scourge_troops_effect = { stacks = 1 } men_at_arms = { - type = abomination + type = abomination_maa stacks = 1 } men_at_arms = { diff --git a/common/scripted_effects/wc_secret_effects.txt b/common/scripted_effects/wc_secret_effects.txt new file mode 100644 index 0000000000..847c56a27b --- /dev/null +++ b/common/scripted_effects/wc_secret_effects.txt @@ -0,0 +1,8 @@ +wc_remove_secret_override = { + if = { + limit = { + is_magic_secret_trigger = no + } + remove_secret = yes + } +} \ No newline at end of file diff --git a/common/scripted_effects/wc_spells_effects.txt b/common/scripted_effects/wc_spells_effects.txt new file mode 100644 index 0000000000..5f282702bb --- /dev/null +++ b/common/scripted_effects/wc_spells_effects.txt @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/common/scripted_effects/wc_vanilla_effects.txt b/common/scripted_effects/wc_vanilla_effects.txt index 02dcb2f222..0c6c7f5fc5 100644 --- a/common/scripted_effects/wc_vanilla_effects.txt +++ b/common/scripted_effects/wc_vanilla_effects.txt @@ -31,175 +31,320 @@ override_death_effect = { limit = { return_to_twisting_nether_trigger = yes } return_to_twisting_nether_effect = yes } + else_if = { + limit = { + has_character_modifier = wc_salvation_modifier + NOR = { + scope:death_reason = flag:death_natural_causes + scope:death_reason = flag:death_peaceful + scope:death_reason = flag:death_old_age + } + } + show_as_tooltip = { + proc_salvation_effect = yes + } + trigger_event = { + id = wc_magic_spell_events.1000 + } + } + else_if = { + limit = { + has_variable = crimson_binding_target + } + var:crimson_binding_target = { + death = { death_reason = $death_reason$ } + } + send_interface_toast = { + title = wc_crimson_binding_activated + left_icon = var:crimson_binding_target + right_icon = root + custom_tooltip = wc_crimson_binding_activated_tt + } + remove_variable = crimson_binding_target + } + else_if = { + limit = { + has_character_modifier = wc_dispersion_modifier + } + random = { + chance = 50 + death = { death_reason = $death_reason$ } + } + } else = { death = { death_reason = $death_reason$ } } } } } - else = { - if = { - limit = { return_to_twisting_nether_trigger = yes } - return_to_twisting_nether_effect = yes - } - else = { - death = { death_reason = $death_reason$ } - } - } -} -override_death_killer_effect = { - save_scope_value_as = { - name = death_reason - value = flag:$death_reason$ - } - if = { limit = { scope:death_reason = flag:$death_reason$ } } #to remove entire error list in error.log, honestly i dont even know why we need this save_scope_value_as - $killer$ = { save_scope_as = killer } - - if = { - limit = { return_to_twisting_nether_trigger = yes } + else_if = { + limit = { return_to_twisting_nether_trigger = yes } return_to_twisting_nether_effect = yes - random_secret = { - limit = { - secret_type = secret_murder - secret_target = scope:killer - } - set_variable = { - name = was_banished_to_nether - value = yes - } - } } - else = { - death = { death_reason = $death_reason$ killer = $killer$ } + else_if = { + limit = { + has_character_modifier = wc_salvation_modifier + NOR = { + scope:death_reason = flag:death_natural_causes + scope:death_reason = flag:death_peaceful + scope:death_reason = flag:death_old_age + } + } + show_as_tooltip = { + proc_salvation_effect = yes + } + trigger_event = { + id = wc_magic_spell_events.1000 + } + } + else_if = { + limit = { + has_variable = crimson_binding_target + } + var:crimson_binding_target = { + death = { death_reason = $death_reason$ } + } + send_interface_toast = { + title = wc_crimson_binding_activated + left_icon = var:crimson_binding_target + right_icon = root + custom_tooltip = wc_crimson_binding_activated_tt + } + remove_variable = crimson_binding_target + } + else_if = { + limit = { + has_character_modifier = wc_dispersion_modifier + } + random = { + chance = 50 + death = { death_reason = $death_reason$ } + } + } + else = { + death = { death_reason = $death_reason$ } } } +override_death_killer_effect = { + if = { + limit = { + is_alive = yes + } + save_scope_value_as = { + name = death_reason + value = flag:$death_reason$ + } + if = { limit = { scope:death_reason = flag:$death_reason$ } } #to remove entire error list in error.log, honestly i dont even know why we need this save_scope_value_as + $killer$ = { save_scope_as = killer } + + if = { + limit = { return_to_twisting_nether_trigger = yes } + return_to_twisting_nether_effect = yes + random_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:killer + } + set_variable = { + name = was_banished_to_nether + value = yes + } + } + } + else_if = { + limit = { has_character_modifier = wc_salvation_modifier } + show_as_tooltip = { + proc_salvation_effect = yes + } + trigger_event = { + id = wc_magic_spell_events.1000 + } + random_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:killer + } + set_variable = { + name = was_saved_with_salvation + value = yes + } + } + } + else_if = { + limit = { + has_variable = crimson_binding_target + } + var:crimson_binding_target = { + save_temporary_scope_as = crimson_binding_target + death = { death_reason = $death_reason$ killer = $killer$ } + } + send_interface_toast = { + title = wc_crimson_binding_activated + left_icon = var:crimson_binding_target + right_icon = root + custom_tooltip = wc_crimson_binding_activated_tt + } + remove_variable = crimson_binding_target + } + else = { + death = { death_reason = $death_reason$ killer = $killer$ } + scope:killer = { + ascension_checker_effect = { SOURCE = death } + } + } + } +} override_death_killer_artifact_effect = { - save_scope_value_as = { - name = death_reason - value = flag:$death_reason$ - } - if = { limit = { scope:death_reason = flag:$death_reason$ } } #to remove entire error list in error.log, honestly i dont even know why we need this save_scope_value_as - $killer$ = { save_scope_as = killer } + if = { + limit = { + is_alive = yes + } + save_scope_value_as = { + name = death_reason + value = flag:$death_reason$ + } + if = { limit = { scope:death_reason = flag:$death_reason$ } } #to remove entire error list in error.log, honestly i dont even know why we need this save_scope_value_as + $killer$ = { save_scope_as = killer } - if = { - limit = { return_to_twisting_nether_trigger = yes } - return_to_twisting_nether_effect = yes - random_secret = { - limit = { - secret_type = secret_murder - secret_target = scope:killer - } - set_variable = { - name = was_banished_to_nether - value = yes - } - } - } - else = { - death = { death_reason = $death_reason$ killer = $killer$ artifact = $artifact$ } - } - - $killer$ = { buff_frostmourne_if_equipped_effect = yes } + if = { + limit = { return_to_twisting_nether_trigger = yes } + return_to_twisting_nether_effect = yes + random_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:killer + } + set_variable = { + name = was_banished_to_nether + value = yes + } + } + } + if = { + limit = { has_character_modifier = wc_salvation_modifier } + show_as_tooltip = { + proc_salvation_effect = yes + } + trigger_event = { + id = wc_magic_spell_events.1000 + } + random_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:killer + } + set_variable = { + name = was_saved_with_salvation + value = yes + } + } + } + else = { + death = { death_reason = $death_reason$ killer = $killer$ artifact = $artifact$ } + } + + $killer$ = { buff_frostmourne_if_equipped_effect = yes } + } } create_new_custom_empire_decision_effect = { - custom_tooltip = create_new_empire - show_as_tooltip = { - every_held_title = { - custom = create_title_every_held_kingdom - limit = { - tier = tier_kingdom - } - custom_tooltip = create_custom_empire_de_jure_changes - } - } + custom_tooltip = create_new_empire + show_as_tooltip = { + every_held_title = { + custom = create_title_every_held_kingdom + limit = { + tier = tier_kingdom + } + custom_tooltip = create_custom_empire_de_jure_changes + } + } - hidden_effect = { - save_scope_as = founder - primary_title = { - save_scope_as = old_title - } + hidden_effect = { + save_scope_as = founder + primary_title = { + save_scope_as = old_title + } - create_dynamic_title = { - tier = empire - name = $NAME$ - } - create_title_and_vassal_change = { - type = created - save_scope_as = change - add_claim_on_loss = no - } + create_dynamic_title = { + tier = empire + name = $NAME$ + } + create_title_and_vassal_change = { + type = created + save_scope_as = change + add_claim_on_loss = no + } - scope:new_title = { - change_title_holder = { - holder = root - change = scope:change - } - } + scope:new_title = { + change_title_holder = { + holder = root + change = scope:change + } + } - resolve_title_and_vassal_change = scope:change + resolve_title_and_vassal_change = scope:change - every_held_title = { - limit = { - tier = tier_kingdom - } - if = { - limit = { - #Check if you need to notify a player - exists = empire - empire = { - exists = holder - holder = { - NOT = { this = root } - is_ai = no - } - } - } - add_to_temporary_list = kingdoms_for_notification - root = { - save_temporary_scope_value_as = { - name = send_notifications - value = yes - } - } - } - set_de_jure_liege_title = scope:new_title - } + every_held_title = { + limit = { + tier = tier_kingdom + } + if = { + limit = { + #Check if you need to notify a player + exists = empire + empire = { + exists = holder + holder = { + NOT = { this = root } + is_ai = no + } + } + } + add_to_temporary_list = kingdoms_for_notification + root = { + save_temporary_scope_value_as = { + name = send_notifications + value = yes + } + } + } + set_de_jure_liege_title = scope:new_title + } - every_sub_realm_county = { - limit = { - exists = kingdom - NOT = { exists = kingdom.holder } - holder.top_liege = root - kingdom = { - save_temporary_scope_as = test_kingdom - } - holder.top_liege = { - completely_controls = scope:test_kingdom - } - } - if = { - limit = { - NOT = { - kingdom = { - is_in_list = additional_de_jure_kingdoms - } - } - } - kingdom = { - set_de_jure_liege_title = scope:new_title - add_to_list = additional_de_jure_kingdoms - } - } - } + every_sub_realm_county = { + limit = { + exists = kingdom + NOT = { exists = kingdom.holder } + holder.top_liege = root + kingdom = { + save_temporary_scope_as = test_kingdom + } + holder.top_liege = { + completely_controls = scope:test_kingdom + } + } + if = { + limit = { + NOT = { + kingdom = { + is_in_list = additional_de_jure_kingdoms + } + } + } + kingdom = { + set_de_jure_liege_title = scope:new_title + add_to_list = additional_de_jure_kingdoms + } + } + } - scope:new_title = { - set_coa = scope:old_title - set_color_from_title = scope:old_title - set_capital_county = scope:old_title.title_capital_county - } - set_primary_title_to = scope:new_title - } + scope:new_title = { + set_coa = scope:old_title + set_color_from_title = scope:old_title + set_capital_county = scope:old_title.title_capital_county + } + set_primary_title_to = scope:new_title + } } wc_adopt_clothing_gfx_for_culture_effect = { diff --git a/common/scripted_guis/wc_magic_guis.txt b/common/scripted_guis/wc_magic_guis.txt new file mode 100644 index 0000000000..dca08e325e --- /dev/null +++ b/common/scripted_guis/wc_magic_guis.txt @@ -0,0 +1,2385 @@ +wc_show_mana_gui = { scope = character is_shown = { wc_max_mana_value > 0 } } # Used to show/hide the entire interface +wc_show_mp_gui = { scope = character is_shown = { wc_mp_value > 0 } } # Used to show/hide the entire interface + +wc_has_mp_gui = { scope = character is_valid = { wc_mp_value > 0 } } # Used to show/hide the entire interface +open_spellbook_sgui = { + scope = character + + effect = { + # Temporary list so spell types will be displayed + if = { + limit = { + NOT = { has_variable_list = spell_types } + } + + create_spell_types_effect = yes + + if = { + limit = { + exists = var:last_elemental_type + } + set_variable = { + name = elemental_type + value = var:last_elemental_type + } + } + + + add_to_variable_list = { name = spell_elemental_types target = flag:decay } + add_to_variable_list = { name = spell_elemental_types target = flag:spirit } + + add_to_variable_list = { name = spell_ranks target = flag:rank_1 } + add_to_variable_list = { name = spell_ranks target = flag:rank_2 } + add_to_variable_list = { name = spell_ranks target = flag:rank_3 } + } + if = { # So they open same page everytime + limit = { + NOT = { exists = var:spellbook_index } + } + set_variable = { + name = spellbook_index + value = 0 + } + } + } +} + +open_raise_dead_sgui = { + scope = character + + effect = { + init_raise_undead_types_effect = yes + init_supreme_raise_dead_types_effect = yes + } +} + +init_spells_sgui = { + scope = character + effect = { + if = { + limit = { + NOT = { has_variable_list = spell_types } + } + create_spell_types_effect = yes + } + } +} + + +open_spellbook_lite_sgui = { + scope = character + effect = { + set_variable = { + name = spellbook_open + value = yes + } + } +} + +set_spell_target_sgui = { + scope = character + saved_scopes = { target } + effect = { + set_variable = { name = spell_recipient value = scope:target } + set_variable = { + name = spellbook_open + value = yes + } + add_to_recently_casted_list_effect = { TARGET = scope:target } + } +} + +can_open_spellbook_sgui = { + +} + +close_spellbook_sgui = { + scope = character + effect = { + # Remove all spell-related variables + remove_variable = current_spell_name + remove_variable = current_spell_rank + remove_variable = current_spell_mana_cost + remove_variable = current_spell_class + remove_variable = current_target_type + if = { + limit = { + has_variable = elemental_type + } + set_variable = { + name = last_elemental_type + value = var:elemental_type + } + } + remove_variable = current_secondary_interaction + + remove_variable = elemental_type + remove_variable = spellbook_open + clear_variable_list = elemental_types + clear_variable_list = spell_ranks + + remove_variable = spell_recipient + remove_variable = original_recipient + remove_variable = spellbook_type_cast + remove_variable = spellbook_type_view + remove_variable = spell_targets_list + remove_variable = previous_target + clear_variable_list = target_titles + + + remove_variable = spellbook_open + remove_variable = direct_only + remove_variable = eligible_only + remove_variable = current_secondary_interaction + remove_variable = current_secondary_interaction_target + } +} + +close_raise_dead_sgui = { + scope = character + effect = { + remove_variable = current_raise_dead_type + } +} + +close_spellbook_lite_sgui = { + scope = character + effect = { + remove_variable = spellbook_open + } +} + + +update_current_spell_class_sgui = { + scope = character + saved_scopes = { class } + effect = { + set_variable = { + name = current_spell_class + value = scope:class + } + remove_variable = current_spell_name + clear_variable_list = spell_targets_list + if = { + limit = { + exists = var:current_spell_class + OR = { + var:current_spell_class = flag:elemental_air + var:current_spell_class = flag:elemental_water + var:current_spell_class = flag:elemental_fire + var:current_spell_class = flag:elemental_earth + } + exists = var:last_elemental_type + } + set_variable = { + name = elemental_type + value = var:last_elemental_type + } + } + } +} + +set_current_spell_sgui = { + scope = character + saved_scopes = { spell } + effect = { + if = { + limit = { + has_variable = current_spell_name + } + if = { + limit = { + has_variable_list = spell_targets_list + } + clear_variable_list = spell_targets_list + } + if = { + limit = { + has_variable = original_recipient + } + remove_variable = original_recipient + } + if = { + limit = { + has_variable = spell_recipient + } + remove_variable = spell_recipient + } + } + set_variable = { + name = current_spell_name + value = scope:spell + } + clear_variable_list = spell_targets_list + if = { + limit = { + NOT = { + spell_has_ranks_trigger = { + SPELL = var:current_spell_name + } + } + } + set_variable = { + name = current_spell_rank + value = 0 + } + } + else = { + set_variable = { + name = current_spell_rank + value = 1 + } + } + if = { + limit = { + has_variable = current_target_type + } + set_variable = { + name = old_target_type + value = var:current_target_type + } + } + else = { + set_variable = { + name = old_target_type + value = flag:poop + } + } + # getting the target type by rank + if = { + limit = { spell_target_is_character_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:character_list } + } + else_if = { + limit = { spell_target_is_province_or_title_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:title } + } + else_if = { + limit = { spell_target_is_character_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:character } + } + else_if = { + limit = { spell_target_is_province_or_title_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:title_list } + } + else_if = { + limit = { + spell_target_is_enemy_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + spell_target_is_friendly_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:army } + } + else_if = { + limit = { + spell_target_is_friendly_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:friendly_army } + } + else_if = { + limit = { + spell_target_is_enemy_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:enemy_army } + } + execute_scoped_spell_effect = { + SPELL = var:current_spell_name + EFFECT = set_spell_mana_cost_variable_effect + } + if = { + limit = { + OR = { + var:old_target_type = flag:character + var:old_target_type = flag:poop + } + NOT = { var:current_target_type = flag:character } + NOT = { exists = var:original_recipient } + } + set_variable = { + name = original_recipient + value = var:spell_recipient + } + remove_variable = spell_recipient + } + else_if = { + limit = { + var:current_target_type = flag:character + NOT = { var:old_target_type = flag:character } + exists = var:original_recipient + } + set_variable = { + name = spell_recipient + value = var:original_recipient + } + remove_variable = original_recipient + } + else_if = { + limit = { + OR = { + var:current_target_type = flag:title_list + var:current_target_type = flag:title + var:current_target_type = flag:army + var:current_target_type = flag:enemy_army + var:current_target_type = flag:friendly_army + } + OR = { + var:old_target_type = flag:title_list + var:old_target_type = flag:title + var:old_target_type = flag:army + var:old_target_type = flag:enemy_army + var:old_target_type = flag:friendly_army + } + NOT = { var:old_target_type = var:current_target_type } + exists = var:original_recipient + exists = var:spell_recipient + } + remove_variable = spell_recipient + } + set_spell_secondary_interaction_effect = { SPELL = var:current_spell_name } + # something for lists ? + remove_variable = old_target_type + get_reccomended_targets_list = yes + } +} + +set_current_raise_dead_type_sgui = { + scope = character + saved_scopes = { type } + effect = { + set_variable = { + name = current_raise_dead_type + value = scope:type + } + } +} + +set_raise_dead_type_sgui = { + scope = character + effect = { + set_variable = { + name = raise_dead_type + value = var:current_raise_dead_type + } + } +} + +set_spell_rank_sgui = { + scope = character + saved_scopes = { function } + effect = { + if = { + limit = { + has_variable_list = spell_targets_list + } + clear_variable_list = spell_targets_list + } + get_reccomended_targets_list = yes + switch = { + trigger = scope:function + flag:rank_1 = { + set_variable = { + name = current_spell_rank + value = 1 + } + } + flag:rank_2 = { + set_variable = { + name = current_spell_rank + value = 2 + } + } + flag:rank_3 = { + set_variable = { + name = current_spell_rank + value = 3 + } + } + } + if = { + limit = { + has_variable = current_target_type + } + set_variable = { + name = old_target_type + value = var:current_target_type + } + } + else = { + set_variable = { + name = old_target_type + value = flag:poop + } + } + # getting the target type by rank + if = { + limit = { spell_target_is_character_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:character_list } + } + else_if = { + limit = { spell_target_is_province_or_title_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:title } + } + else_if = { + limit = { spell_target_is_character_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:character } + } + else_if = { + limit = { spell_target_is_province_or_title_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } } + set_variable = { name = current_target_type value = flag:title_list } + } + else_if = { + limit = { + spell_target_is_enemy_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + spell_target_is_friendly_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:army } + } + else_if = { + limit = { + spell_target_is_friendly_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:friendly_army } + } + else_if = { + limit = { + spell_target_is_enemy_army_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + set_variable = { name = current_target_type value = flag:enemy_army } + } + execute_scoped_spell_effect = { + SPELL = var:current_spell_name + EFFECT = set_spell_mana_cost_variable_effect + } + if = { + limit = { + var:old_target_type = flag:character + NOT = { var:current_target_type = flag:character } + NOT = { exists = var:original_recipient } + } + set_variable = { + name = original_recipient + value = var:spell_recipient + } + remove_variable = spell_recipient + } + else_if = { + limit = { + var:current_target_type = flag:character + NOT = { var:old_target_type = flag:character } + exists = var:original_recipient + } + set_variable = { + name = spell_recipient + value = var:original_recipient + } + remove_variable = original_recipient + } + else_if = { + limit = { + OR = { + var:current_target_type = flag:title_list + var:current_target_type = flag:title + var:current_target_type = flag:army + var:current_target_type = flag:enemy_army + var:current_target_type = flag:friendly_army + } + OR = { + var:old_target_type = flag:title_list + var:old_target_type = flag:title + var:old_target_type = flag:army + var:old_target_type = flag:enemy_army + var:old_target_type = flag:friendly_army + } + NOT = { var:old_target_type = var:current_target_type } + exists = var:original_recipient + exists = var:spell_recipient + } + remove_variable = spell_recipient + } + # something for lists ? + remove_variable = old_target_type + } +} + +set_spirit_decay_sgui = { + scope = character + saved_scopes = { function } + effect = { + set_variable = { + name = elemental_type + value = scope:function + } + } +} + +is_spell_elemental_sgui = { + scope = character + is_valid = { + AND = { + exists = var:current_spell_class + OR = { + var:current_spell_class = flag:elemental_air + var:current_spell_class = flag:elemental_water + var:current_spell_class = flag:elemental_fire + var:current_spell_class = flag:elemental_earth + } + } + } +} + +does_spell_have_ranks_sgui = { + scope = character + is_valid = { + exists = var:current_spell_name + spell_has_ranks_trigger = { SPELL = var:current_spell_name } + } +} + +clear_selected_spell_sgui = { + scope = character + effect = { + remove_variable = current_spell_name + } +} + +spell_is_ritual_sgui = { + scope = character + saved_scopes = { spell } + is_valid = { + spell_is_ritual_trigger = { + SPELL = scope:spell + } + } +} +can_select_spell_sgui = { + scope = character + saved_scopes = { spell } + is_valid = { + trigger_if = { + limit = { + spell_hack_activated_trigger = no + wc_presence_of_mind_activated_trigger = no + wc_reverse_causality_activated_trigger = no + } + is_known_spell_trigger = { + SPELL = scope:spell + } + NOT = { + ritual_on_cooldown_trigger = { + SPELL = scope:spell + } + } + NOT = { + spell_on_cooldown_trigger = { + SPELL = scope:spell + } + } + NOT = { + is_casting_spell_trigger = { + SPELL = scope:spell + } + } + NOT = { + already_channeling_spell_trigger = { + SPELL = scope:spell + } + } + } + trigger_else_if = { + limit = { + spell_hack_activated_trigger = yes + } + NOT = { spell_cant_be_hacked_trigger = { SPELL = scope:spell } } + } + trigger_else_if = { + limit = { + wc_presence_of_mind_activated_trigger = yes + } + custom_tooltip = { + text = WC_CANT_REDUCE_RITUAL_SPELL + NOT = { spell_is_ritual_trigger = { SPELL = scope:spell } } + } + + spell_on_cooldown_trigger = { + SPELL = scope:spell + } + } + trigger_else = { + is_known_spell_trigger = { + SPELL = scope:spell + } + custom_tooltip = { + text = WC_CANT_REVERSE_RITUAL_SPELL + NOT = { spell_is_ritual_trigger = { SPELL = scope:spell } } + } + NOT = { + spell_on_cooldown_trigger = { + SPELL = scope:spell + } + } + NOT = { + is_casting_spell_trigger = { + SPELL = scope:spell + } + } + } + } +} +can_select_raise_dead_type_sgui = { + scope = character + saved_scopes = { type } + is_valid = { + is_known_undead_type_trigger = { TYPE = scope:type } + NOR = { + is_casting_spell_trigger = { + SPELL = scope:spell + } + is_casting_spell_trigger = { + SPELL = flag:supreme_raise_dead + } + } + } +} +can_select_supreme_raise_dead_sgui = { + scope = character + is_valid = { + is_known_spell_trigger = { + SPELL = flag:supreme_raise_dead + } + } +} + +has_unlocked_spell_rank_sgui = { + scope = character + saved_scopes = { spell_rank } + is_valid = { + has_unlocked_spell_rank_trigger = { + SPELL = var:current_spell_name + SPELL_RANK = scope:spell_rank + } + } +} + + +can_cast_spell_sgui = { + # checking for all parameters + scope = character + + is_valid = { + exists = var:current_spell_name + trigger_if = { + limit = { + spell_hack_activated_trigger = no + wc_presence_of_mind_activated_trigger = no + wc_reverse_causality_activated_trigger = no + exists = var:current_spell_mana_cost + } + all_requirements_for_casting_satisfied_trigger = yes + } + trigger_else = { + has_spell_selected_trigger = yes + } + } +} + + +current_spell_supreme_raise_dead_sgui = { + # checking for all parameters + scope = character + + is_valid = { + exists = var:current_spell_name + var:current_spell_name = flag:supreme_raise_dead + } +} + +knows_magic_class_sgui = { + scope = character + saved_scopes = { spell_class } + + is_valid = { + trigger_if = { + limit = { scope:spell_class = flag:light } + is_magic_class_user_trigger = { MAGIC = light } + } + trigger_else_if = { + limit = { scope:spell_class = flag:shadow } + is_magic_class_user_trigger = { MAGIC = shadow } + } + trigger_else_if = { + limit = { scope:spell_class = flag:death } + is_magic_class_user_trigger = { MAGIC = death } + } + trigger_else_if = { + limit = { scope:spell_class = flag:life } + is_magic_class_user_trigger = { MAGIC = life } + } + trigger_else_if = { + limit = { scope:spell_class = flag:order } + is_magic_class_user_trigger = { MAGIC = order } + } + trigger_else_if = { + limit = { scope:spell_class = flag:disorder } + is_magic_class_user_trigger = { MAGIC = disorder } + } + trigger_else_if = { + limit = { scope:spell_class = flag:elemental_fire } + is_magic_class_user_trigger_elemental = { MAGIC = elemental_fire } + } + trigger_else_if = { + limit = { scope:spell_class = flag:elemental_air } + is_magic_class_user_trigger_elemental = { MAGIC = elemental_air } + } + trigger_else_if = { + limit = { scope:spell_class = flag:elemental_water } + is_magic_class_user_trigger_elemental = { MAGIC = elemental_water } + } + trigger_else_if = { + limit = { scope:spell_class = flag:elemental_earth } + is_magic_class_user_trigger_elemental = { MAGIC = elemental_earth } + } + trigger_else = { + always = no + } + } +} + +set_target_or_add_sgui = { + scope = character + saved_scopes = { target } + effect = { + + if = { + limit = { + scope:target = { + is_character_trigger = yes + } + } + add_to_recently_casted_list_effect = { TARGET = scope:target } + add_to_variable_list = { + name = reccomended_targets_list + target = scope:target + } + } + + if = { + limit = { + var:original_recipient ?= scope:target + } + remove_variable = original_recipient + remove_variable = spell_recipient + } + else_if = { + limit = { + var:spell_recipient ?= scope:target + } + remove_variable = spell_recipient + } + else_if = { + limit = { + OR = { + var:current_target_type = flag:character_list + var:current_target_type = flag:title_list + } + OR = { + NOT = { has_variable_list = spell_targets_list } + AND = { + NOT = { any_in_list = { variable = spell_targets_list this = scope:target } } + has_variable_list = spell_targets_list + } + } + } + if = { + limit = { + var:current_target_type = flag:character_list + scope:target = { + is_character_trigger = yes + } + } + add_to_variable_list = { + name = spell_targets_list + target = scope:target + } + } + else_if = { + limit = { + var:current_target_type = flag:title_list + scope:target = { + is_character_trigger = yes + } + } + set_variable = { + name = original_recipient + value = scope:target + } + } + else = { + add_to_variable_list = { + name = spell_targets_list + target = scope:target + } + } + } + else_if = { + limit = { + OR = { + var:current_target_type = flag:character_list + var:current_target_type = flag:title_list + } + AND = { + any_in_list = { variable = spell_targets_list this = scope:target } + has_variable_list = spell_targets_list + } + } + remove_list_variable = { + name = spell_targets_list + target = scope:target + } + } + else_if = { + limit = { + OR = { + var:current_target_type = flag:character + exists = var:original_recipient + } + } + if = { + limit = { + NOT = { var:current_target_type = flag:character } + scope:target = { + is_character_trigger = yes + } + } + set_variable = { + name = original_recipient + value = scope:target + } + remove_variable = spell_recipient + } + else = { + set_variable = { + name = spell_recipient + value = scope:target + } + } + } + else = { + set_variable = { + name = original_recipient + value = scope:target + } + } + } +} + +remove_target_sgui = { + scope = character + saved_scopes = { target } + effect = { + if = { + limit = { + OR = { + var:current_target_type = flag:character_list + var:current_target_type = flag:title_list + } + } + remove_list_variable = { + name = spell_targets_list + target = scope:target + } + } + else = { + remove_variable = spell_recipient + } + } +} + +is_spell_target_valid_sgui = { + scope = character + saved_scopes = { target } + is_valid = { + scope:target = { target_has_max_stacks_trigger = no } + OR = { + has_max_targets_trigger = no + AND = { + has_max_targets_trigger = yes + any_in_list = { variable = spell_targets_list this = scope:target } + } + } + } +} + +can_add_more_targets_sgui = { + scope = character + is_valid = { + NOT = { + has_max_targets_trigger = yes + } + } +} + +is_selected_target_sgui = { + saved_scopes = { target } + scope = character + is_valid = { + OR = { + AND = { + has_variable = original_recipient + var:original_recipient = scope:target + } + AND = { + has_variable = spell_recipient + var:spell_recipient = scope:target + } + AND = { + has_variable_list = spell_targets_list + any_in_list = { variable = spell_targets_list this = scope:target } + } + AND = { + var:current_spell_name = flag:create_portal + var:create_portal_destination ?= scope:target + } + } + } +} + +cast_spell_sgui = { + scope = character + effect = { + if = { + limit = { + spell_hack_activated_trigger = no + wc_presence_of_mind_activated_trigger = no + wc_reverse_causality_activated_trigger = no + } + execute_scoped_spell_effect = { + EFFECT = spell_cast_effect + SPELL = var:current_spell_name + } + } + else_if = { + limit = { + spell_hack_activated_trigger = yes + } + execute_scoped_spell_effect = { + EFFECT = wc_learn_spell_effect_external + SPELL = var:current_spell_name + } + remove_variable = wc_spell_hack_activated + } + else_if = { + limit = { + wc_presence_of_mind_activated_trigger = yes + } + execute_scoped_spell_effect = { + EFFECT = wc_halve_cooldown_effect + SPELL = var:current_spell_name + } + remove_variable = wc_presence_of_mind_activated + trigger_event = { + on_action = regenerate_presence_of_mind + years = 1 + } + } + else = { + execute_scoped_spell_effect = { + EFFECT = wc_reverse_causality_effect + SPELL = var:current_spell_name + } + remove_variable = wc_reverse_causality_activated + trigger_event = { + on_action = regenerate_reverse_causality + years = 5 + } + } + } +} + +cast_spell_no_triggers_sgui = { + scope = character + effect = { + execute_scoped_spell_effect = { + EFFECT = spell_cast_effect + SPELL = var:current_spell_name + } + } +} + +spell_tooltip_sgui = { + scope = character + saved_scopes = { tooltip_target } + effect = { + if = { + limit = { + exists = var:current_spell_name + OR = { + has_variable_list = spell_targets_list + exists = var:original_recipient + exists = var:spell_recipient + } + } + show_as_tooltip = { + execute_scoped_spell_effect = { + EFFECT = spell_cast_effect + SPELL = var:current_spell_name + } + execute_scoped_spell_effect = { + EFFECT = show_spell_tt_effect + SPELL = var:current_spell_name + } + } + } + else = { + custom_tooltip = { + text = WC_NO_SPELL_SELECTED + } + } + } +} + +player_has_single_target_sgui = { + scope = character + is_valid = { + exists = var:spell_recipient + OR = { + exists = var:current_spell_class + OR = { + spell_target_is_character_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + spell_target_is_province_or_title_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } + } + } +} + +spell_target_is_character_sgui = { + scope = character + is_valid = { + exists = var:current_spell_name + exists = var:current_spell_rank + spell_target_is_character_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } +} + +spell_target_is_character_list_sgui = { + scope = character + is_valid = { + exists = var:current_spell_name + exists = var:current_spell_rank + spell_target_is_character_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } +} + +spell_target_is_province_sgui = { + scope = character + + is_valid = { + exists = var:current_spell_name + exists = var:current_spell_rank + spell_target_is_province_or_title_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } +} + +spell_target_is_province_list_sgui = { + scope = character + + is_valid = { + exists = var:current_spell_name + exists = var:current_spell_rank + spell_target_is_province_or_title_list_trigger = { SPELL = var:current_spell_name RANK_VALUE = var:current_spell_rank } + } +} + +player_has_targets_sgui = { + scope = character + + is_valid = { + OR = { + exists = var:spell_recipient + has_variable_list = spell_targets_list + } + } +} + +select_province_start_sgui = { + scope = character + + effect = { + if = { + limit = { + exists = var:current_target_type + OR = { + var:current_target_type = flag:title + var:current_target_type = flag:title_list + } + exists = var:original_recipient + var:original_recipient = { + is_landed = yes + } + } + pan_camera_to_title = var:original_recipient.capital_barony + } + } +} + +toggle_eligble_targets_sgui = { + scope = character + effect = { + if = { + limit = { + has_variable = eligible_only + } + remove_variable = eligible_only + } + else = { + set_variable = { + name = eligible_only + value = yes + } + } + } +} + +get_reccomended_targets_list_sgui = { + scope = character + effect = { + get_reccomended_targets_list = yes + } +} + + +toggle_titles_list_sgui = { + scope = character + effect = { + if = { + limit = { + has_variable = direct_only + } + remove_variable = direct_only + } + else = { + set_variable = { + name = direct_only + value = yes + } + } + } +} + +get_titles_list_sgui = { + scope = character + effect = { + if = { + limit = { + has_variable_list = target_titles + } + clear_variable_list = target_titles + } + if = { + limit = { + exists = var:original_recipient + NOT = { var:current_spell_name = flag:create_portal } + } + var:original_recipient = { + save_scope_as = spell_target + } + scope:spell_target = { + if = { + limit = { + root = { + spell_target_title_subtype_province_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + } + } + every_held_title = { + limit = { + tier = tier_barony + satisfy_spell_triggers_barony = { SPELL = root.var:current_spell_name } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + if = { + limit = { + root = { + NOT = { has_variable = direct_only } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_barony + satisfy_spell_triggers_barony = { SPELL = root.var:current_spell_name } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + else_if = { + limit = { + root = { + spell_target_title_subtype_county_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + } + } + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + if = { + limit = { + root = { + NOT = { has_variable = direct_only } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + else_if = { + limit = { + root = { + spell_target_title_subtype_duchy_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + } + } + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + if = { + limit = { + root = { + NOT = { has_variable = direct_only } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + } + } + else_if = { + limit = { + var:current_spell_name = flag:create_portal + } + if = { + limit = { + has_variable = previous_target + } + remove_variable = previous_target + } + every_empire = { + limit = { + any_in_de_jure_hierarchy = { + tier = tier_barony + } + exists = holder + holder = { + is_landed = yes + in_diplomatic_range_trigger = { target = root } + is_independent_ruler = yes + highest_held_title_tier = tier_empire + } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_kingdom = { + limit = { + any_in_de_jure_hierarchy = { + tier = tier_barony + } + exists = holder + holder = { + is_landed = yes + in_diplomatic_range_trigger = { target = root } + is_independent_ruler = yes + highest_held_title_tier = tier_kingdom + } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_duchy = { + limit = { + any_in_de_jure_hierarchy = { + tier = tier_barony + } + exists = holder + holder = { + is_landed = yes + in_diplomatic_range_trigger = { target = root } + is_independent_ruler = yes + highest_held_title_tier = tier_duchy + } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_county = { + limit = { + any_in_de_jure_hierarchy = { + tier = tier_barony + } + exists = holder + holder = { + is_landed = yes + in_diplomatic_range_trigger = { target = root } + is_independent_ruler = yes + highest_held_title_tier = tier_county + } + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } +} + +is_barony_targets_sgui = { + scope = character + + is_valid = { + spell_target_title_subtype_province_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + } +} + +is_county_targets_sgui = { + scope = character + + is_valid = { + spell_target_title_subtype_county_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + } +} +clear_target_titles_sgui = { + scope = character + effect = { + clear_variable_list = target_titles + } +} + +can_animate_rage_sgui = { + scope = character + is_valid = { + can_animate_rage_trigger = yes + } +} + +animate_rage_effect_sgui = { + scope = character + saved_scopes = { artifact } + effect = { + animate_rage_effect = { + ARTIFACT = scope:artifact + } + destroy_owned_artifact = scope:artifact + } +} + + +create_armies_list_sgui = { + scope = character + effect = { + if = { + limit = { + NOT = { exists = var:original_recipient } + } + set_variable = { + name = original_recipient + value = var:spell_recipient + } + remove_variable = spell_recipient + } + if = { + limit = { + has_variable_list = target_armies + } + clear_variable_list = target_armies + } + + var:original_recipient = { + save_scope_as = army_target + } + + if = { + limit = { + var:current_target_type = flag:friendly_army + } + every_war_ally = { + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:enemy_army + } + every_war_enemy = { + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + else_if = { + limit = { + var:current_target_type = flag:army + } + scope:army_target = { + every_war_enemy = { + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + every_war_ally = { + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + every_army = { + save_scope_as = this_army + root = { + add_to_variable_list = { + name = target_armies + target = scope:this_army + } + } + } + } + + } + } +} + +spell_target_is_army_sgui = { + scope = character + is_valid = { + exists = var:current_spell_name + exists = var:current_spell_rank + OR = { + var:current_target_type = flag:enemy_army + var:current_target_type = flag:friendly_army + var:current_target_type = flag:army + } + } +} + +has_targets_list_sgui = { + scope = character + is_valid = { + has_variable_list = spell_targets_list + } +} + +player_has_selected_target_sgui = { + scope = character + is_valid = { + OR = { + AND = { + exists = var:spell_recipient + OR = { + var:current_target_type = flag:enemy_army + var:current_target_type = flag:friendly_army + var:current_target_type = flag:army + var:current_target_type = flag:character + var:current_target_type = flag:title + } + } + AND = { + has_variable_list = spell_targets_list + OR = { + var:current_target_type = flag:title_list + var:current_target_type = flag:character_list + } + } + } + } +} + +player_has_spell_hack = { + scope = character + is_valid = { + spell_hack_activated_trigger = yes + } +} + +player_has_create_portal = { + scope = character + is_valid = { + var:current_spell_name = flag:create_portal + } +} + +set_or_change_target_sgui_portal = { + scope = character + saved_scopes = { target } + effect = { + if = { + limit = { + scope:target = { + tier = tier_barony + } + } + set_variable = { + name = create_portal_destination + value = scope:target + } + pan_camera_to_title = scope:target + } + else = { + every_in_list = { + variable = target_titles + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles_old + target = scope:potential_title + } + } + } + if = { + limit = { + scope:target = { + tier = tier_county + } + } + clear_variable_list = target_titles + if = { + limit = { + has_variable = current_destination + } + set_variable = { + name = previous_target + value = var:current_destination + } + } + set_variable = { + name = current_destination + value = scope:target + } + scope:target = { + holder = { + every_held_title = { + limit = { + tier = tier_barony + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_barony + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + } + else_if = { + limit = { + scope:target = { + tier = tier_duchy + } + } + clear_variable_list = target_titles + if = { + limit = { + has_variable = current_destination + } + set_variable = { + name = previous_target + value = var:current_destination + } + } + set_variable = { + name = current_destination + value = scope:target + } + scope:target = { + holder = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + } + else_if = { + limit = { + scope:target = { + tier = tier_kingdom + } + } + clear_variable_list = target_titles + if = { + limit = { + has_variable = current_destination + } + set_variable = { + name = previous_target + value = var:current_destination + } + } + set_variable = { + name = current_destination + value = scope:target + } + scope:target = { + holder = { + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + } + else_if = { + limit = { + scope:target = { + tier = tier_empire + } + } + clear_variable_list = target_titles + set_variable = { + name = current_destination + value = scope:target + } + scope:target = { + holder = { + every_held_title = { + limit = { + tier = tier_kingdom + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_kingdom + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + } + } + } +} + +old_titles_list_sgui = { + scope = character + + effect = { + clear_variable_list = target_titles + every_in_list = { + variable = target_titles_old + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + remove_variable = current_destination + remove_variable = previous_target + clear_variable_list = target_titles_old + } +} + +previous_target_titles_sgui = { + scope = character + + effect = { + if = { + limit = { + var:previous_target = { + tier = tier_empire + } + } + clear_variable_list = target_titles + var:previous_target = { + holder = { + every_held_title = { + limit = { + tier = tier_kingdom + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_kingdom + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + remove_variable = previous_target + } + else_if = { + limit = { + var:previous_target = { + tier = tier_kingdom + } + } + clear_variable_list = target_titles + var:previous_target = { + holder = { + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_duchy + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + set_variable = { + name = previous_target + value = var:previous_target.empire + } + } + else_if = { + limit = { + var:previous_target = { + tier = tier_duchy + } + } + clear_variable_list = target_titles + var:previous_target = { + holder = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + set_variable = { + name = previous_target + value = var:previous_target.kingdom + } + } + else_if = { + limit = { + var:previous_target = { + tier = tier_duchy + } + } + clear_variable_list = target_titles + var:previous_target = { + holder = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_county + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + set_variable = { + name = previous_target + value = var:previous_target.duchy + } + } + else_if = { + limit = { + var:previous_target = { + tier = tier_county + } + } + clear_variable_list = target_titles + var:previous_target = { + holder = { + every_held_title = { + limit = { + tier = tier_barony + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + every_vassal_or_below = { + every_held_title = { + limit = { + tier = tier_barony + } + save_scope_as = potential_title + root = { + add_to_variable_list = { + name = target_titles + target = scope:potential_title + } + } + } + } + } + } + set_variable = { + name = previous_target + value = var:previous_target.county + } + } + } +} + +can_change_destination_sgui = { + scope = character + is_valid = { + custom_tooltip = { + text = WC_CANT_CHANGE_DESTINATION + OR = { + NOT = { var:current_spell_rank ?= 1 } + AND = { + var:current_spell_rank ?= 1 + var:spell_recipient = { is_travelling = no } + } + } + } + } +} + +# Sidebar GUI +wc_in_diplo_range_sgui = { + scope = character + + saved_scopes = { target } + is_valid = { + scope:target = { is_alive = yes } + in_diplomatic_range_trigger = { target = root } + } +} + +can_select_target_sgui = { + scope = character + saved_scopes = { target } + is_valid = { + OR = { + AND = { + has_variable_list = spell_targets_list + any_in_list = { variable = spell_targets_list this = scope:target } + } + AND = { + scope:target = { + is_alive = yes + in_diplomatic_range_trigger = { target = root } + } + NOT = { + has_max_targets_trigger = yes + } + custom_description = { + text = only_target_self_trigger + trigger_if = { + limit = { + spell_target_is_only_self_trigger = { + SPELL = var:current_spell_name + } + } + scope:target = root + } + } + } + } + } +} +wc_raise_dead_valid_sgui = { + scope = character + + saved_scopes = { target } + is_valid = { + is_known_spell_trigger = { SPELL = flag:raise_dead } + scope:target = { + is_alive = no + NOR = { + has_dead_character_variable = resurrected + death_reason = death_vanished + death_reason = death_experiment + death_reason = death_twisting_nether + } + NOT = { + has_trait_with_flag = titanforged_class + } + } + in_diplomatic_range = scope:target + } +} +wc_raise_dead_enabled_sgui = { + scope = character + + saved_scopes = { target } + is_valid = { + NOR = { + is_casting_spell_trigger = { + SPELL = flag:raise_dead + } + is_casting_spell_trigger = { + SPELL = flag:supreme_raise_dead + } + } + OR = { + AND = { + is_known_spell_trigger = { + SPELL = flag:supreme_raise_dead + } + NOT = { + spell_on_cooldown_trigger = { + SPELL = flag:supreme_raise_dead + } + } + } + NOT = { + spell_on_cooldown_trigger = { + SPELL = flag:raise_dead + } + } + } + always = yes + } +} +wc_is_casting_spells_sgui = { + scope = character + is_valid = { + is_casting_any_spell_trigger = yes + } +} + +wc_has_cd_spells_sgui = { + scope = character + is_valid = { + has_cd_spells_trigger = yes + } +} + +cancel_cast_sgui = { + scope = character + saved_scopes = { spell } + + effect = { + execute_scoped_spell_effect = { + SPELL = scope:spell + EFFECT = cancel_cast_effect + } + } +} + +can_cancel_cast_sgui = { + scope = character + saved_scopes = { spell } + + is_valid = { + custom_description = { + text = cant_cancel_ritual_trigger + NOT = { + spell_is_ritual_trigger = { SPELL = scope:spell } + } + } + } +} + +test_sgui = { + scope = character + + effect = { + add_gold = 2 + } +} + +# Monitoring GUI +wc_has_monitor_sgui = { + scope = character + is_valid = { + has_monitored_spells_trigger = yes + } +} + +wc_monitoring_backdraft_sgui = { + scope = character + is_valid = { + has_variable_list = backdraft_observer_list + } +} + +wc_monitoring_burnout_sgui = { + scope = character + is_valid = { + has_variable = burnout_victim + has_character_modifier = wc_burnout_good_modifier + } +} + +wc_monitoring_chronomancy_sgui = { + scope = character + is_valid = { + has_character_flag = chronomancy_active + OR = { + has_variable_list = chronomancy_modifier_list + has_variable_list = chronomancy_trait_list + } + } +} + +wc_monitoring_ascension_sgui = { + scope = character + is_valid = { + has_variable = wc_ascension_points + } +} + +chronomancy_trait_list_sgui = { + scope = character + is_valid = { + has_variable_list = chronomancy_trait_list + } +} + +chronomancy_modifier_list_sgui = { + scope = character + is_valid = { + has_variable_list = chronomancy_modifier_list + } +} + +wc_monitoring_consecration_sgui = { + scope = character + is_valid = { + has_variable = consecration_county + var:consecration_county = { + OR = { + any_de_jure_county = { + has_county_modifier = wc_consecration_county_positive_modifier + } + any_de_jure_county = { + has_county_modifier = wc_consecration_county_negative_modifier + } + } + } + } +} + +wc_move_consecration_sgui = { + scope = character + saved_scopes = { county } + effect = { + move_consecration_effect = { + COUNTY = scope:county + } + } +} + +wc_show_character_interaction_traits_sgui = { + scope = character + saved_scopes = { target } + is_valid = { + trigger_if = { + limit = { + has_variable = give_disease_recipient + var:give_disease_recipient = scope:target + } + always = yes + } + trigger_else_if = { + limit = { + has_variable = epidemic_original_recipient + var:epidemic_original_recipient = scope:target + } + } + trigger_else = { + always = no + } + } +} + +wc_channeling_sgui = { + scope = character + is_valid = { + any_in_list = { + variable = current_spells_channeling + count >= 1 + } + } +} + +cancel_channel_sgui = { + scope = character + saved_scopes = { spell } + + effect = { + execute_scoped_spell_effect = { + SPELL = scope:spell + EFFECT = cancel_channeling_spell_effect + } + } +} + +spell_is_channeled_sgui = { + scope = character + saved_scopes = { spell } + + is_valid = { + spell_is_channeled_trigger = { SPELL = scope:spell } + } +} \ No newline at end of file diff --git a/common/scripted_guis/wc_magic_perk_sgui.txt b/common/scripted_guis/wc_magic_perk_sgui.txt new file mode 100644 index 0000000000..d2f52625c4 --- /dev/null +++ b/common/scripted_guis/wc_magic_perk_sgui.txt @@ -0,0 +1,65 @@ +close_scheme_reflect_interaction = { + scope = character + + effect = { + remove_variable = reflect_interaction + remove_variable = reflect_interaction_cancel + remove_variable = reflect_interaction_artifact + remove_variable = reflect_interaction_character + remove_variable = current_scheme + remove_variable = landed_only + } +} + +close_give_disease_interaction = { + scope = character + + effect = { + if = { + limit = { + has_variable = give_disease_interaction + } + remove_variable = give_disease_interaction + cancel_cast_effect = { SPELL = give_disease RANK = 0 TYPE = death } + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = wc_spell_give_disease_cost_mana_value + } + } + else_if = { + limit = { + has_variable = epidemic_interaction + } + remove_variable = epidemic_interaction + cancel_cast_effect = { SPELL = epidemic RANK = 0 TYPE = death } + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = wc_spell_epidemic_cost_mana_value + } + remove_character_flag = any_ritual_cd + } + } +} + +should_close_reflect_interaction = { + scope = character + saved_scopes = { desc } + + is_valid = { + NOT = { + scope:desc = flag:wc_interaction_reflect + } + } +} + +should_close_give_disease_interaction = { + scope = character + saved_scopes = { desc } + + is_valid = { + always = yes + NOT = { + scope:desc = flag:wc_interaction_disease + } + } +} \ No newline at end of file diff --git a/common/scripted_modifiers/wc_combat_modifiers.txt b/common/scripted_modifiers/wc_combat_modifiers.txt index 66ad210663..0287c4998b 100644 --- a/common/scripted_modifiers/wc_combat_modifiers.txt +++ b/common/scripted_modifiers/wc_combat_modifiers.txt @@ -77,11 +77,19 @@ wounded_chance_modifiers = { modifier = { factor = 2 - has_trait = brave + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + has_trait_with_flag = lower_chance_of_dying_in_combat + } + modifier = { + factor = 0.8 + has_character_modifier = wc_frost_armor_modifier + } + modifier = { + factor = 0 + has_trait_with_flag = unkillable } } @@ -118,11 +126,19 @@ maimed_chance_modifiers = { modifier = { factor = 2 - has_trait = brave + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + has_trait_with_flag = lower_chance_of_dying_in_combat + } + modifier = { + factor = 0.8 + has_character_modifier = wc_frost_armor_modifier + } + modifier = { + factor = 0 + has_trait_with_flag = unkillable } } @@ -159,11 +175,11 @@ killed_chance_modifiers = { modifier = { factor = 2 - has_trait = brave + has_trait_with_flag = higher_chance_of_dying_in_battle } modifier = { factor = 0.5 - has_trait = craven + has_trait_with_flag = lower_chance_of_dying_in_combat } modifier = { factor = 4 @@ -172,4 +188,22 @@ killed_chance_modifiers = { rank = 3 } } + # Warcraft + modifier = { + factor = 0.95 + is_knight = yes + exists = liege + liege = { + has_perk = order_magic_tree_3_perk_4 + } + } + modifier = { + factor = 0.8 + has_character_modifier = wc_frost_armor_modifier + } + modifier = { + factor = 0 + has_trait_with_flag = unkillable + } + # End Warcraft } \ No newline at end of file diff --git a/common/scripted_modifiers/wc_magic_spells_scripted_modifiers.txt b/common/scripted_modifiers/wc_magic_spells_scripted_modifiers.txt new file mode 100644 index 0000000000..21b6b3e96c --- /dev/null +++ b/common/scripted_modifiers/wc_magic_spells_scripted_modifiers.txt @@ -0,0 +1,71 @@ +spellsteal_has_modifier_modifier = { + modifier = { + add = 1 + has_character_modifier = $MODIFIER$ + NOT = { + root = { + has_character_modifier = $MODIFIER$ + } + } + } +} + +frostbite_target_burned_modifier = { + modifier = { + add = { $CHANGE$ = 5 } + $TARGET$ = { + has_trait = burned_1 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } + modifier = { + add = { $CHANGE$ = 10 } + $TARGET$ = { + has_trait = burned_2 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } + modifier = { + add = { $CHANGE$ = 15 } + $TARGET$ = { + has_trait = burned_3 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } +} + +burned_target_frostbite_modifier = { + modifier = { + add = { $CHANGE$ = 5 } + $TARGET$ = { + has_trait = frostbite_1 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } + modifier = { + add = { $CHANGE$ = 10 } + $TARGET$ = { + has_trait = frostbite_2 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } + modifier = { + add = { $CHANGE$ = 15 } + $TARGET$ = { + has_trait = frostbite_3 + } + root = { + has_perk = order_magic_tree_5_perk_8 + } + } +} \ No newline at end of file diff --git a/common/scripted_triggers/00_lifestyle_triggers.txt b/common/scripted_triggers/00_lifestyle_triggers.txt new file mode 100644 index 0000000000..19642544e2 --- /dev/null +++ b/common/scripted_triggers/00_lifestyle_triggers.txt @@ -0,0 +1,349 @@ +# can_start_new_lifestyle_tree_trigger +# lifestyle_friend_trigger + + +can_start_new_lifestyle_tree_trigger = { + + ## Warcraft - triggers for vanilla lifestyles + # Diplomacy + diplomacy_lifestyle_tree_1_finished_or_not_started_trigger = yes + diplomacy_lifestyle_tree_2_finished_or_not_started_trigger = yes + diplomacy_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Intrigue + intrigue_lifestyle_tree_1_finished_or_not_started_trigger = yes + intrigue_lifestyle_tree_2_finished_or_not_started_trigger = yes + intrigue_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Learning + learning_lifestyle_tree_1_finished_or_not_started_trigger = yes + learning_lifestyle_tree_2_finished_or_not_started_trigger = yes + learning_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Martial + martial_lifestyle_tree_1_finished_or_not_started_trigger = yes + martial_lifestyle_tree_2_finished_or_not_started_trigger = yes + martial_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Stewardship + stewardship_lifestyle_tree_1_finished_or_not_started_trigger = yes + stewardship_lifestyle_tree_2_finished_or_not_started_trigger = yes + stewardship_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Light + light_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + light_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + light_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Shadow + shadow_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + shadow_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + shadow_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Disorder + disorder_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + disorder_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + disorder_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Order + order_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + order_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + order_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Life + life_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + life_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + life_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Death + death_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + death_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + death_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes + # Fire + elemental_fire_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + elemental_fire_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + # Water + elemental_water_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + elemental_water_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + # Air + elemental_air_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + elemental_air_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + # Earth + elemental_earth_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + elemental_earth_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes +} + + + +############################## +# LIFESTYLE FRIEND TRIGGERS +############################## + +#Trigger to check if a friend is a lifestyle friend +lifestyle_friend_trigger = { + trigger_if = { + limit = { $CHARACTER$ = { is_ai = yes } } + OR = { + has_focus = $FOCUS$ + is_ruler = no + } + } + #If a player, check the friend points + trigger_else = { + $FOCUS$_friend_points > 0 + } +} + +#Is the character available as a potential lifestyle friend for CHARACTER +potential_lifestyle_friend_availability_trigger = { + lifestyle_friend_trigger = { CHARACTER = $CHARACTER$ FOCUS = $FOCUS$ } + basic_is_available_ai = yes + NOR = { + has_relation_friend = $CHARACTER$ + has_relation_rival = $CHARACTER$ + is_at_war_with = $CHARACTER$ + } + is_adult = yes + opinion = { + target = $CHARACTER$ + value >= low_negative_opinion + } + save_temporary_scope_value_as = { + name = trigger_focus + value = flag:$FOCUS$ + } + trigger_if = { + limit = { scope:trigger_focus = flag:intrigue_temptation_focus } + NOT = { + dislikes_partner_cheating_trigger = { PARTNER = $CHARACTER$ } + } + } +} + +has_focus_martial = { + OR = { + has_focus = martial_chivalry_focus + has_focus = martial_authority_focus + has_focus = martial_strategy_focus + } +} + +has_focus_learning = { + OR = { + has_focus = learning_theology_focus + has_focus = learning_scholarship_focus + has_focus = learning_medicine_focus + } +} + +has_focus_intrigue = { + OR = { + has_focus = intrigue_intimidation_focus + has_focus = intrigue_temptation_focus + has_focus = intrigue_skulduggery_focus + } +} + +has_focus_diplomacy = { + OR = { + has_focus = diplomacy_family_focus + has_focus = diplomacy_majesty_focus + has_focus = diplomacy_foreign_affairs_focus + } +} + +has_focus_stewardship = { + OR = { + has_focus = stewardship_domain_focus + has_focus = stewardship_wealth_focus + has_focus = stewardship_duty_focus + } +} + +has_completed_current_lifestyle_trigger = { + OR = { + AND = { + OR = { + has_focus = diplomacy_foreign_affairs_focus + has_focus = diplomacy_majesty_focus + has_focus = diplomacy_family_focus + } + has_perk = august_perk + has_perk = family_man_perk + has_perk = diplomat_perk + } + AND = { + OR = { + has_focus = intrigue_skulduggery_focus + has_focus = intrigue_temptation_focus + has_focus = intrigue_intimidation_focus + } + has_perk = torturer_perk + has_perk = schemer_perk + has_perk = seducer_perk + } + AND = { + OR = { + has_focus = learning_medicine_focus + has_focus = learning_scholarship_focus + has_focus = learning_theology_focus + } + has_perk = whole_of_body_perk + has_perk = scholar_perk + has_perk = theologian_perk + } + AND = { + OR = { + has_focus = martial_strategy_focus + has_focus = martial_authority_focus + has_focus = martial_chivalry_focus + } + has_perk = gallant_perk + has_perk = overseer_perk + has_perk = strategist_perk + } + AND = { + OR = { + has_focus = stewardship_wealth_focus + has_focus = stewardship_domain_focus + has_focus = stewardship_duty_focus + } + has_perk = architect_perk + has_perk = administrator_perk + has_perk = avaricious_perk + } + } +} + +has_completed_one_tree_in_current_lifestyle_trigger = { + OR = { + AND = { + OR = { + has_focus = diplomacy_foreign_affairs_focus + has_focus = diplomacy_majesty_focus + has_focus = diplomacy_family_focus + } + OR = { + has_perk = august_perk + has_perk = family_man_perk + has_perk = diplomat_perk + } + } + AND = { + OR = { + has_focus = intrigue_skulduggery_focus + has_focus = intrigue_temptation_focus + has_focus = intrigue_intimidation_focus + } + OR = { + has_perk = torturer_perk + has_perk = schemer_perk + has_perk = seducer_perk + } + } + AND = { + OR = { + has_focus = learning_medicine_focus + has_focus = learning_scholarship_focus + has_focus = learning_theology_focus + } + OR = { + has_perk = whole_of_body_perk + has_perk = scholar_perk + has_perk = theologian_perk + } + } + AND = { + OR = { + has_focus = martial_strategy_focus + has_focus = martial_authority_focus + has_focus = martial_chivalry_focus + } + OR = { + has_perk = gallant_perk + has_perk = overseer_perk + has_perk = strategist_perk + } + } + AND = { + OR = { + has_focus = stewardship_wealth_focus + has_focus = stewardship_domain_focus + has_focus = stewardship_duty_focus + } + OR = { + has_perk = architect_perk + has_perk = administrator_perk + has_perk = avaricious_perk + } + } + } +} + + +####################### +# misc +####################### + +has_focus_or_focus_trait_trigger = { + save_temporary_scope_value_as = { + name = trigger_focus + value = flag:$FOCUS$ + } + OR = { + has_focus = $FOCUS$ + trigger_if = { + limit = { scope:trigger_focus = flag:diplomacy_foreign_affairs_focus } + has_trait = diplomat + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:diplomacy_majesty_focus } + has_trait = august + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:diplomacy_family_focus } + has_trait = family_first + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:martial_strategy_focus } + has_trait = strategist + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:martial_authority_focus } + has_trait = overseer + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:martial_chivalry_focus } + has_trait = gallant + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:stewardship_wealth_focus } + has_trait = avaricious + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:stewardship_domain_focus } + has_trait = architect + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:stewardship_duty_focus } + has_trait = administrator + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:intrigue_skulduggery_focus } + has_trait = schemer + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:intrigue_temptation_focus } + has_trait = seducer + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:intrigue_intimidation_focus } + has_trait = torturer + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:learning_medicine_focus } + has_trait = whole_of_body + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:learning_scholarship_focus } + has_trait = scholar + } + trigger_else_if = { + limit = { scope:trigger_focus = flag:learning_theology_focus } + has_trait = theologian + } + trigger_else = { + always = no + } + } +} \ No newline at end of file diff --git a/common/scripted_triggers/00_marriage_triggers.txt b/common/scripted_triggers/00_marriage_triggers.txt index 31bd6b2925..c4f079497a 100644 --- a/common/scripted_triggers/00_marriage_triggers.txt +++ b/common/scripted_triggers/00_marriage_triggers.txt @@ -288,6 +288,7 @@ can_become_concubine_of_character_trigger = { is_concubine_of = $CHARACTER$ has_character_flag = has_been_offered_as_concubine } + NOT = { scope:recipient = { has_character_flag = is_void_leader } } is_ruler = no is_playable_character = no is_adult = yes @@ -567,6 +568,10 @@ make_concubine_is_valid_trigger = { } is_married = no } + custom_tooltip = { + text = MAGIC_VOID_LEADER_REASON_NO_VALUE + NOT = { has_character_flag = is_void_leader } # WARCRAFT + } is_hostage = no } } diff --git a/common/scripted_triggers/20_health_triggers.txt b/common/scripted_triggers/20_health_triggers.txt index 63a2cfd7b5..3cd7b84107 100644 --- a/common/scripted_triggers/20_health_triggers.txt +++ b/common/scripted_triggers/20_health_triggers.txt @@ -287,6 +287,12 @@ can_contract_disease_trigger = { OR = { scope:disease_type_for_trigger = flag:bubonic_plague scope:disease_type_for_trigger = flag:smallpox + # Warcraft + scope:disease_type_for_trigger = flag:frost_fever + scope:disease_type_for_trigger = flag:blood_plague + scope:disease_type_for_trigger = flag:crypt_fever + scope:disease_type_for_trigger = flag:void_sickness + # End Warcraft } AND = { scope:disease_type_for_trigger = flag:pneumonic @@ -333,7 +339,25 @@ can_contract_disease_trigger = { has_character_flag = contraction_cooldown_ergotism scope:disease_type_for_trigger = flag:ergotism } -} + # Warcraft + AND = { + has_character_flag = contraction_cooldown_frost_fever + scope:disease_type_for_trigger = flag:frost_fever + } + AND = { + has_character_flag = contraction_cooldown_crypt_fever + scope:disease_type_for_trigger = flag:crypt_fever + } + AND = { + has_character_flag = contraction_cooldown_blood_plague + scope:disease_type_for_trigger = flag:blood_plague + } + AND = { + has_character_flag = contraction_cooldown_void_sickness + scope:disease_type_for_trigger = flag:void_sickness + } + # End Warcraft + } } has_any_disease_trigger = { @@ -353,6 +377,12 @@ has_any_disease_trigger = { has_trait = pneumonic has_trait = leper has_trait = gout_ridden + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } @@ -373,6 +403,12 @@ has_epidemic_disease_trigger = { has_trait = dysentery has_trait = consumption has_trait = typhus + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } @@ -385,6 +421,12 @@ has_contagious_disease_trigger = { #Only diseases handled by the disease_outbre has_trait = dysentery has_trait = consumption has_trait = typhus + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } @@ -394,6 +436,12 @@ has_yearly_recovery_disease_trigger = { has_trait = cancer has_trait = great_pox has_trait = gout_ridden + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } @@ -433,6 +481,12 @@ has_serious_disease_trigger = { has_trait = measles has_trait = dysentery has_trait = ergotism + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } has_insect_carried_disease_trigger = { @@ -538,6 +592,12 @@ has_treatable_disease_trigger = { has_trait = measles has_trait = dysentery # Warcraft - made an executive decision not to have ergotism be treatable [SS] + # Warcraft + has_trait = frost_fever + has_trait = crypt_fever + has_trait = blood_plague + has_trait = void_sickness + # End Warcraft } } @@ -625,7 +685,13 @@ has_slow_disease_type_trigger = { scope:disease_type = flag:cancer #3 scope:disease_type = flag:great_pox #1 scope:disease_type = flag:gout_ridden #1.5 - scope:disease_type = flag:leper #1.5 + scope:disease_type = flag:leper #1.5 + # Warcraft + scope:disease_type = flag:frost_fever + scope:disease_type = flag:blood_plague + scope:disease_type = flag:crypt_fever + scope:disease_type = flag:void_sickness + # End Warcraft } } @@ -661,6 +727,9 @@ has_high_health_penalty_disease_type_trigger = { # >= 3.5 scope:disease_type = flag:pneumonic #3 + 2 is_old_character = yes } + # Warcraft + scope:disease_type = flag:crypt_fever + # End Warcraft } } @@ -694,6 +763,11 @@ has_low_health_penalty_disease_type_trigger = { # < 3.5 scope:disease_type = flag:pneumonic #3 + 2 is_old_character = no } + # Warcraft + scope:disease_type = flag:frost_fever + scope:disease_type = flag:blood_plague + scope:disease_type = flag:void_sickness + # End Warcraft } } diff --git a/common/scripted_triggers/wc_cultural_triggers.txt b/common/scripted_triggers/wc_cultural_triggers.txt index c415f1df96..f0df2a9989 100644 --- a/common/scripted_triggers/wc_cultural_triggers.txt +++ b/common/scripted_triggers/wc_cultural_triggers.txt @@ -521,7 +521,7 @@ culture_has_caster_maa = { #has_cultural_parameter = unlock_maa_witch_doctor # Warcraft - has_innovation = innovation_archmage + has_innovation = innovation_archmagi has_innovation = innovation_centaur_tactics has_innovation = innovation_chaosborn has_innovation = innovation_gnome_mechanics @@ -667,3 +667,47 @@ not_devolved_highborne_trigger = { NOT = { this = culture:faldorei } } } + +# Magic related triggers + +#gives a reduction for penalty to elemental favour from innovations / development +culture_is_elemental_favoured_heritage = { + culture = { + OR = { + has_cultural_pillar = heritage_ulduaric + has_cultural_pillar = heritage_uldamanic + has_cultural_pillar = heritage_dwarven + has_cultural_pillar = heritage_orcish + has_cultural_pillar = heritage_zulite + has_cultural_pillar = heritage_goblin + has_cultural_pillar = heritage_gilblin + has_cultural_pillar = heritage_tauren + has_cultural_pillar = heritage_draconic + has_cultural_pillar = heritage_argusean + } + } +} + +#gives a similar reduction for water elemental favour only +culture_is_elemental_water_favoured_heritage = { + culture = { + OR = { + has_cultural_pillar = heritage_amphibian + has_cultural_pillar = heritage_gilnean + has_cultural_pillar = heritage_southern + has_cultural_pillar = heritage_azsharic + } + } +} + +culture_is_elemental_fire_favoured_heritage = { + always = no # todo: change? +} + +culture_is_elemental_air_favoured_heritage ={ + always = no # todo: change? +} + +culture_is_elemental_earth_favoured_heritage ={ + always = no # todo: change? +} \ No newline at end of file diff --git a/common/scripted_triggers/wc_lifestyles_triggers.txt b/common/scripted_triggers/wc_lifestyles_triggers.txt new file mode 100644 index 0000000000..49c8f6cd4b --- /dev/null +++ b/common/scripted_triggers/wc_lifestyles_triggers.txt @@ -0,0 +1,635 @@ + +# can openly learn magic triggers +can_openly_learn_magic_type_trigger = { + OR = { + AND = { + flag:$MAGICTYPE$ = flag:light + faith = { has_doctrine_parameter = elunic_light_magic_female_only } + is_male = yes + has_trait_with_flag = children_of_cenarius_family + } + AND = { + flag:$MAGICTYPE$ = flag:order + faith = { has_doctrine_parameter = $MAGICTYPE$_magic_shunned } + culture = { has_innovation = innovation_archmagi } + } + faith = { + has_doctrine_parameter = $MAGICTYPE$_magic_openly_learnable + } + } +} + +# magic is shunned /criminal triggers +is_magic_type_shunned_trigger = { + faith = { has_doctrine_parameter = $MAGICTYPE$_magic_shunned } +} + +# magic is criminal triggers +is_magic_type_criminal_trigger = { + faith = { has_doctrine_parameter = $MAGICTYPE$_magic_illegal } +} + +# magic secrets triggers +is_secret_elemental_magic_type_user = { + #add additional stuff here if necessary + any_secret = { secret_type = secret_$MAGICTYPE$_magic_user } +} + +is_secret_nonelemental_magic_type_user = { + #add additional stuff here if necessary + any_secret = { secret_type = secret_$MAGICTYPE$_magic_user } +} + +has_magic_secret_associated_trait = { #scope from SECRET + switch = { + trigger = secret_type + secret_light_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_light_magic } } + secret_shadow_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_shadow_magic } } + secret_order_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_order_magic } } + secret_disorder_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_disorder_magic } } + secret_life_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_life_magic } } + secret_death_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_death_magic } } + + secret_elemental_fire_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_fire_magic } } + #secret_elemental_fire_spirit_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_fire_spirit_magic } } + #secret_elemental_fire_decay_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_fire_decay_magic } } + secret_elemental_water_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_water_magic } } + #secret_elemental_water_spirit_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_water_spirit_magic } } + #secret_elemental_water_decay_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_water_decay_magic } } + secret_elemental_air_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_air_magic } } + #secret_elemental_air_spirit_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_air_spirit_magic } } + #secret_elemental_air_decay_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_air_decay_magic } } + secret_elemental_earth_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_earth_magic } } + #secret_elemental_earth_spirit_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_earth_spirit_magic } } + #secret_elemental_earth_decay_magic_user = { scope:$CHARACTER$ = { has_trait = wc_lifestyle_elemental_earth_decay_magic } } + } +} + +# this was incompatible with magic secrecy. it will be kept for now in case some other requirements are needed +magic_lifestyle_is_valid_trigger = { + trigger_if = { + limit = { NOT = { flag:$MAGIC$ = flag:poop } } + always = yes + } + # trigger_if = { + # limit = { NOT = { can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } } } + + # OR = { + # has_trait = wc_lifestyle_$MAGIC$_magic + # $MAGIC$_magic_lifestyle_xp > 0 + # } + # } +} + +# this was incompatible with magic secrecy, however it may be needed based on how spirit/decay ends up being planned +magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { + trigger_if = { + limit = { NOT = { flag:$MAGIC$ = flag:poop } } + always = yes + } + # trigger_if = { + # limit = { NOT = { can_openly_learn_magic_type_trigger = { MAGICTYPE = $MAGIC$ } } } + + # has_trait = wc_lifestyle_$MAGIC$_magic + # } +} + +has_focus_light_magic_trigger = { + OR = { + has_focus = light_magic_focus_1 + has_focus = light_magic_focus_2 + has_focus = light_magic_focus_3 + } +} +has_focus_shadow_magic_trigger = { + OR = { + has_focus = shadow_magic_focus_1 + has_focus = shadow_magic_focus_2 + has_focus = shadow_magic_focus_3 + } +} +has_focus_disorder_magic_trigger = { + OR = { + has_focus = disorder_magic_focus_1 + has_focus = disorder_magic_focus_2 + has_focus = disorder_magic_focus_3 + } +} +has_focus_order_magic_trigger = { + OR = { + has_focus = order_magic_focus_1 + has_focus = order_magic_focus_2 + has_focus = order_magic_focus_3 + } +} +has_focus_life_magic_trigger = { + OR = { + has_focus = life_magic_focus_1 + has_focus = life_magic_focus_2 + has_focus = life_magic_focus_3 + } +} +has_focus_death_magic_trigger = { + OR = { + has_focus = death_magic_focus_1 + has_focus = death_magic_focus_2 + has_focus = death_magic_focus_3 + } +} +has_focus_elemental_fire_magic_trigger = { + OR = { + has_focus = elemental_fire_magic_focus_1 + has_focus = elemental_fire_magic_focus_2 + has_focus = elemental_fire_magic_focus_3 + } +} +has_focus_elemental_water_magic_trigger = { + OR = { + has_focus = elemental_water_magic_focus_1 + has_focus = elemental_water_magic_focus_2 + has_focus = elemental_water_magic_focus_3 + } +} +has_focus_elemental_air_magic_trigger = { + OR = { + has_focus = elemental_air_magic_focus_1 + has_focus = elemental_air_magic_focus_2 + has_focus = elemental_air_magic_focus_3 + } +} +has_focus_elemental_earth_magic_trigger = { + OR = { + has_focus = elemental_earth_magic_focus_1 + has_focus = elemental_earth_magic_focus_2 + has_focus = elemental_earth_magic_focus_3 + } +} + +has_focus_elemental_spirit_magic_trigger = { + OR = { + has_focus = elemental_fire_magic_focus_1 + has_focus = elemental_water_magic_focus_1 + has_focus = elemental_air_magic_focus_1 + has_focus = elemental_earth_magic_focus_1 + } +} +has_focus_elemental_decay_magic_trigger = { + OR = { + has_focus = elemental_fire_magic_focus_3 + has_focus = elemental_water_magic_focus_3 + has_focus = elemental_air_magic_focus_3 + has_focus = elemental_earth_magic_focus_3 + } +} +has_focus_elemental_neither_spirit_nor_decay_magic_trigger = { + OR = { + has_focus = elemental_fire_magic_focus_2 + has_focus = elemental_water_magic_focus_2 + has_focus = elemental_air_magic_focus_2 + has_focus = elemental_earth_magic_focus_2 + } +} +has_focus_elemental_magic_trigger = { + OR = { + has_focus_elemental_fire_magic_trigger = yes + has_focus_elemental_water_magic_trigger = yes + has_focus_elemental_air_magic_trigger = yes + has_focus_elemental_earth_magic_trigger = yes + } +} +can_take_elemental_conjuration_trigger = { + OR = { + AND = { + has_focus = order_magic_focus_1 + has_perk = order_magic_tree_1_perk_1 + has_perk = order_magic_tree_1_perk_2 + } + has_perk = elemental_fire_magic_tree_1_perk_8 + } +} +can_take_elemental_frost_trigger = { + OR = { + AND = { + has_focus = order_magic_focus_1 + has_perk = order_magic_tree_1_perk_1 + has_perk = order_magic_tree_1_perk_2 + } + has_perk = death_magic_tree_1_perk_3 + } +} + +# magic_lifestyle_is_valid_trigger = { +# trigger_if = { +# limit = { can_openly_learn_$MAGIC$_magic_trigger = no } +# #TODO: insert class traits here +# OR = { +# has_trait = wc_lifestyle_$MAGIC$_magic +# $MAGIC$_magic_lifestyle_xp > 0 +# } +# } +# trigger_else = { # Testing +# debug_only = yes +# is_alive = yes +# } +# } +# magic_elemental_lifestyle_spirit_or_decay_is_valid_trigger = { +# trigger_if = { +# limit = { can_openly_learn_$MAGIC$_magic_trigger = no } + +# has_trait = wc_lifestyle_$MAGIC$_magic +# } +# } + +has_any_wc_lifestyle_magical_trait_trigger = { + OR = { + has_trait = wc_lifestyle_light_magic + has_trait = wc_lifestyle_shadow_magic + has_trait = wc_lifestyle_disorder_magic + has_trait = wc_lifestyle_order_magic + has_trait = wc_lifestyle_life_magic + has_trait = wc_lifestyle_death_magic + has_trait = wc_lifestyle_elemental_fire_magic + has_trait = wc_lifestyle_elemental_water_magic + has_trait = wc_lifestyle_elemental_air_magic + has_trait = wc_lifestyle_elemental_earth_magic + has_trait_with_flag = wc_lifestyle_elemental_fire_magic_flag + has_trait_with_flag = wc_lifestyle_elemental_water_magic_flag + has_trait_with_flag = wc_lifestyle_elemental_air_magic_flag + has_trait_with_flag = wc_lifestyle_elemental_earth_magic_flag + } +} + +# Triggers for vanilla lifestyles +diplomacy_lifestyle_tree_1_finished_or_not_started_trigger = { # Foreign Affairs + OR = { + NOT = { has_perk = thoughtful_perk } + has_perk = diplomat_perk + } +} +diplomacy_lifestyle_tree_2_finished_or_not_started_trigger = { # Majesty + OR = { + NOR = { + has_perk = benevolent_intent_perk + has_perk = firm_hand_perk + } + has_perk = august_perk + } +} +diplomacy_lifestyle_tree_3_finished_or_not_started_trigger = { # Family + OR = { + NOR = { + has_perk = befriend_perk + has_perk = groomed_to_rule_perk + } + has_perk = family_man_perk + } +} +intrigue_lifestyle_tree_1_finished_or_not_started_trigger = { # Skulduggery + OR = { + NOT = { has_perk = truth_is_relative_perk } + has_perk = schemer_perk + } +} +intrigue_lifestyle_tree_2_finished_or_not_started_trigger = { # Temptation + OR = { + NOR = { + has_perk = like_weed_in_a_garden_perk + has_perk = enticing_opportunity_perk + } + has_perk = seducer_perk + } +} +intrigue_lifestyle_tree_3_finished_or_not_started_trigger = { # Intimidation + OR = { + NOR = { + has_perk = dark_insights_perk + has_perk = dreadful_perk + } + has_perk = torturer_perk + } +} +learning_lifestyle_tree_1_finished_or_not_started_trigger = { # Medicine + OR = { + NOT = { has_perk = anatomical_studies_perk } + has_perk = whole_of_body_perk + } +} +learning_lifestyle_tree_2_finished_or_not_started_trigger = { # Scholarship + OR = { + NOR = { + has_perk = pedagogy_perk + has_perk = scientific_perk + } + has_perk = scholar_perk + } +} +learning_lifestyle_tree_3_finished_or_not_started_trigger = { # Theology + OR = { + NOT = { has_perk = faithful_perk } + has_perk = theologian_perk + } +} +martial_lifestyle_tree_1_finished_or_not_started_trigger = { # Strategy + OR = { + NOT = { has_perk = bellum_justum_perk } + has_perk = strategist_perk + } +} +martial_lifestyle_tree_2_finished_or_not_started_trigger = { # Authority + OR = { + NOT = { has_perk = serve_the_crown_perk } + has_perk = overseer_perk + } +} +martial_lifestyle_tree_3_finished_or_not_started_trigger = { # Chivalry + OR = { + NOT = { has_perk = stalwart_leader_perk } + has_perk = gallant_perk + } +} +stewardship_lifestyle_tree_1_finished_or_not_started_trigger = { # Wealth + OR = { + NOT = { has_perk = golden_obligations_perk } + has_perk = avaricious_perk + } +} +stewardship_lifestyle_tree_2_finished_or_not_started_trigger = { # Domain + OR = { + NOR = { + has_perk = tax_man_perk + has_perk = cutting_corners_perk + } + has_perk = architect_perk + } +} +stewardship_lifestyle_tree_3_finished_or_not_started_trigger = { # Duty + OR = { + NOT = { has_perk = meritocracy_perk } + has_perk = administrator_perk + } +} + +# Triggers for wc lifestyles +light_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = light_magic_tree_1_perk_1 } + has_perk = light_magic_tree_1_perk_9 + } +} +light_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = light_magic_tree_2_perk_1 } + has_perk = light_magic_tree_2_perk_9 + } +} +light_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = light_magic_tree_3_perk_1 } + has_perk = light_magic_tree_3_perk_9 + } +} +shadow_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = shadow_magic_tree_1_perk_1 } + has_perk = shadow_magic_tree_1_perk_9 + } +} +shadow_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = shadow_magic_tree_2_perk_1 + has_perk = shadow_magic_tree_2_perk_2 + } + has_perk = shadow_magic_tree_2_perk_9 + } +} +shadow_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = shadow_magic_tree_3_perk_1 + has_perk = shadow_magic_tree_3_perk_2 + } + has_perk = shadow_magic_tree_3_perk_9 + } +} +disorder_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = disorder_magic_tree_1_perk_1 + has_perk = disorder_magic_tree_1_perk_2 + has_perk = disorder_magic_tree_1_perk_5 + has_perk = disorder_magic_tree_1_perk_6 + } + has_perk = disorder_magic_tree_1_perk_9 + } +} +disorder_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = disorder_magic_tree_2_perk_1 + has_perk = disorder_magic_tree_2_perk_2 + has_perk = disorder_magic_tree_2_perk_3 + has_perk = disorder_magic_tree_2_perk_4 + } + has_perk = disorder_magic_tree_2_perk_9 + } +} +disorder_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = disorder_magic_tree_3_perk_1 } + has_perk = disorder_magic_tree_3_perk_9 + } +} +order_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = order_magic_tree_1_perk_1 } + has_perk = order_magic_tree_1_perk_9 + } +} +order_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = order_magic_tree_2_perk_1 } + has_perk = order_magic_tree_2_perk_9 + } +} +order_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOT = {has_perk = order_magic_tree_3_perk_1} + has_perk = order_magic_tree_3_perk_9 + } +} +order_magic_lifestyle_tree_4_finished_or_not_started_trigger = { + OR = { + NOT = { + has_perk = order_magic_tree_4_perk_1 + has_perk = order_magic_tree_4_perk_2 + has_perk = order_magic_tree_4_perk_3 + } + has_perk = order_magic_tree_4_perk_9 + } +} +order_magic_lifestyle_tree_5_finished_or_not_started_trigger = { + OR = { + NOT = { + has_perk = order_magic_tree_5_perk_1 + has_perk = order_magic_tree_5_perk_2 + has_perk = order_magic_tree_5_perk_3 + } + has_perk = order_magic_tree_4_perk_9 + } +} +life_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = life_magic_tree_1_perk_1 + has_perk = life_magic_tree_1_perk_2 + } + has_perk = life_magic_tree_1_perk_9 + } +} +life_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = life_magic_tree_2_perk_1 + has_perk = life_magic_tree_2_perk_2 + has_perk = life_magic_tree_2_perk_3 + has_perk = life_magic_tree_2_perk_4 + has_perk = life_magic_tree_2_perk_5 + } + has_perk = life_magic_tree_2_perk_9 + } +} +life_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = life_magic_tree_3_perk_1 + has_perk = life_magic_tree_3_perk_2 + has_perk = life_magic_tree_3_perk_3 + } + has_perk = life_magic_tree_3_perk_9 + } +} +death_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = death_magic_tree_1_perk_1 + has_perk = death_magic_tree_1_perk_2 + has_perk = death_magic_tree_1_perk_3 + has_perk = death_magic_tree_1_perk_4 + has_perk = death_magic_tree_1_perk_5 + } + has_perk = death_magic_tree_1_perk_9 + } +} +death_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = death_magic_tree_2_perk_1 + has_perk = death_magic_tree_2_perk_2 + } + has_perk = death_magic_tree_2_perk_9 + } +} +death_magic_lifestyle_tree_3_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = death_magic_tree_3_perk_1 } + has_perk = death_magic_tree_3_perk_9 + } +} +elemental_fire_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = elemental_fire_magic_tree_1_perk_1 } + has_perk = elemental_fire_magic_tree_1_perk_9 + } +} +elemental_fire_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = elemental_fire_magic_tree_2_perk_1 + has_perk = elemental_fire_magic_tree_2_perk_2 + } + has_perk = elemental_fire_magic_tree_2_perk_9 + } +} +elemental_water_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = elemental_water_magic_tree_1_perk_1 } + has_perk = elemental_water_magic_tree_1_perk_9 + } +} +elemental_water_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOR = { + has_perk = elemental_water_magic_tree_2_perk_1 + has_perk = elemental_water_magic_tree_2_perk_2 + } + has_perk = elemental_water_magic_tree_2_perk_9 + } +} +elemental_air_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = {has_perk = elemental_air_magic_tree_1_perk_1} + has_perk = elemental_air_magic_tree_1_perk_9 + } +} +elemental_air_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = elemental_air_magic_tree_2_perk_1 } + has_perk = elemental_air_magic_tree_2_perk_9 + } +} +elemental_air_magic_lifestyle_tree_3_finished_or_not_started_trigger = { always = yes } +elemental_earth_magic_lifestyle_tree_1_finished_or_not_started_trigger = { + OR = { + NOT = { has_perk = elemental_earth_magic_tree_1_perk_1 } + has_perk = elemental_earth_magic_tree_1_perk_9 + } +} +elemental_earth_magic_lifestyle_tree_2_finished_or_not_started_trigger = { + OR = { + NOT = {has_perk = elemental_earth_magic_tree_2_perk_1} + has_perk = elemental_earth_magic_tree_2_perk_9 + } +} +elemental_earth_magic_lifestyle_tree_3_finished_or_not_started_trigger = { always = yes } + +can_spend_perks_in_nonelemental_TYPE_lifestyle_tree_TREE_trigger = { + OR = { + can_start_new_lifestyle_tree_trigger = yes # AI can allocate perks in a tree if they finished all their previous trees + $TYPE$_lifestyle_tree_$TREE$_finished_or_not_started_trigger = no # Or if it's a tree they have already invested in + + trigger_if = { # Or they have recieved a perk in the game process by focus or event + limit = { $TYPE$_lifestyle_perk_points > 0 } + + $TYPE$_lifestyle_tree_1_finished_or_not_started_trigger = yes + $TYPE$_lifestyle_tree_2_finished_or_not_started_trigger = yes + $TYPE$_lifestyle_tree_3_finished_or_not_started_trigger = yes + } + } +} + +can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { # Created in order for the game to not trow an error because third elemental tree does not exist + OR = { + can_start_new_lifestyle_tree_trigger = yes + $MAGIC$_magic_lifestyle_tree_$TREE$_finished_or_not_started_trigger = no + + trigger_if = { + limit = { $MAGIC$_magic_lifestyle_perk_points > 0 } + + $MAGIC$_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes + $MAGIC$_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes + } + } +} + +# Triggers for elemental goodwill mechanic +wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { + wc_$ELEMENT$_favour_$TENSE$_value < wc_spirit_elemental_favour_threshold_value + wc_$ELEMENT$_favour_$TENSE$_value > wc_decay_elemental_favour_threshold_value +} +wc_ELEMENT_favour_TENSE_disposition_is_spirit_trigger = { + wc_$ELEMENT$_favour_$TENSE$_value >= wc_spirit_elemental_favour_threshold_value +} +wc_ELEMENT_favour_TENSE_disposition_is_decay_trigger = { + wc_$ELEMENT$_favour_$TENSE$_value <= wc_decay_elemental_favour_threshold_value +} \ No newline at end of file diff --git a/common/scripted_triggers/wc_maa_triggers.txt b/common/scripted_triggers/wc_maa_triggers.txt index eab516f060..b4e8eeac8d 100644 --- a/common/scripted_triggers/wc_maa_triggers.txt +++ b/common/scripted_triggers/wc_maa_triggers.txt @@ -37,7 +37,7 @@ can_unlock_innovation_taming_the_skies_trigger = { has_unlocked_culture_aerial_maa_trigger = no } -can_unlock_innovation_archmage_trigger = { +can_unlock_innovation_archmagi_trigger = { OR = { has_human_heritage_trigger = yes has_cultural_pillar = heritage_highborne diff --git a/common/scripted_triggers/wc_magic_perks_triggers.txt b/common/scripted_triggers/wc_magic_perks_triggers.txt new file mode 100644 index 0000000000..8c3d77ebcd --- /dev/null +++ b/common/scripted_triggers/wc_magic_perks_triggers.txt @@ -0,0 +1,135 @@ +hurricane_cost_trigger = { + has_variable = hurricane_target + has_variable = spell_recipient + var:spell_recipient = { is_barony_trigger = yes } + var:spell_recipient = var:hurricane_target + var:current_spell_name ?= flag:$SPELL$ +} + +hurricane_cast_time_trigger = { + trigger_if = { + limit = { + NOT = { + exists = var:$SPELL$_recipient + } + } + has_variable = hurricane_target + has_variable = spell_recipient + var:spell_recipient = { is_barony_trigger = yes } + var:spell_recipient = var:hurricane_target + var:current_spell_name ?= flag:$SPELL$ + } + trigger_else = { + has_variable = hurricane_target + var:$SPELL$_recipient = { is_barony_trigger = yes } + var:$SPELL$_recipient = var:hurricane_target + } +} + +best_served_cold_scheme_cooldown_trigger = { + has_perk = elemental_water_magic_tree_2_perk_4 + trigger_if = { + limit = { + NOT = { + exists = var:$SPELL$_recipient + } + } + var:current_spell_name ?= flag:$SPELL$ + trigger_if = { + limit = { + var:spell_recipient ?= { + is_character_trigger = yes + } + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:spell_recipient + } + } + trigger_else_if = { + limit = { + has_variable = original_recipient + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:original_recipient + } + } + trigger_else = { + always = no + } + } + trigger_else = { + trigger_if = { + limit = { + var:$SPELL$_recipient ?= { + is_character_trigger = yes + } + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:$SPELL$_recipient + } + } + trigger_else_if = { + limit = { + has_variable = $SPELL$_original_recipient + } + is_target_in_variable_list = { + name = best_served_cold_targets + target = var:$SPELL$_original_recipient + } + } + trigger_else = { + always = no + } + } +} + +best_served_cold_rival_cooldown_trigger = { + has_perk = elemental_water_magic_tree_2_perk_4 + trigger_if = { + limit = { + NOT = { + exists = var:$SPELL$_recipient + } + } + var:current_spell_name ?= flag:$SPELL$ + trigger_if = { + limit = { + var:spell_recipient ?= { + is_character_trigger = yes + } + } + has_relation_rival = var:spell_recipient + } + trigger_else_if = { + limit = { + has_variable = original_recipient + } + has_relation_rival = var:original_recipient + } + trigger_else = { + always = no + } + } + trigger_else = { + trigger_if = { + limit = { + var:$SPELL$_recipient ?= { + is_character_trigger = yes + } + } + has_relation_rival = var:$SPELL$_recipient + } + trigger_else_if = { + limit = { + has_variable = $SPELL$_original_recipient + } + has_relation_rival = var:$SPELL$_original_recipient + } + trigger_else = { + always = no + } + } +} \ No newline at end of file diff --git a/common/scripted_triggers/wc_magic_spells_triggers.txt b/common/scripted_triggers/wc_magic_spells_triggers.txt new file mode 100644 index 0000000000..d861803a20 --- /dev/null +++ b/common/scripted_triggers/wc_magic_spells_triggers.txt @@ -0,0 +1,2385 @@ +any_spell_trigger = { + OR = { + $TRIGGER$ = { SPELL = flag:backdraft } + $TRIGGER$ = { SPELL = flag:summon_fire_elemental } + $TRIGGER$ = { SPELL = flag:lava_lash } + $TRIGGER$ = { SPELL = flag:flame_wall } + $TRIGGER$ = { SPELL = flag:flame_shock } + $TRIGGER$ = { SPELL = flag:burnout } + $TRIGGER$ = { SPELL = flag:planar_fire } + $TRIGGER$ = { SPELL = flag:cauterize_wound } + $TRIGGER$ = { SPELL = flag:vernal_solstice } + $TRIGGER$ = { SPELL = flag:polymorph } + $TRIGGER$ = { SPELL = flag:counterspell } + $TRIGGER$ = { SPELL = flag:spellsteal } + $TRIGGER$ = { SPELL = flag:scry } + $TRIGGER$ = { SPELL = flag:haste } + $TRIGGER$ = { SPELL = flag:conjure_refreshment } + $TRIGGER$ = { SPELL = flag:chronomancy } + $TRIGGER$ = { SPELL = flag:fire_shield } + $TRIGGER$ = { SPELL = flag:scorch } + $TRIGGER$ = { SPELL = flag:pyroblast } + $TRIGGER$ = { SPELL = flag:flamestrike } + $TRIGGER$ = { SPELL = flag:frostbolt } + $TRIGGER$ = { SPELL = flag:frost_nova } + $TRIGGER$ = { SPELL = flag:frost_armor } + $TRIGGER$ = { SPELL = flag:blizzard } + $TRIGGER$ = { SPELL = flag:frostfire_bolt } + $TRIGGER$ = { SPELL = flag:evocation } + $TRIGGER$ = { SPELL = flag:arcane_dome } + $TRIGGER$ = { SPELL = flag:flash_of_light } + $TRIGGER$ = { SPELL = flag:dispel } + $TRIGGER$ = { SPELL = flag:lightwell } + $TRIGGER$ = { SPELL = flag:holy_fire } + $TRIGGER$ = { SPELL = flag:judgement } + $TRIGGER$ = { SPELL = flag:exorcism } + $TRIGGER$ = { SPELL = flag:expulsion } + $TRIGGER$ = { SPELL = flag:avenging_wrath } + $TRIGGER$ = { SPELL = flag:salvation } + $TRIGGER$ = { SPELL = flag:bless } + $TRIGGER$ = { SPELL = flag:divine_shield } + $TRIGGER$ = { SPELL = flag:consecration } + $TRIGGER$ = { SPELL = flag:rebuke } + $TRIGGER$ = { SPELL = flag:divine_storm } + $TRIGGER$ = { SPELL = flag:blessed_bastion } + $TRIGGER$ = { SPELL = flag:raise_dead } + $TRIGGER$ = { SPELL = flag:death_coil } + $TRIGGER$ = { SPELL = flag:death_grip } + $TRIGGER$ = { SPELL = flag:cripple } + $TRIGGER$ = { SPELL = flag:improved_body } + $TRIGGER$ = { SPELL = flag:coagulation } + $TRIGGER$ = { SPELL = flag:blood_boil } + $TRIGGER$ = { SPELL = flag:strangulate } + $TRIGGER$ = { SPELL = flag:supreme_raise_dead } + $TRIGGER$ = { SPELL = flag:army_of_the_dead } + $TRIGGER$ = { SPELL = flag:epidemic } + $TRIGGER$ = { SPELL = flag:crimson_binding } + $TRIGGER$ = { SPELL = flag:summon_water_elemental } + $TRIGGER$ = { SPELL = flag:soothing_waters } + $TRIGGER$ = { SPELL = flag:river_spirits_rage } + $TRIGGER$ = { SPELL = flag:invoke_tsunami } + $TRIGGER$ = { SPELL = flag:frost_shock } + $TRIGGER$ = { SPELL = flag:icefury } + $TRIGGER$ = { SPELL = flag:ice_structure } + $TRIGGER$ = { SPELL = flag:eternal_winter } + $TRIGGER$ = { SPELL = flag:create_portal } + $TRIGGER$ = { SPELL = flag:void_touch } + $TRIGGER$ = { SPELL = flag:void_leader } + $TRIGGER$ = { SPELL = flag:voidborne } + $TRIGGER$ = { SPELL = flag:rend_flesh } + $TRIGGER$ = { SPELL = flag:mutate } + $TRIGGER$ = { SPELL = flag:drain_essence } + $TRIGGER$ = { SPELL = flag:insanity } + $TRIGGER$ = { SPELL = flag:mania } + $TRIGGER$ = { SPELL = flag:mind_blast } + $TRIGGER$ = { SPELL = flag:silence } + $TRIGGER$ = { SPELL = flag:shadow_crash } + $TRIGGER$ = { SPELL = flag:twisted_chains } + $TRIGGER$ = { SPELL = flag:ascension } + $TRIGGER$ = { SPELL = flag:whispers } + $TRIGGER$ = { SPELL = flag:power_word_barrier } + $TRIGGER$ = { SPELL = flag:dispersion } + $TRIGGER$ = { SPELL = flag:realm_of_necrosis } + } +} + +any_spell_modifier_trigger = { + $OPERATOR$ = { + $TRIGGER$ = { MODIFIER = wc_frost_armor SPELL = frost_armor TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_summon_fire_elemental SPELL = summon_fire_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_empowered_fire_elemental SPELL = summon_fire_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_animate_rage SPELL = iforgot TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_backdraft_proc SPELL = backdraft TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_flame_wall_good SPELL = flame_wall TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_pyromania SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_cauterized_wound SPELL = cauterize_wound TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_counterspell SPELL = counterspell TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_scry SPELL = scry TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_empowered_scry SPELL = scry TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_haste SPELL = haste TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_conjure_food SPELL = conjure_refreshment TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_conjure_feast SPELL = conjure_refreshment TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_conjure_drink SPELL = conjure_refreshment TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_fire_shield SPELL = fire_shield TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_frostfire_bolt_good SPELL = frostfire_bolt TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_minor_protection SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_major_protection SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_minor_efficiency SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_major_efficiency SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_major_companionship SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_minor_companionship SPELL = planar_fire TYPE = positive } + # $TRIGGER$ = { MODIFIER = wc_elemental_fire_fear_me SPELL = planar_fire TYPE = positive } + # $TRIGGER$ = { MODIFIER = wc_elemental_fire_love_me SPELL = planar_fire TYPE = positive } + # $TRIGGER$ = { MODIFIER = wc_hearth_blessing SPELL = iforgot TYPE = positive } # + $TRIGGER$ = { MODIFIER = wc_elemental_fire_planar_fire SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_fire_magic_blessing SPELL = planar_fire TYPE = positive } + # Unused + $TRIGGER$ = { MODIFIER = wc_elemental_fire_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_air_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_water_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_earth_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_light_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_shadow_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_life_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_death_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_order_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_disorder_learning_boost SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_fire_magic_offensive_force SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_fire_magic_defensive_force SPELL = none TYPE = positive } + # End Unused + $TRIGGER$ = { MODIFIER = wc_fire_decay_ritual_feed SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_elemental_fire_planar_fire_decay_win SPELL = planar_fire TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_quickening SPELL = none TYPE = positive } + # $TRIGGER$ = { MODIFIER = wc_evocation_character SPELL = iforgot TYPE = positive } # Only applied when inside specific location + $TRIGGER$ = { MODIFIER = wc_flamestrike SPELL = flamestrike TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_flame_wall_bad SPELL = flame_wall TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_frostfire_bolt_bad SPELL = frostfire_bolt TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_frostbolt SPELL = frostbolt TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_frost_nova SPELL = frost_nova TYPE = negative } + # $TRIGGER$ = { MODIFIER = wc_blizzard_character SPELL = iforgot TYPE = negative } # Only applied when inside specific location + $TRIGGER$ = { MODIFIER = wc_slow SPELL = haste TYPE = negative } + # $TRIGGER$ = { MODIFIER = wc_arcane_dome_character SPELL = iforgot TYPE = negative } # Only applied when inside specific location + $TRIGGER$ = { MODIFIER = wc_exorcism SPELL = exorcism TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_lightwell SPELL = lightwell TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_holy_fire SPELL = holy_fire TYPE = negative } + # $TRIGGER$ = { MODIFIER = wc_saved_with_salvation SPELL = salvation TYPE = negative } Ritual modifier # + # $TRIGGER$ = { MODIFIER = wc_salvation SPELL = salvation TYPE = positive } Ritual modifier # + $TRIGGER$ = { MODIFIER = wc_rebuke SPELL = none TYPE = negative } + # $TRIGGER$ = { MODIFIER = wc_divine_storm_character SPELL = divine_storm TYPE = negative } # Only applied when inside specific location + $TRIGGER$ = { MODIFIER = wc_blessed_bastion SPELL = blessed_bastion TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_blessed_bastion SPELL = blessed_bastion TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_death_coil_positive SPELL = death_coil TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_death_coil_negative SPELL = death_coil TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_death_grip SPELL = death_grip TYPE = negative } + # $TRIGGER$ = { MODIFIER = wc_death_and_decay_character SPELL = death_and_decay TYPE = negative } # Only applied when inside specific location + $TRIGGER$ = { MODIFIER = wc_cripple SPELL = cripple TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_death_pact SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_mark_of_blood_commander SPELL = none TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_mark_of_blood_knight SPELL = none TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_strangulate SPELL = strangulate TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_crimson_binding SPELL = crimson_binding TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_summon_water_elemental SPELL = summon_water_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_empowered_water_elemental SPELL = summon_water_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_empowered_water_elemental_enemy SPELL = summon_water_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_soothing_waters SPELL = soothing_waters TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_river_spirits_rage_character SPELL = river_spirits_rage TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_river_spirits_rage_army SPELL = river_spirits_rage TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_sirens_call SPELL = summon_water_elemental TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_void_leader SPELL = summon_void_leader TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_rend_flesh_1 SPELL = rend_flesh TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_rend_flesh_2 SPELL = rend_flesh TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_rend_flesh_3 SPELL = rend_flesh TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_insanity SPELL = insanity TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_mania SPELL = mania TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_silenced SPELL = silence TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_shadow_crashed SPELL = shadow_crash TYPE = negative } + $TRIGGER$ = { MODIFIER = wc_whispers_murder SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_whispers_love SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_whispers_tyranny SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_whispers_hurt SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_whispers_artifact SPELL = none TYPE = positive } + $TRIGGER$ = { MODIFIER = wc_whispers_health SPELL = none TYPE = positive } + } +} + +has_positive_spell_modifier = { + has_character_modifier = $MODIFIER$_modifier + flag:$TYPE$ = flag:positive + + NOT = { # Error Prevention + flag:$SPELL$ = flag:error + } +} + +has_negative_spell_modifier = { + has_character_modifier = $MODIFIER$_modifier + flag:$TYPE$ = flag:negative + + NOT = { # Error Prevention + flag:$SPELL$ = flag:error + } +} + +is_known_spell_trigger = { + custom_description = { + text = is_known_spell_trigger + OR = { + AND = { + has_variable_list = known_spells + is_target_in_variable_list = { name = known_spells target = $SPELL$ } + } + has_variable = all_spells_debug + } + } +} + +spell_on_cooldown_trigger = { + custom_description = { + text = spell_on_cooldown_trigger + AND = { + has_variable_list = spells_cd + is_target_in_variable_list = { name = spells_cd target = $SPELL$ } + } + } +} + +already_channeling_spell_trigger = { + custom_description = { + text = already_channeling_spell_trigger + has_variable_list = current_spells_channeling + is_target_in_variable_list = { name = current_spells_channeling target = $SPELL$ } + } +} + +ritual_on_cooldown_trigger = { + custom_description = { + text = ritual_on_cooldown_trigger + trigger_if = { + limit = { + spell_is_ritual_trigger = { SPELL = $SPELL$ } + } + OR = { + any_spell_trigger = { TRIGGER = ritual_on_cooldown_sub_trigger } + has_character_flag = any_ritual_cd + } + } + trigger_else = { always = no } + } +} + +ritual_on_cooldown_sub_trigger = { + spell_is_ritual_trigger = { SPELL = $SPELL$ } + spell_on_cooldown_trigger = { SPELL = $SPELL$ } +} + +has_unlocked_spell_rank_trigger = { + trigger_if = { + limit = { # You know all ranks of the spell if you know the spell and it has no ranks + NOT = { spell_has_ranks_trigger = { SPELL = $SPELL$ } } + } + is_known_spell_trigger = { SPELL = $SPELL$ } + } + trigger_else_if = { + limit = { + $SPELL_RANK$ = flag:rank_1 + } + has_variable_list = known_spells + is_target_in_variable_list = { + name = known_spells + target = $SPELL$ + } + } + trigger_else_if = { + limit = { + $SPELL_RANK$ = flag:rank_2 + } + has_variable_list = known_rank_2_spells + is_target_in_variable_list = { + name = known_rank_2_spells + target = $SPELL$ + } + } + trigger_else_if = { + limit = { + $SPELL_RANK$ = flag:rank_3 + } + has_variable_list = known_rank_3_spells + is_target_in_variable_list = { + name = known_rank_3_spells + target = $SPELL$ + } + } + trigger_else = { + always = no + } +} + +can_cast_another_spell_trigger = { + custom_description = { + text = can_cast_another_spell_trigger + # Only up to 5 spells casting at once, and you cant cast the same spell at once + trigger_if = { + limit = { + has_variable_list = current_spells_casting + } + variable_list_size = { name = current_spells_casting value < 5 } + } + } +} + +is_casting_spell_trigger = { + custom_description = { + text = is_casting_spell_trigger + has_variable_list = current_spells_casting + is_target_in_variable_list = { name = current_spells_casting target = $SPELL$ } + } +} + +has_sufficient_mana_trigger = { + custom_description = { + text = has_sufficient_mana_trigger + exists = var:current_spell_mana_cost + var:current_spell_mana_cost <= var:wc_current_mana_variable + } +} + +has_sufficient_mana_value_trigger = { + custom_description = { + text = has_sufficient_mana_trigger + trigger_if = { + limit = { + has_variable = wc_current_mana_variable + } + $VALUE$ <= var:wc_current_mana_variable + } + } +} + +spell_hack_activated_trigger = { + exists = var:wc_spell_hack_activated +} + +wc_presence_of_mind_activated_trigger = { + exists = var:wc_presence_of_mind_activated +} + +wc_reverse_causality_activated_trigger = { + exists = var:wc_reverse_causality_activated +} + +all_requirements_for_casting_satisfied_trigger = { + has_variable = current_spell_name + has_variable = current_spell_rank + has_variable = current_spell_mana_cost + has_spell_selected_trigger = yes + has_sufficient_mana_trigger = yes + has_selected_spell_rank_trigger = yes + has_selected_elemental_type_trigger = yes + has_spell_target_selected_trigger = yes + satisfy_spell_triggers = { + SPELL = var:current_spell_name + } + NOR = { + custom_tooltip = { + text = spell_target_is_self_trigger + AND = { + spell_target_is_self_trigger = { + SPELL = var:current_spell_name + RANK_VALUE = var:current_spell_rank + } + trigger_if = { + limit = { + var:current_target_type = flag:character + exists = var:spell_recipient + } + NOT = { + var:spell_recipient ?= root + } + } + trigger_else_if = { + limit = { + exists = var:original_recipient + } + NOT = { + var:original_recipient ?= root + } + } + trigger_else = { always = no } + } + } + trigger_if = { + limit = { + has_variable_list = spell_targets_list + } + any_in_list = { + variable = spell_targets_list + target_has_max_stacks_trigger = yes + } + } + trigger_if = { + limit = { + exists = var:spell_recipient + } + var:spell_recipient = { target_has_max_stacks_trigger = yes } + } + custom_tooltip = { # Recipient must have a knight + text = wc_spell_no_knights + #OR = { + var:current_spell_name ?= flag:flame_shock + #} + var:spell_recipient ?= { any_knight = { count = 0 }} + } + custom_tooltip = { # Recipient must be a magic user + text = wc_spell_is_magic_user + OR = { + var:current_spell_name ?= flag:burnout + var:current_spell_name ?= flag:rebuke + var:current_spell_name ?= flag:strangulate + var:current_spell_name ?= flag:silence + } + var:spell_recipient = { is_magic_user_trigger = no } + } + custom_tooltip = { + text = wc_spell_ice_block + trigger_if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:character + has_variable = spell_recipient + } + var:spell_recipient = { has_trait = ice_block } + } + trigger_else = { always = no } + } + custom_tooltip = { + text = wc_spell_ice_block + trigger_if = { + limit = { + has_variable = current_target_type + var:current_target_type = flag:character_list + has_variable_list = spell_targets_list + } + any_in_list = { + variable = spell_targets_list + has_trait = ice_block + } + } + trigger_else = { always = no } + } + custom_tooltip = { + text = IS_INCAPABLE_TRIGGER + is_incapable = yes + } + custom_tooltip = { + text = IS_STRANGULATED + has_character_modifier = wc_strangulate_modifier + } + custom_tooltip = { + text = IS_SILENCED + has_character_modifier = wc_silenced_modifier + } + } + custom_tooltip = { + text = wc_spell_create_portal + trigger_if = { + limit = { + var:current_spell_name ?= flag:create_portal + } + exists = var:create_portal_destination + NOR = { + AND = { + var:current_spell_rank = 1 + var:spell_recipient = { is_travelling = yes } + } + AND = { + var:current_spell_rank = 3 + var:spell_recipient = { is_army_in_combat = yes } + } + } + } + trigger_else = { always = yes } + } +} + +has_spell_selected_trigger = { + custom_description = { + text = has_spell_selected_trigger + exists = var:current_spell_name + } +} + +has_spell_target_selected_trigger = { + custom_description = { + text = has_spell_target_selected_trigger + OR = { + exists = var:spell_recipient + has_variable_list = spell_targets_list + } + } +} + +has_spell_selected_targets_trigger = { + custom_description = { + text = has_spell_selected_targets_trigger + OR = { + exists = var:spell_recipient + has_variable_list = spell_targets_list + } + } +} + +has_selected_spell_rank_trigger = { + custom_description = { + text = has_selected_spell_rank_trigger + exists = var:current_spell_name + OR = { + AND = { + exists = var:current_spell_rank + NOT = { var:current_spell_rank = 0 } + spell_has_ranks_trigger = { + SPELL = var:current_spell_name + } + } + NOT = { + spell_has_ranks_trigger = { + SPELL = var:current_spell_name + } + } + } + } +} + +has_selected_elemental_type_trigger = { + custom_description = { + text = has_selected_elemental_type_trigger + trigger_if = { + limit = { + exists = var:current_spell_name + spell_is_elemental_trigger = { + SPELL = var:current_spell_name + } + } + exists = var:elemental_type + } + } +} + +has_max_targets_trigger = { + custom_description = { + text = has_max_targets_trigger + AND = { + has_variable_list = spell_targets_list + variable_list_size = { + name = spell_targets_list + value >= 3 + } + } + } +} + +has_monitored_spells_trigger = { + OR = { + has_variable_list = backdraft_observer_list + AND = { + has_variable = burnout_victim + has_character_modifier = wc_burnout_good_modifier + } + AND = { + has_character_flag = chronomancy_active + OR = { + has_variable_list = chronomancy_modifier_list + has_variable_list = chronomancy_trait_list + } + } + AND = { + has_variable = consecration_county + var:consecration_county = { + var:consecration_owner ?= root + OR = { + has_county_modifier = wc_consecration_county_negative_modifier + has_county_modifier = wc_consecration_county_positive_modifier + } + } + } + has_variable = wc_ascension_points + any_in_list = { + variable = current_spells_channeling + count >= 1 + } + } +} + + +### SPELL TARGET TRIGGERS ### +## ONLY ONE CAN BE TRUE PER RANK ### +## THESE DON'T NEED LOCALIZATION, FOR NOW ## +### IF THE SPELL HAS NO RANKS, PUT RANK_VALUE AS 0 ### +### IF THE SPELL HAS RANKS, ONLY ONE CAN BE TRUE FOR EACH RANK. ### + +spell_has_monitoring_gui_trigger = { # If the spell needs/has monitoring via GUI + OR = { + $SPELL$ = flag:backdraft + $SPELL$ = flag:burnout + $SPELL$ = flag:chronomancy + $SPELL$ = flag:consecration + $SPELL$ = flag:ascension + spell_is_channeled_trigger = { SPELL = $SPELL$ } + } +} + +target_has_max_stacks_trigger = { + trigger_if = { + limit = { + OR = { + root.var:current_spell_name ?= flag:planar_fire + root.var:current_spell_name ?= flag:divine_storm + root.var:current_spell_name ?= flag:judgement + root.var:current_spell_name ?= flag:avenging_wrath + root.var:current_spell_name ?= flag:improved_body + root.var:current_spell_name ?= flag:coagulation + root.var:current_spell_name ?= flag:army_of_the_dead + root.var:current_spell_name ?= flag:epidemic + root.var:current_spell_name ?= flag:avenging_wrath + root.var:current_spell_name ?= flag:soothing_waters + root.var:current_spell_name ?= flag:summon_void_leader + root.var:current_spell_name ?= flag:mania + root.var:current_spell_name ?= flag:mind_blast + root.var:current_spell_name ?= flag:shadow_crash + root.var:current_spell_name ?= flag:twisted_chains + root.var:current_spell_name ?= flag:ascension + root.var:current_spell_name ?= flag:flame_shock + root.var:current_spell_name ?= flag:frost_shock + root.var:current_spell_name ?= flag:scorch + } + } # No such thing as stacks + always = no + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:summon_fire_elemental + root.var:current_spell_rank ?= 1 + } # Max 1 stack + has_character_modifier = wc_summon_fire_elemental_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:chronomancy + } # Max 1 stack + has_character_flag = chronomancy_active + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:summon_fire_elemental + root.var:current_spell_rank >= 2 + } # Max 1 stack + OR = { + holder ?= { has_character_flag = has_fire_elemental_maa } + liege ?= { has_character_flag = has_fire_elemental_maa } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:lava_lash + } # 3 stacks + title_province = { has_variable = lava_lash_3 } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:exorcism + } # 3 stacks + has_variable = exorcism_3 + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:backdraft + root.var:current_spell_rank <= 2 + } # Max 1 stack + title_province = { has_variable = backdraft_monitor } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:backdraft + root.var:current_spell_rank ?= 3 + } # Max 1 stack + has_variable = backdraft_monitor + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:flame_wall + } # Max 1 stack + OR = { + has_variable = flame_wall_remainder + army_commander = { has_character_modifier = wc_flame_wall_good_modifier } + army_commander = { has_character_modifier = wc_flame_wall_bad_modifier } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:pyroblast + } + army_owner = { + NOT = { + any_knight = { + exists = knight_army + knight_army = prev + } + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:blood_boil + } + AND = { + army_commander = { has_trait = blood_plague } + army_owner = { + NOT = { + any_knight = { + exists = knight_army + knight_army = prev + NOT = { + has_trait = blood_plague + } + } + } + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:flamestrike + } + NOT = { + any_de_jure_county = { + has_county_modifier = wc_flamestrike_modifier + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:frost_nova + } + OR = { + has_variable = frost_nova_remainder + army_commander = { has_character_modifier = wc_frost_nova_modifier } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:blizzard + } + NOT = { + any_de_jure_county = { + has_county_modifier = wc_blizzard_county_modifier + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:spellsteal + } # has good modifier + any_spell_modifier_trigger = { OPERATOR = AND TRIGGER = target_and_root_has_positive_modifier_trigger } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:frostfire_bolt + } + OR = { + has_variable = frostfire_bolt_remainder + army_commander = { has_character_modifier = wc_frostfire_bolt_good_modifier } + army_commander = { has_character_modifier = wc_frostfire_bolt_bad_modifier } + } + } + trigger_else_if = { + limit = { + OR = { + root.var:current_spell_name ?= flag:frostbolt + } + } # worst trait + has_character_modifier = wc_frostbolt_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:burnout + } # Max 1 stack + OR = { + has_character_modifier = wc_burnout_modifier + has_character_modifier = wc_burnout_good_modifier + root = { has_character_modifier = wc_burnout_modifier } + root = { has_character_modifier = wc_burnout_good_modifier } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:cauterize_wound + } # worst trait + has_character_modifier = wc_cauterized_wound_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:vernal_solstice + } + OR = { + any_de_jure_county = { + has_county_modifier = wc_vernal_solstice_modifier + } + any_de_jure_county = { + has_county_modifier = wc_vernal_solstice_cooldown_modifier + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:holy_fire + } + has_character_modifier = wc_holy_fire_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:lightwell + } + has_character_modifier = wc_lightwell_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:salvation + } + OR = { + has_character_modifier = wc_saved_with_salvation_modifier + has_character_modifier = wc_salvation_modifier + } + } + trigger_else_if = { + limit = { + spell_is_dispel_type_trigger = { SPELL = root.var:current_spell_name } + } + has_character_flag = wc_recently_dispelled_flag + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:bless + } + has_character_flag = wc_recently_blessed + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:divine_shield + } + has_character_modifier = wc_divine_shield_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:consecration + } + OR = { + has_county_modifier = wc_consecration_county_negative_modifier + has_county_modifier = wc_consecration_county_positive_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:rebuke + } + has_character_modifier = wc_rebuke_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:blessed_bastion + } + any_de_jure_county = { + has_county_modifier = wc_blessed_bastion_county_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:haste + } # worst trait + trigger_if = { + limit = { + this = root + } + has_character_modifier = wc_haste_modifier + } + trigger_else = { + has_character_modifier = wc_slow_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:conjure_refreshment + } # worst trait + OR = { + AND = { + has_character_modifier = wc_conjure_food_modifier + has_character_modifier = wc_conjure_drink_modifier + } + has_character_modifier = wc_conjure_feast_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:polymorph + } # worst trait + has_trait = polymorph + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:counterspell + } # worst trait + has_character_modifier = wc_counterspell_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:scry + } # worst trait + has_character_modifier = wc_scry_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:fire_shield + } + has_character_modifier = wc_fire_shield_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:frost_armor + } + OR = { + has_character_modifier = wc_frost_armor_modifier + has_trait = ice_block + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:death_coil + } # worst trait + OR = { + has_character_modifier = wc_death_coil_negative_modifier # TODO: Check if they have three stacks? + has_character_modifier = wc_death_coil_positive_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:death_grip + } # worst trait + army_commander = { + has_character_modifier = wc_death_grip_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:give_disease + } # if you manage to have all the diseases, you should get a prize + NOR = { + can_contract_disease_trigger = { DISEASE = ill } + can_contract_disease_trigger = { DISEASE = dysentery } + can_contract_disease_trigger = { DISEASE = consumption } + can_contract_disease_trigger = { DISEASE = great_pox } + can_contract_disease_trigger = { DISEASE = leper } + can_contract_disease_trigger = { DISEASE = lovers_pox } + can_contract_disease_trigger = { DISEASE = measles } + can_contract_disease_trigger = { DISEASE = pneumonic } + can_contract_disease_trigger = { DISEASE = smallpox } + can_contract_disease_trigger = { DISEASE = typhus } + can_contract_disease_trigger = { DISEASE = void_sickness } + trigger_if = { + limit = { + root = { + has_perk = death_magic_tree_1_perk_3 + } + } + can_contract_disease_trigger = { DISEASE = frost_fever } + } + trigger_if = { + limit = { + root = { + has_perk = death_magic_tree_3_perk_2 + } + } + can_contract_disease_trigger = { DISEASE = blood_plague } + } + trigger_if = { + limit = { + root = { + has_perk = death_magic_tree_2_perk_5 + } + } + can_contract_disease_trigger = { DISEASE = crypt_fever } + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:death_and_decay + } # has modifier + has_county_modifier = wc_death_and_decay_county_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:cripple + } # has modifier + has_character_modifier = wc_cripple_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:strangulate + } # has modifier + has_character_modifier = wc_strangulate_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:crimson_binding + } # has modifier + OR = { + root = { has_variable = crimson_binding_target } + has_character_modifier = wc_crimson_binding_modifier + } + } + trigger_else_if = { + limit = { + OR = { + root.var:current_spell_name ?= flag:raise_dead + root.var:current_spell_name ?= flag:supreme_raise_dead + } + } # has modifier + has_trait = being_undead + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:voidborne + } + OR = { + root = { has_character_modifier = wc_voidborne_modifier } + OR = { + is_in_twisting_nether_trigger = yes + has_character_flag = wc_voidborne_cooldown + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:summon_water_elemental + root.var:current_spell_rank ?= 1 + } # Max 1 stack + has_character_modifier = wc_summon_water_elemental_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:summon_water_elemental + root.var:current_spell_rank >= 2 + } # Max 1 stack + holder = { has_character_modifier = wc_summon_water_elemental_modifier } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:summon_water_elemental + root.var:current_spell_rank ?= 3 + } # Max 1 stack + holder = { + OR = { + has_character_modifier = wc_summon_water_elemental_modifier + has_character_modifier = wc_empowered_water_elemental_modifier + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:river_spirits_rage + root.var:current_spell_rank < 3 + } # Max 1 stack + has_character_modifier = wc_river_spirits_rage_character_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:river_spirits_rage + root.var:current_spell_rank ?= 3 + } # Max 1 stack + OR = { + has_variable = river_spirits_rage_remainder + army_commander = { has_character_modifier = wc_river_spirits_rage_army_modifier } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:invoke_tsunami + } # Max 1 stack + title_province = { has_province_modifier = wc_invoke_tsunami_modifier } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:icefury + } + any_de_jure_county = { + has_county_modifier = wc_icefury_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:ice_structure + } + title_province = { + OR = { + has_province_modifier = wc_ice_structure_spirit_province_modifier + has_province_modifier = wc_ice_structure_decay_province_modifier + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:eternal_winter + } + any_de_jure_county = { + has_county_modifier = wc_eternal_winter_modifier + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:rend_flesh + } + has_character_modifier = wc_rend_flesh_1_modifier + has_character_modifier = wc_rend_flesh_2_modifier + has_character_modifier = wc_rend_flesh_3_modifier + has_character_flag = rend_flesh_recently + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:mutate + } # Max 3 bad traits + OR = { + negative_genetic_trait_count >= 3 + has_character_flag = mutate_recently + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:mutate + } + has_character_flag = drain_essence_recently + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:insanity + } + has_character_modifier = wc_insanity_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:silence + } + has_character_modifier = wc_silenced_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:whispers + } + has_character_flag = had_whispers + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:create_portal + root.var:current_spell_rank ?= 1 + } + OR = { + has_character_flag = recently_teleported + current_travel_plan ?= { + any_entourage_character = { + has_character_flag = recently_teleported + } + } + } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:create_portal + root.var:current_spell_rank ?= 2 + } + has_character_flag = recently_teleported + + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:create_portal + root.var:current_spell_rank ?= 3 + } + army_commander = { has_character_flag = recently_teleported } + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:void_touch + } + has_trait = void_sickness + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:power_word_barrier + } + has_character_modifier = wc_power_word_barrier_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:dispersion + } + has_character_modifier = wc_dispersion_modifier + } + trigger_else_if = { + limit = { + root.var:current_spell_name ?= flag:realm_of_necrosis + } + has_character_modifier = wc_necrotic_rule_modifier + } + trigger_else = { + always = yes + } + +} + +target_and_root_has_positive_modifier_trigger = { + trigger_if = { + limit = { + has_character_modifier = $MODIFIER$_modifier + } + root = { + has_character_modifier = $MODIFIER$_modifier + } + flag:$TYPE$ = flag:positive + } + trigger_else = { + always = no + } + + NOT = { + # Error Prevention + flag:$SPELL$ = flag:error + } +} + +target_and_root_has_modifier_trigger = { + AND = { + has_character_modifier = $MODIFIER$ + root = { + has_character_modifier = $MODIFIER$ + } + } +} + +spell_target_is_character_list_trigger = { # Multiple characters + OR = { + AND = { $SPELL$ = flag:exorcism $RANK_VALUE$ = 2 } + AND = { $SPELL$ = flag:create_portal $RANK_VALUE$ = 2 } + AND = { $SPELL$ = flag:power_word_barrier $RANK_VALUE$ = 2 } + } +} + +spell_target_is_province_or_title_trigger = { # One title + OR = { # Works for ranks 2 AND 3 + AND = { $SPELL$ = flag:summon_fire_elemental $RANK_VALUE$ >= 2 } + AND = { $SPELL$ = flag:lava_lash $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:backdraft $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:vernal_solstice $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:flamestrike $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:blizzard $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:evocation $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:arcane_dome $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:consecration $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:divine_storm $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:death_and_decay $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:army_of_the_dead $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:epidemic $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:summon_water_elemental $RANK_VALUE$ >= 2 } + AND = { $SPELL$ = flag:invoke_tsunami $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:icefury $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:ice_structure $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:eternal_winter $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:shadow_crash $RANK_VALUE$ = 0 } + } +} + +spell_target_is_province_or_title_list_trigger = { # Multiple titles + OR = { + AND = { $SPELL$ = flag:backdraft $RANK_VALUE$ >= 2 } + AND = { $SPELL$ = flag:blessed_bastion $RANK_VALUE$ = 0 } + } +} + +spell_target_is_character_trigger = { # One character + OR = { + AND = { $SPELL$ = flag:dispel $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:flame_shock $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:burnout $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:planar_fire $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:cauterize_wound $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:summon_fire_elemental $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:polymorph $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:counterspell $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:spellsteal $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:scry $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:haste $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:conjure_refreshment $RANK_VALUE$ > 0 } + AND = { $SPELL$ = flag:chronomancy $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:scorch $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:fire_shield $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:frostbolt $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:frost_armor $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:flash_of_light $RANK_VALUE$ >= 1 } + AND = { $SPELL$ = flag:lightwell $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:holy_fire $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:bless $RANK_VALUE$ >= 1 } + AND = { $SPELL$ = flag:rebuke $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:avenging_wrath $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:judgement $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:divine_shield $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:exorcism $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:salvation $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:expulsion $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:raise_dead $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:death_coil $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:give_disease $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:cripple $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:improved_body $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:coagulation $RANK_VALUE$ >= 1 } + AND = { $SPELL$ = flag:strangulate $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:supreme_raise_dead $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:crimson_binding $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:summon_water_elemental $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:soothing_waters $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:river_spirits_rage $RANK_VALUE$ < 3 } + AND = { $SPELL$ = flag:frost_shock $RANK_VALUE$ < 3 } + AND = { $SPELL$ = flag:create_portal $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:void_touch $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:summon_void_leader $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:voidborne $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:rend_flesh $RANK_VALUE$ >= 1 } + AND = { $SPELL$ = flag:mutate $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:drain_essence $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:insanity $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:mania $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:mind_blast $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:silence $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:twisted_chains $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:ascension $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:whispers $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:power_word_barrier $RANK_VALUE$ = 1 } + AND = { $SPELL$ = flag:dispersion $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:realm_of_necrosis $RANK_VALUE$ = 0 } + } +} + +### for spells that target title, must specify which kind of title and rak. +spell_target_title_subtype_province_trigger = { + OR = { + AND = { $SPELL$ = flag:summon_fire_elemental $RANK_VALUE$ >= 2 } + AND = { $SPELL$ = flag:lava_lash $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:backdraft $RANK_VALUE$ <= 2 } + AND = { $SPELL$ = flag:evocation $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:epidemic $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:summon_water_elemental $RANK_VALUE$ >= 2 } + AND = { $SPELL$ = flag:invoke_tsunami $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:ice_structure $RANK_VALUE$ = 0 } + } +} + +spell_target_title_subtype_county_trigger = { + OR = { + AND = { $SPELL$ = flag:backdraft $RANK_VALUE$ = 3 } + AND = { $SPELL$ = flag:arcane_dome $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:consecration $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:death_and_decay $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:army_of_the_dead $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:shadow_crash $RANK_VALUE$ = 0 } + } +} + +spell_target_title_subtype_duchy_trigger = { + OR = { + AND = { $SPELL$ = flag:vernal_solstice $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:flamestrike $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:blizzard $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:blessed_bastion $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:divine_storm $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:icefury $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:eternal_winter $RANK_VALUE$ = 0 } + } +} + +# Use this if all ranks only target self +# For rank value use spell_target_is_self_trigger +spell_target_is_only_self_trigger = { + OR = { + $SPELL$ = flag:planar_fire + $SPELL$ = flag:chronomancy + $SPELL$ = flag:blessed_bastion + $SPELL$ = flag:army_of_the_dead + $SPELL$ = flag:ascension + } +} + +# Use this if specific ranks only target self +spell_target_is_self_trigger = { + $SPELL$ = flag:poop # To prevent errors + $RANK_VALUE$ = 5 + # OR = { + # } +} + +## can be both friendly and enemy army but if they are in both triggers, they both must have different effects +spell_target_is_friendly_army_trigger = { + OR = { + AND = { $SPELL$ = flag:flame_wall $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:frostfire_bolt $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:create_portal $RANK_VALUE$ = 3 } + } +} + +spell_target_is_enemy_army_trigger = { + OR = { + AND = { $SPELL$ = flag:flame_wall $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:pyroblast $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:frostfire_bolt $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:frost_nova $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:avenging_wrath $RANK_VALUE$ = 2 } + AND = { $SPELL$ = flag:death_grip $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:blood_boil $RANK_VALUE$ = 0 } + AND = { $SPELL$ = flag:river_spirits_rage $RANK_VALUE$ = 3 } + AND = { $SPELL$ = flag:create_portal $RANK_VALUE$ = 3 } + } +} + +## ELEMENTAL SPELLS GO HERE +spell_is_elemental_trigger = { + OR = { + $SPELL$ = flag:summon_fire_elemental + $SPELL$ = flag:lava_lash + $SPELL$ = flag:backdraft + $SPELL$ = flag:flame_wall + $SPELL$ = flag:flame_shock + $SPELL$ = flag:burnout + $SPELL$ = flag:planar_fire + $SPELL$ = flag:cauterize_wound + $SPELL$ = flag:vernal_solstice + $SPELL$ = flag:summon_water_elemental + $SPELL$ = flag:soothing_waters + $SPELL$ = flag:river_spirits_rage + $SPELL$ = flag:invoke_tsunami + $SPELL$ = flag:frost_shock + $SPELL$ = flag:icefury + $SPELL$ = flag:ice_structure + $SPELL$ = flag:eternal_winter + } +} + +spell_is_arcane_chronomancy_trigger = { + OR = { + $SPELL$ = flag:haste + $SPELL$ = flag:chronomancy + } +} + +spell_is_arcane_fire = { + OR = { + $SPELL$ = flag:scorch + $SPELL$ = flag:fire_shield + $SPELL$ = flag:pyroblast + $SPELL$ = flag:flamestrike + $SPELL$ = flag:frostfire_bolt + } +} + +spell_is_arcane_frost = { + OR = { + $SPELL$ = flag:frostbolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:frost_armor + $SPELL$ = flag:blizzard + $SPELL$ = flag:frostfire_bolt + } +} + +spell_is_helpful_trigger = { # To the recipient(s) + OR = { + $SPELL$ = flag:summon_fire_elemental + $SPELL$ = flag:cauterize_wound + $SPELL$ = flag:vernal_solstice + $SPELL$ = flag:counterspell + $SPELL$ = flag:scry + $SPELL$ = flag:conjure_refreshment + $SPELL$ = flag:fire_shield + $SPELL$ = flag:frost_armor + $SPELL$ = flag:evocation + $SPELL$ = flag:arcane_dome + $SPELL$ = flag:haste + $SPELL$ = flag:frostfire_bolt + $SPELL$ = flag:dispel + $SPELL$ = flag:flash_of_light + $SPELL$ = flag:lightwell + $SPELL$ = flag:bless + $SPELL$ = flag:divine_shield + $SPELL$ = flag:expulsion + $SPELL$ = flag:coagulation + $SPELL$ = flag:army_of_the_dead + $SPELL$ = flag:summon_water_elemental + $SPELL$ = flag:soothing_waters + $SPELL$ = flag:ice_structure + $SPELL$ = flag:summon_void_leader + $SPELL$ = flag:mania + $SPELL$ = flag:power_word_barrier + $SPELL$ = flag:dispersion + $SPELL$ = flag:realm_of_necrosis + } +} + +## if it's not either or both, you don't need to put. +spell_is_harmful_trigger = { # To the recipient(s) + OR = { + $SPELL$ = flag:lava_lash + $SPELL$ = flag:flame_shock + $SPELL$ = flag:burnout + $SPELL$ = flag:polymorph + $SPELL$ = flag:spellsteal + $SPELL$ = flag:scorch + $SPELL$ = flag:pyroblast + $SPELL$ = flag:flamestrike + $SPELL$ = flag:frostbolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:blizzard + $SPELL$ = flag:haste + $SPELL$ = flag:frostfire_bolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:holy_fire + $SPELL$ = flag:judgement + $SPELL$ = flag:exorcism + $SPELL$ = flag:rebuke + $SPELL$ = flag:void_touch + $SPELL$ = flag:divine_storm + $SPELL$ = flag:death_grip + $SPELL$ = flag:give_disease + $SPELL$ = flag:death_and_decay + $SPELL$ = flag:cripple + $SPELL$ = flag:improved_body + $SPELL$ = flag:blood_boil + $SPELL$ = flag:strangulate + $SPELL$ = flag:epidemic + $SPELL$ = flag:crimson_binding + $SPELL$ = flag:river_spirits_rage + $SPELL$ = flag:invoke_tsunami + $SPELL$ = flag:frost_shock + $SPELL$ = flag:icefury + $SPELL$ = flag:eternal_winter + $SPELL$ = flag:voidborne + $SPELL$ = flag:rend_flesh + $SPELL$ = flag:mutate + $SPELL$ = flag:drain_essence + $SPELL$ = flag:insanity + $SPELL$ = flag:mind_blast + $SPELL$ = flag:silence + $SPELL$ = flag:shadow_crash + $SPELL$ = flag:twisted_chains + $SPELL$ = flag:whispers + } +} + + +# Spell is only harmful when not cast on self or friendly army - add to both triggers +spell_is_harmful_trigger_not_self = { + OR = { + $SPELL$ = flag:haste + $SPELL$ = flag:frostfire_bolt + } +} + +# Spell is only helpful when cast on self or friendly army +spell_is_helpful_trigger_self = { + OR = { + $SPELL$ = flag:haste + $SPELL$ = flag:frostfire_bolt + } +} + +## If you want your spell to give a negative or positive modifier to the target (depending on helpful or harmful) add it here +spell_adds_opinion_trigger = { + OR = { + $SPELL$ = flag:lava_lash + $SPELL$ = flag:flame_shock + $SPELL$ = flag:burnout + $SPELL$ = flag:polymorph + $SPELL$ = flag:spellsteal + $SPELL$ = flag:scorch + $SPELL$ = flag:pyroblast + $SPELL$ = flag:flamestrike + $SPELL$ = flag:frostbolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:blizzard + $SPELL$ = flag:summon_fire_elemental + $SPELL$ = flag:cauterize_wound + $SPELL$ = flag:vernal_solstice + $SPELL$ = flag:counterspell + $SPELL$ = flag:scry + $SPELL$ = flag:conjure_refreshment + $SPELL$ = flag:fire_shield + $SPELL$ = flag:frost_armor + $SPELL$ = flag:evocation + $SPELL$ = flag:arcane_dome + $SPELL$ = flag:haste + $SPELL$ = flag:frostfire_bolt + $SPELL$ = flag:holy_fire + $SPELL$ = flag:judgement + $SPELL$ = flag:exorcism + $SPELL$ = flag:rebuke + $SPELL$ = flag:divine_storm + $SPELL$ = flag:dispel + $SPELL$ = flag:flash_of_light + $SPELL$ = flag:lightwell + $SPELL$ = flag:bless + $SPELL$ = flag:divine_shield + $SPELL$ = flag:expulsion + $SPELL$ = flag:death_grip + $SPELL$ = flag:give_disease + $SPELL$ = flag:death_and_decay + $SPELL$ = flag:cripple + $SPELL$ = flag:improved_body + $SPELL$ = flag:coagulation + $SPELL$ = flag:blood_boil + $SPELL$ = flag:strangulate + $SPELL$ = flag:epidemic + $SPELL$ = flag:crimson_binding + $SPELL$ = flag:summon_water_elemental + $SPELL$ = flag:soothing_waters + $SPELL$ = flag:river_spirits_rage + $SPELL$ = flag:invoke_tsunami + $SPELL$ = flag:frost_shock + $SPELL$ = flag:icefury + $SPELL$ = flag:ice_structure + $SPELL$ = flag:eternal_winter + $SPELL$ = flag:summon_void_leader + $SPELL$ = flag:rend_flesh + $SPELL$ = flag:mutate + $SPELL$ = flag:insanity + $SPELL$ = flag:drain_essence + $SPELL$ = flag:mania + $SPELL$ = flag:mind_blast + $SPELL$ = flag:power_word_barrier + $SPELL$ = flag:dispersion + $SPELL$ = flag:realm_of_necrosis + } +} + +## IF YOUR SPELL HAS RANKS IT GOES HERE +spell_has_ranks_trigger = { + OR = { + $SPELL$ = flag:summon_fire_elemental + $SPELL$ = flag:backdraft + $SPELL$ = flag:conjure_refreshment + $SPELL$ = flag:bless + $SPELL$ = flag:flash_of_light + $SPELL$ = flag:exorcism + $SPELL$ = flag:avenging_wrath + $SPELL$ = flag:coagulation + $SPELL$ = flag:summon_water_elemental + $SPELL$ = flag:river_spirits_rage + $SPELL$ = flag:create_portal + $SPELL$ = flag:rend_flesh + $SPELL$ = flag:power_word_barrier + } +} + +spell_is_ritual_trigger = { # RITUALS GO HERE + OR = { + $SPELL$ = flag:planar_fire + $SPELL$ = flag:vernal_solstice + $SPELL$ = flag:evocation + $SPELL$ = flag:arcane_dome + $SPELL$ = flag:salvation + $SPELL$ = flag:divine_storm + $SPELL$ = flag:blessed_bastion + $SPELL$ = flag:supreme_raise_dead + $SPELL$ = flag:army_of_the_dead + $SPELL$ = flag:epidemic + $SPELL$ = flag:crimson_binding + $SPELL$ = flag:eternal_winter + $SPELL$ = flag:create_portal + $SPELL$ = flag:twisted_chains + $SPELL$ = flag:ascension + $SPELL$ = flag:whispers + } +} + +## SPECIAL SPELL TRIGGERS. IF YOUR SPELL HAS NO SPECIAL TRIGGERS TO CAST, JUST DO ALWAYS = YES ## +## ADD A CUSTOM DESCRIPTION FOR THE PLAYER IF NEEDED. ## +## IF THE TRIGGER REFERENCES THE TARGET, PUT THE TRIGGER IN A SUB TRIGGER LIKE satisfy_spell_triggers_character TO AVOID ERROR SPAMMING ## +## CAN ALSO USE all_requirements_for_casting_satisfied_trigger IF YOU WANT IT TO CALL AFTER THE TARGET & SPELL IS SELECTED ## +satisfy_spell_triggers = { + trigger_if = { # For spells that have no special triggers + limit = { + OR = { + $SPELL$ = flag:summon_fire_elemental + $SPELL$ = flag:lava_lash + $SPELL$ = flag:backdraft + $SPELL$ = flag:flame_shock + $SPELL$ = flag:planar_fire + $SPELL$ = flag:vernal_solstice + $SPELL$ = flag:polymorph + $SPELL$ = flag:counterspell + $SPELL$ = flag:scorch + $SPELL$ = flag:flamestrike + $SPELL$ = flag:fire_shield + $SPELL$ = flag:frostfire_bolt + $SPELL$ = flag:frostbolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:frost_armor + $SPELL$ = flag:blizzard + $SPELL$ = flag:scry + $SPELL$ = flag:haste + $SPELL$ = flag:conjure_refreshment + $SPELL$ = flag:chronomancy + $SPELL$ = flag:scorch + $SPELL$ = flag:flamestrike + $SPELL$ = flag:fire_shield + $SPELL$ = flag:frostfire_bolt + $SPELL$ = flag:frostbolt + $SPELL$ = flag:frost_nova + $SPELL$ = flag:frost_armor + $SPELL$ = flag:blizzard + $SPELL$ = flag:evocation + $SPELL$ = flag:arcane_dome + $SPELL$ = flag:lightwell + $SPELL$ = flag:holy_fire + $SPELL$ = flag:consecration + $SPELL$ = flag:rebuke + $SPELL$ = flag:avenging_wrath + $SPELL$ = flag:divine_shield + $SPELL$ = flag:blessed_bastion + $SPELL$ = flag:exorcism + $SPELL$ = flag:bless + $SPELL$ = flag:death_coil + $SPELL$ = flag:death_and_decay + $SPELL$ = flag:cripple + $SPELL$ = flag:army_of_the_dead + $SPELL$ = flag:epidemic + $SPELL$ = flag:summon_water_elemental + $SPELL$ = flag:river_spirits_rage + $SPELL$ = flag:invoke_tsunami + $SPELL$ = flag:frost_shock + $SPELL$ = flag:icefury + $SPELL$ = flag:ice_structure + $SPELL$ = flag:eternal_winter + $SPELL$ = flag:create_portal + $SPELL$ = flag:summon_void_leader + $SPELL$ = flag:rend_flesh + $SPELL$ = flag:mutate + $SPELL$ = flag:drain_essence + $SPELL$ = flag:insanity + $SPELL$ = flag:silence + $SPELL$ = flag:shadow_crash + $SPELL$ = flag:ascension + $SPELL$ = flag:power_word_barrier + $SPELL$ = flag:dispersion + } + } + always = yes + } + trigger_else_if = { # You need to be at war to cast this spell + limit = { + OR = { + $SPELL$ = flag:flame_wall + $SPELL$ = flag:pyroblast + $SPELL$ = flag:blood_boil + } + } + is_at_war = yes + } + trigger_else_if = { # You need to be at war to cast this spell + limit = { + $SPELL$ = flag:death_grip + } + is_in_army = yes + } + trigger_else_if = { # For spells that have special triggers pertaining to a character + limit = { + has_variable = spell_recipient + var:spell_recipient ?= { + is_character_trigger = yes + } + } + satisfy_spell_triggers_character = { SPELL = $SPELL$ TARGET = var:spell_recipient } + } + trigger_else_if = { + limit = { + has_variable = original_recipient + var:original_recipient ?= { + is_character_trigger = yes + } + } + satisfy_spell_triggers_character = { SPELL = $SPELL$ TARGET = var:original_recipient } + } + # trigger_else_if = { + # limit = { + # exists = var:spell_recipient + # var:spell_recipient ?= { + # is_army_trigger = yes + # } + # } + # satisfy_spell_triggers_army = { SPELL = $SPELL$ } + # } + trigger_else = { always = no } +} + +# If your spell CANT be learned with Arcane's 'Spell Hack' +spell_cant_be_hacked_trigger = { + custom_description = { + text = spell_cant_be_hacked_trigger + OR = { + # Can't steal dispels + spell_is_dispel_type_trigger = { SPELL = $SPELL$ } + # No rituals + spell_is_ritual_trigger = { SPELL = $SPELL$ } + # No arcane spells... just learn it yourself bozo + AND = { + has_global_variable_list = Order_spells + any_in_global_list = { + variable = Order_spells + this = $SPELL$ + } + } + # Can't learn a spell you already know + is_known_spell_trigger = { + SPELL = scope:spell + } + # Any other exceptions should go here ! + } + } +} +# If your spell is a 'dispel' type of spell +spell_is_dispel_type_trigger = { + OR = { + $SPELL$ = flag:flash_of_light + $SPELL$ = flag:dispel + $SPELL$ = flag:expulsion + # $SPELL$ = flag:natures_cure + # $SPELL$ = flag:invigorate + $SPELL$ = flag:coagulation + # $SPELL$ = flag:stonemend + $SPELL$ = flag:drain_essence + $SPELL$ = flag:mania + } +} + +# SPELL DODGING +spell_can_be_dodged_trigger = { + OR = { + $SPELL$ = flag:holy_fire + $SPELL$ = flag:judgement + $SPELL$ = flag:rebuke + $SPELL$ = flag:exorcism + $SPELL$ = flag:flame_shock + $SPELL$ = flag:polymorph + $SPELL$ = flag:scorch + $SPELL$ = flag:pyroblast + $SPELL$ = flag:frostbolt + # $SPELL$ = flag:death_coil # Targets both allies and enemies + $SPELL$ = flag:cripple + # $SPELL$ = flag:improved_body # Does its own thing + $SPELL$ = flag:blood_boil + $SPELL$ = flag:frost_shock + $SPELL$ = flag:void_touch + $SPELL$ = flag:voidborne + $SPELL$ = flag:rend_flesh + $SPELL$ = flag:mutate + $SPELL$ = flag:insanity + $SPELL$ = flag:mind_blast + $SPELL$ = flag:silence + } +} + +spell_dodge_chance_high_trigger = { # Easier to dodge + OR = { + $SPELL$ = flag:judgement + $SPELL$ = flag:scorch + $SPELL$ = flag:frostbolt + $SPELL$ = flag:mutate + $SPELL$ = flag:insanity + } +} + +spell_dodge_chance_normal_trigger = { # Should be most spells + OR = { + $SPELL$ = flag:holy_fire + $SPELL$ = flag:flame_shock + $SPELL$ = flag:rebuke + $SPELL$ = flag:exorcism + $SPELL$ = flag:void_touch + $SPELL$ = flag:pyroblast + $SPELL$ = flag:cripple + $SPELL$ = flag:blood_boil + $SPELL$ = flag:frost_shock + $SPELL$ = flag:mind_blast + $SPELL$ = flag:rend_flesh + } +} + +spell_dodge_chance_low_trigger = { # Harder to dodge + OR = { + $SPELL$ = flag:polymorph + $SPELL$ = flag:voidborne + $SPELL$ = flag:silence + } +} + +satisfy_spell_triggers_character = { + trigger_if = { # The target must be landed + limit = { + #OR = { + $SPELL$ = flag:flame_shock + #} + } + OR = { + $TARGET$ ?= { + is_landed = yes + } + } + } + trigger_else_if = { # You can't cast on yourself + limit = { + OR = { + $SPELL$ = flag:burnout + $SPELL$ = flag:divine_storm + $SPELL$ = flag:strangulate + $SPELL$ = flag:voidborne + $SPELL$ = flag:drain_essence + } + } + custom_tooltip = { + text = wc_spell_is_self + NOT = { + $TARGET$ ?= root + } + } + } + trigger_else_if = { # Target must have some kind of phyiscal injury + limit = { + #OR = { + $SPELL$ = flag:cauterize_wound + #} + } + custom_description = { + text = target_has_valid_debuff_trigger + OR = { + $TARGET$ = { target_has_injury_trigger = yes } + $TARGET$ = { target_has_magic_injury_trigger = yes } + } + } + } + + trigger_else_if = { # Target must have some kind of phyiscal injury, magic injury, disease + limit = { + #OR = { + $SPELL$ = flag:flash_of_light + #} + } + custom_description = { + text = target_has_valid_debuff_trigger + OR = { + $TARGET$ = { target_has_injury_trigger = yes } + $TARGET$ = { target_has_magic_injury_trigger = yes } + $TARGET$ = { target_has_illness_trigger = yes } + $TARGET$ = { target_has_magic_illness_trigger = yes } + } + } + } + trigger_else_if = { # Target must have some kind of negative magic modifier + limit = { + #OR = { + $SPELL$ = flag:dispel + #} + } + + custom_tooltip = { + text = wc_spell_has_modifier + $TARGET$ ?= { + any_spell_modifier_trigger = { OPERATOR = OR TRIGGER = has_negative_spell_modifier } + } + } + } + trigger_else_if = { # Must have a secret + limit = { + #OR = { + $SPELL$ = flag:judgement + #} + } + custom_description = { + text = has_any_secrets_trigger + $TARGET$ ?= { has_any_secrets = yes } + } + } + trigger_else_if = { # Must have a psych illess + limit = { + OR = { + $SPELL$ = flag:expulsion + $SPELL$ = flag:mania + } + } + custom_description = { + text = target_has_psych_illness_trigger + OR = { + $TARGET$ = { target_has_psych_illness_trigger = yes } + } + } + } + trigger_else_if = { # Target must have some kind of positive magic modifier + limit = { + #OR = { + $SPELL$ = flag:spellsteal + #} + } + custom_tooltip = { + text = wc_spell_has_modifier + $TARGET$ ?= { + any_spell_modifier_trigger = { OPERATOR = OR TRIGGER = has_positive_spell_modifier } + } + } + } + trigger_else_if = { # Salvation special + limit = { + $SPELL$ = flag:salvation + } + custom_tooltip = { + text = wc_salvation_trigger + NOR = { + $TARGET$ ?= root + $TARGET$ ?= { has_trait = being_demon } + } + } + } + trigger_else_if = { # Can't have consecration active already # TODO: This is in the wrong trigger, not related to character + limit = { + $SPELL$ = flag:consecration + } + custom_tooltip = { + text = wc_consecration_trigger + OR = { + NOT = { has_variable = consecration_county } + var:consecration_county ?= { + NOT = { + OR = { + any_de_jure_county = { + has_county_modifier = wc_consecration_county_positive_modifier + } + any_de_jure_county = { + has_county_modifier = wc_consecration_county_negative_modifier + } + } + } + } + } + } + } + trigger_else_if = { + limit = { + $SPELL$ = flag:crimson_binding + } # Target has positive physical trait that the caster doesn't + $TARGET$ ?= { + is_imprisoned_by = root + } + } + trigger_else_if = { + limit = { + OR = { + $SPELL$ = flag:supreme_raise_dead + $SPELL$ = flag:raise_dead + } + } # Target has positive physical trait that the caster doesn't + trigger_if = { + limit = { + $SPELL$ = flag:supreme_raise_dead + } + custom_tooltip = { + text = wc_supreme_raise_dead_trigger + $TARGET$ ?= { + OR = { + AND = { + is_alive = yes + this = root + } + is_alive = no + } + } + } + } + $TARGET$ = { + NOT = { + has_trait_with_flag = titanforged_class + } + } + } + trigger_else_if = { + limit = { + $SPELL$ = flag:improved_body + } # Target has positive physical trait that the caster doesn't + $TARGET$ ?= { + is_imprisoned_by = root + } + custom_tooltip = { + text = wc_improved_body_trigger + $TARGET$ ?= { + trigger_if = { + limit = { + has_trait = beauty_good + root = { + has_trait_rank = { + trait = beauty_good + character < $TARGET$ + } + } + } + always = yes + } + trigger_else_if = { + limit = { + has_trait = intellect_good + root = { + has_trait_rank = { + trait = intellect_good + character < $TARGET$ + } + } + } + always = yes + } + trigger_else_if = { + limit = { + has_trait = physique_good + root = { + has_trait_rank = { + trait = physique_good + character < $TARGET$ + } + } + } + always = yes + } + trigger_else = { + any_character_trait = { + improved_body_correct_trait_trigger = { CASTER = root } + } + } + } + } + } + + trigger_else_if = { # Target must have some kind of phyiscal injury, magic injury, disease + limit = { + #OR = { + $SPELL$ = flag:coagulation + #} + } + custom_description = { + text = target_has_valid_debuff_trigger + OR = { + $TARGET$ = { target_has_injury_trigger = yes } + $TARGET$ = { target_has_major_injury_trigger = yes } + $TARGET$ = { target_has_magic_injury_trigger = yes } + $TARGET$ = { target_has_poison_trigger = yes } + } + } + } + trigger_else_if = { + limit = { + OR = { + $SPELL$ = flag:give_disease + $SPELL$ = flag:void_touch + } + } + custom_description = { + text = target_is_not_disease_immune_trigger + $TARGET$ = { + NOR = { + has_trait_with_flag = can_not_get_sick + has_character_flag = immune_to_disease + } + } + } + } + trigger_else_if = { + limit = { + $SPELL$ = flag:soothing_waters + } + AND = { + exists = $TARGET$ + $TARGET$ = { + NOR = { + is_in_the_same_court_as_or_guest = root + liege = root + } + } + } + } + trigger_else_if = { # Target must have a hook on the caster or know one of his secrets + limit = { + $SPELL$ = flag:mind_blast + } + custom_description = { + text = target_has_hook_or_secret_trigger + OR = { + $TARGET$ ?= { has_hook = root } + any_secret = { + is_known_by = $TARGET$ + is_blackmailable_secret_trigger = { BLACKMAILER = $TARGET$ PARTICIPANT = root } + } + } + } + } + trigger_else_if = { # Target must be landed + limit = { + $SPELL$ = flag:twisted_chains + } + $TARGET$ ?= { + is_landed = yes + } + } + trigger_else_if = { # Whispers special + limit = { + $SPELL$ = flag:whispers + } + $TARGET$ ?= { + is_ruler = yes + NOR = { + is_at_war_with = root + is_magic_class_user_trigger_no_secret = { MAGIC = shadow } + } + } + } + trigger_else_if = { # Government must use dark frenzy + limit = { + $SPELL$ = flag:realm_of_necrosis + } + $TARGET$ ?= { + realm_law_use_dark_frenzy_trigger = yes + } + } + trigger_else = { always = yes } +} + +# You will still need to add the spell to satisfy_spell_triggers if you use this +satisfy_spell_triggers_barony = { + trigger_if = { + limit = { + OR = { + $SPELL$ = flag:invoke_tsunami + $SPELL$ = flag:ice_structure + } + } + + title_province = { is_coastal = yes } + } + trigger_else = { always = yes } +} + +target_has_magic_illness_trigger = { + custom_description = { + text = target_has_magic_illness_trigger + has_trait_with_flag = magic_illness + } +} + +target_has_illness_trigger = { + custom_description = { + text = target_has_illness_trigger + any_character_trait = { + has_trait_flag = illness + NOT = { has_trait_flag = debilitating_illness } + NOT = { has_trait_flag = magic_illness } + } + } +} + +target_has_major_illness_trigger = { + custom_description = { + text = target_has_illness_trigger + any_character_trait = { + has_trait_flag = debilitating_illness + NOT = { has_trait_flag = magic_illness } + } + } +} + +target_has_injury_trigger = { + custom_description = { + text = target_has_injury_trigger + any_character_trait = { + has_trait_flag = injury + NOT = { has_trait_flag = major_injury } + NOT = { has_trait_flag = magic_injury } + } + } +} + +target_has_major_injury_trigger = { + custom_description = { + text = target_has_major_injury_trigger + has_trait_with_flag = major_injury + } +} + +target_has_magic_injury_trigger = { + custom_description = { + text = target_has_magic_injury_trigger + has_trait_with_flag = magic_injury + } +} + +target_has_psych_illness_trigger = { + custom_description = { + text = target_has_psych_illness_trigger + has_trait_with_flag = psych_illness + } +} + +target_has_poison_trigger = { + custom_description = { + text = target_has_psych_illness_trigger + has_trait_with_flag = poison + } +} + +is_known_undead_type_trigger = { + switch = { + trigger = $TYPE$ + flag:undead = { always = yes } + flag:abomination = { has_perk = death_magic_tree_1_perk_8 } + flag:banshee = { has_perk = death_magic_tree_1_perk_6 + var:spell_recipient ?= { + is_female = yes + custom_tooltip = { + text = is_elven_tt + culture = { + OR = { + has_cultural_pillar = heritage_highborne + has_cultural_pillar = heritage_darnassian + } + } + } + } + } + flag:ghoul = { has_perk = death_magic_tree_2_perk_3 } + flag:vampire = { has_perk = death_magic_tree_3_perk_4 } + flag:revenant = { has_perk = death_magic_tree_1_perk_9 } + flag:lich = { has_perk = death_magic_tree_1_perk_9 } + fallback = { always = no } + } +} + +improved_body_correct_trait_trigger = { + has_trait_flag = physical + NOR = { + has_trait_flag = leveled + has_trait_flag = negative + } + OR = { + AND = { + this = trait:dire + $CASTER$ = { + NOT = { + has_trait = dire + } + dire_possible_trigger = yes + } + } + AND = { + NOT = { + this = trait:dire + } + $CASTER$ = { + NOT = { + has_trait = prev + } + } + } + } +} + +# ### IF YOUR SPELL CAN BE CHANNELED +spell_is_channeled_trigger = { + OR = { + $SPELL$ = flag:power_word_barrier + $SPELL$ = flag:dispersion + $SPELL$ = flag:realm_of_necrosis + } +} diff --git a/common/scripted_triggers/wc_magic_triggers.txt b/common/scripted_triggers/wc_magic_triggers.txt index 49ec713517..2de8d017c2 100644 --- a/common/scripted_triggers/wc_magic_triggers.txt +++ b/common/scripted_triggers/wc_magic_triggers.txt @@ -1,41 +1,316 @@ -#TODO Maybe such triggers exist on some branch, so they should be replaced +MAGIC_is_shunned_or_illegal_trigger = { + faith = { + OR = { + has_doctrine_parameter = $MAGIC$_magic_illegal + has_doctrine_parameter = $MAGIC$_magic_shunned + } + } +} +MAGIC_is_approved_trigger = { + faith = { + has_doctrine_parameter = $MAGIC$_magic_approved + } +} +#TODO Maybe such triggers exist on some branch, so they should be replaced any_element_magic_openly_learnable_trigger = { - OR = { - fire_magic_openly_learnable_trigger = yes - water_magic_openly_learnable_trigger = yes - air_magic_openly_learnable_trigger = yes - earth_magic_openly_learnable_trigger = yes - } + OR = { + fire_magic_openly_learnable_trigger = yes + water_magic_openly_learnable_trigger = yes + air_magic_openly_learnable_trigger = yes + earth_magic_openly_learnable_trigger = yes + } } fire_magic_openly_learnable_trigger = { - OR = { - has_doctrine_parameter = elemental_fire_magic_openly_learnable - has_doctrine_parameter = elemental_fire_spirit_magic_openly_learnable - has_doctrine_parameter = elemental_fire_decay_magic_openly_learnable - } + OR = { + has_doctrine_parameter = elemental_fire_magic_openly_learnable + has_doctrine_parameter = elemental_fire_spirit_magic_openly_learnable + has_doctrine_parameter = elemental_fire_decay_magic_openly_learnable + } } water_magic_openly_learnable_trigger = { - OR = { - has_doctrine_parameter = elemental_water_magic_openly_learnable - has_doctrine_parameter = elemental_water_spirit_magic_openly_learnable - has_doctrine_parameter = elemental_water_decay_magic_openly_learnable - } + OR = { + has_doctrine_parameter = elemental_water_magic_openly_learnable + has_doctrine_parameter = elemental_water_spirit_magic_openly_learnable + has_doctrine_parameter = elemental_water_decay_magic_openly_learnable + } } air_magic_openly_learnable_trigger = { - OR = { - has_doctrine_parameter = elemental_air_magic_openly_learnable - has_doctrine_parameter = elemental_air_spirit_magic_openly_learnable - has_doctrine_parameter = elemental_air_decay_magic_openly_learnable - } + OR = { + has_doctrine_parameter = elemental_air_magic_openly_learnable + has_doctrine_parameter = elemental_air_spirit_magic_openly_learnable + has_doctrine_parameter = elemental_air_decay_magic_openly_learnable + } } earth_magic_openly_learnable_trigger = { - OR = { - has_doctrine_parameter = elemental_earth_magic_openly_learnable - has_doctrine_parameter = elemental_earth_spirit_magic_openly_learnable - has_doctrine_parameter = elemental_earth_decay_magic_openly_learnable - } + OR = { + has_doctrine_parameter = elemental_earth_magic_openly_learnable + has_doctrine_parameter = elemental_earth_spirit_magic_openly_learnable + has_doctrine_parameter = elemental_earth_decay_magic_openly_learnable + } +} +# ADD SECRET +is_magic_class_user_trigger = { + custom_description = { + text = is_$MAGIC$_magic_user_trigger + OR = { + any_secret = { secret_type = secret_$MAGIC$_magic_user } + has_trait = user_of_$MAGIC$_magic_1 + has_trait = user_of_$MAGIC$_magic_2 + has_trait = user_of_$MAGIC$_magic_3 + has_trait = user_of_$MAGIC$_magic_4 + has_trait = user_of_$MAGIC$_magic_5 + } + } +} +is_magic_class_user_trigger_no_secret = { + custom_description = { + text = is_$MAGIC$_magic_user_trigger + OR = { + #any_secret = { secret_type = secret_$MAGIC$_magic_user } + has_trait = user_of_$MAGIC$_magic_1 + has_trait = user_of_$MAGIC$_magic_2 + has_trait = user_of_$MAGIC$_magic_3 + has_trait = user_of_$MAGIC$_magic_4 + has_trait = user_of_$MAGIC$_magic_5 + } + } +} +is_magic_class_user_trigger_elemental = { + custom_description = { + text = is_$MAGIC$_magic_user_trigger + OR = { + any_secret = { secret_type = secret_$MAGIC$_magic_user } + has_trait = user_of_$MAGIC$_magic_1 + has_trait = user_of_$MAGIC$_magic_2 + has_trait = user_of_$MAGIC$_magic_3 + has_trait = user_of_$MAGIC$_magic_4 + has_trait = user_of_$MAGIC$_magic_5 + has_trait = user_of_$MAGIC$_spirit_magic_1 + has_trait = user_of_$MAGIC$_spirit_magic_2 + has_trait = user_of_$MAGIC$_spirit_magic_3 + has_trait = user_of_$MAGIC$_spirit_magic_4 + has_trait = user_of_$MAGIC$_spirit_magic_5 + has_trait = user_of_$MAGIC$_decay_magic_1 + has_trait = user_of_$MAGIC$_decay_magic_2 + has_trait = user_of_$MAGIC$_decay_magic_3 + has_trait = user_of_$MAGIC$_decay_magic_4 + has_trait = user_of_$MAGIC$_decay_magic_5 + } + } +} +is_magic_class_user_trigger_no_secret_elemental = { + custom_description = { + text = is_$MAGIC$_magic_user_trigger + OR = { + # any_secret = { secret_type = secret_$MAGIC$_magic_user } + has_trait = user_of_$MAGIC$_magic_1 + has_trait = user_of_$MAGIC$_magic_2 + has_trait = user_of_$MAGIC$_magic_3 + has_trait = user_of_$MAGIC$_magic_4 + has_trait = user_of_$MAGIC$_magic_5 + has_trait = user_of_$MAGIC$_spirit_magic_1 + has_trait = user_of_$MAGIC$_spirit_magic_2 + has_trait = user_of_$MAGIC$_spirit_magic_3 + has_trait = user_of_$MAGIC$_spirit_magic_4 + has_trait = user_of_$MAGIC$_spirit_magic_5 + has_trait = user_of_$MAGIC$_decay_magic_1 + has_trait = user_of_$MAGIC$_decay_magic_2 + has_trait = user_of_$MAGIC$_decay_magic_3 + has_trait = user_of_$MAGIC$_decay_magic_4 + has_trait = user_of_$MAGIC$_decay_magic_5 + } + } +} +# secret scope +is_magic_secret_trigger = { + OR = { + secret_type = secret_light_magic_user + secret_type = secret_shadow_magic_user + secret_type = secret_order_magic_user + secret_type = secret_disorder_magic_user + secret_type = secret_life_magic_user + secret_type = secret_death_magic_user + secret_type = secret_elemental_fire_magic_user + secret_type = secret_elemental_water_magic_user + secret_type = secret_elemental_earth_magic_user + secret_type = secret_elemental_air_magic_user + } +} + +is_magic_user_trigger = { + OR = { + any_secret = { secret_type = secret_light_magic_user } + any_secret = { secret_type = secret_shadow_magic_user } + any_secret = { secret_type = secret_order_magic_user } + any_secret = { secret_type = secret_disorder_magic_user } + any_secret = { secret_type = secret_life_magic_user } + any_secret = { secret_type = secret_death_magic_user } + any_secret = { secret_type = secret_elemental_fire_magic_user } + any_secret = { secret_type = secret_elemental_water_magic_user } + any_secret = { secret_type = secret_elemental_earth_magic_user } + any_secret = { secret_type = secret_elemental_air_magic_user } + has_trait = user_of_light_magic_1 + has_trait = user_of_light_magic_2 + has_trait = user_of_light_magic_3 + has_trait = user_of_light_magic_4 + has_trait = user_of_light_magic_5 + has_trait = user_of_death_magic_1 + has_trait = user_of_death_magic_2 + has_trait = user_of_death_magic_3 + has_trait = user_of_death_magic_4 + has_trait = user_of_death_magic_5 + has_trait = user_of_order_magic_1 + has_trait = user_of_order_magic_2 + has_trait = user_of_order_magic_3 + has_trait = user_of_order_magic_4 + has_trait = user_of_order_magic_5 + has_trait = user_of_disorder_magic_1 + has_trait = user_of_disorder_magic_2 + has_trait = user_of_disorder_magic_3 + has_trait = user_of_disorder_magic_4 + has_trait = user_of_disorder_magic_5 + has_trait = user_of_life_magic_1 + has_trait = user_of_life_magic_2 + has_trait = user_of_life_magic_3 + has_trait = user_of_life_magic_4 + has_trait = user_of_life_magic_5 + has_trait = user_of_shadow_magic_1 + has_trait = user_of_shadow_magic_2 + has_trait = user_of_shadow_magic_3 + has_trait = user_of_shadow_magic_4 + has_trait = user_of_shadow_magic_5 + has_trait = user_of_elemental_fire_magic_1 + has_trait = user_of_elemental_fire_magic_2 + has_trait = user_of_elemental_fire_magic_3 + has_trait = user_of_elemental_fire_magic_4 + has_trait = user_of_elemental_fire_magic_5 + has_trait = user_of_elemental_fire_spirit_magic_1 + has_trait = user_of_elemental_fire_spirit_magic_2 + has_trait = user_of_elemental_fire_spirit_magic_3 + has_trait = user_of_elemental_fire_spirit_magic_4 + has_trait = user_of_elemental_fire_spirit_magic_5 + has_trait = user_of_elemental_fire_decay_magic_1 + has_trait = user_of_elemental_fire_decay_magic_2 + has_trait = user_of_elemental_fire_decay_magic_3 + has_trait = user_of_elemental_fire_decay_magic_4 + has_trait = user_of_elemental_fire_decay_magic_5 + has_trait = user_of_elemental_water_magic_1 + has_trait = user_of_elemental_water_magic_2 + has_trait = user_of_elemental_water_magic_3 + has_trait = user_of_elemental_water_magic_4 + has_trait = user_of_elemental_water_magic_5 + has_trait = user_of_elemental_water_spirit_magic_1 + has_trait = user_of_elemental_water_spirit_magic_2 + has_trait = user_of_elemental_water_spirit_magic_3 + has_trait = user_of_elemental_water_spirit_magic_4 + has_trait = user_of_elemental_water_spirit_magic_5 + has_trait = user_of_elemental_water_decay_magic_1 + has_trait = user_of_elemental_water_decay_magic_2 + has_trait = user_of_elemental_water_decay_magic_3 + has_trait = user_of_elemental_water_decay_magic_4 + has_trait = user_of_elemental_water_decay_magic_5 + has_trait = user_of_elemental_air_magic_1 + has_trait = user_of_elemental_air_magic_2 + has_trait = user_of_elemental_air_magic_3 + has_trait = user_of_elemental_air_magic_4 + has_trait = user_of_elemental_air_magic_5 + has_trait = user_of_elemental_air_spirit_magic_1 + has_trait = user_of_elemental_air_spirit_magic_2 + has_trait = user_of_elemental_air_spirit_magic_3 + has_trait = user_of_elemental_air_spirit_magic_4 + has_trait = user_of_elemental_air_spirit_magic_5 + has_trait = user_of_elemental_air_decay_magic_1 + has_trait = user_of_elemental_air_decay_magic_2 + has_trait = user_of_elemental_air_decay_magic_3 + has_trait = user_of_elemental_air_decay_magic_4 + has_trait = user_of_elemental_air_decay_magic_5 + has_trait = user_of_elemental_earth_magic_1 + has_trait = user_of_elemental_earth_magic_2 + has_trait = user_of_elemental_earth_magic_3 + has_trait = user_of_elemental_earth_magic_4 + has_trait = user_of_elemental_earth_magic_5 + has_trait = user_of_elemental_earth_spirit_magic_1 + has_trait = user_of_elemental_earth_spirit_magic_2 + has_trait = user_of_elemental_earth_spirit_magic_3 + has_trait = user_of_elemental_earth_spirit_magic_4 + has_trait = user_of_elemental_earth_spirit_magic_5 + has_trait = user_of_elemental_earth_decay_magic_1 + has_trait = user_of_elemental_earth_decay_magic_2 + has_trait = user_of_elemental_earth_decay_magic_3 + has_trait = user_of_elemental_earth_decay_magic_4 + has_trait = user_of_elemental_earth_decay_magic_5 + } +} + +can_animate_rage_trigger = { + has_perk = elemental_fire_magic_tree_2_perk_5 + NOT = { + has_character_flag = animate_rage_cooldown + } +} + +is_casting_any_spell_trigger = { + has_variable_list = current_spells_casting +} + +has_cd_spells_trigger = { + has_variable_list = spells_cd +} + +target_is_friendly_commander_trigger = { + OR = { + any_ally = { + any_army = { + army_commander = scope:army.army_commander + } + } + any_war_ally = { + any_army = { + army_commander = $TARGET$.army_commander + } + } + $TARGET$.army_commander = { target_is_liege_or_above = root } + $TARGET$.army_commander = { target_is_vassal_or_below = root } + $TARGET$.army_commander = root + $TARGET$.army_owner = { target_is_liege_or_above = root } + $TARGET$.army_owner = { target_is_vassal_or_below = root } + $TARGET$.army_owner = root + } +} + +target_is_enemy_commander_trigger = { + any_war_enemy = { + any_army = { + army_commander = $TARGET$.army_commander + } + } +} + +satisfy_spell_triggers_character_gui = { + satisfy_spell_triggers_character = { SPELL = $SPELL$ TARGET = $TARGET$ } + trigger_if = { + limit = { + OR = { + var:current_target_type = flag:title + var:current_target_type = flag:title_list + } + } + $TARGET$ = { is_landed = yes } + } + trigger_if = { + limit = { + OR = { + var:current_target_type = flag:army + var:current_target_type = flag:friendly_army + var:current_target_type = flag:enemy_army + } + } + any_army = { + army_owner = $TARGET$ + } + } } \ No newline at end of file diff --git a/common/scripted_triggers/wc_portrait_triggers.txt b/common/scripted_triggers/wc_portrait_triggers.txt index 391d3dd02b..ec4141f05d 100644 --- a/common/scripted_triggers/wc_portrait_triggers.txt +++ b/common/scripted_triggers/wc_portrait_triggers.txt @@ -48,14 +48,22 @@ } } is_nerzhul_trigger = yes + has_trait = polymorph } } has_no_static_model_trigger = { - always = no - # has_trait = polymorph + has_trait = polymorph } has_no_animations_trigger = { - has_no_portrait_trigger = yes + OR = { + has_no_portrait_trigger = yes + has_trait = ice_block + } +} +has_no_idle_animations_trigger = { + OR = { + has_trait = ice_block + } } has_no_clothes_trigger = { has_no_portrait_trigger = yes diff --git a/common/scripted_triggers/wc_religious_triggers.txt b/common/scripted_triggers/wc_religious_triggers.txt index e9f020972c..b09f442f9b 100644 --- a/common/scripted_triggers/wc_religious_triggers.txt +++ b/common/scripted_triggers/wc_religious_triggers.txt @@ -640,8 +640,7 @@ incompatible_doctrine_magic_approved_trigger = { } # custom_description = { # text = incompatible_doctrine_elemental_water_decay_magic_approved_trigger - -# NOT = { doctrine:doctrine_elemental_water_decay_magic_approved = { is_in_list = selected_doctrines } } + # NOT = { doctrine:doctrine_elemental_water_decay_magic_approved = { is_in_list = selected_doctrines } } # } custom_description = { text = incompatible_doctrine_elemental_air_decay_magic_approved_trigger diff --git a/common/scripted_triggers/wc_spells_triggers.txt b/common/scripted_triggers/wc_spells_triggers.txt new file mode 100644 index 0000000000..00b8007528 --- /dev/null +++ b/common/scripted_triggers/wc_spells_triggers.txt @@ -0,0 +1,6 @@ +wc_magic_spell_order_arcane_intellect_unlocked_trigger = { + # OR = { + has_perk = order_magic_tree_3_perk_1 + # } +} + diff --git a/common/scripted_triggers/wc_vanilla_triggers.txt b/common/scripted_triggers/wc_vanilla_triggers.txt index 1564a024d0..1adbbff870 100644 --- a/common/scripted_triggers/wc_vanilla_triggers.txt +++ b/common/scripted_triggers/wc_vanilla_triggers.txt @@ -3,6 +3,24 @@ exists = location } +is_army_trigger = { + exists = army_owner +} + +is_barony_trigger = { + exists = culture + exists = county + exists = title_province +} + +is_province_trigger = { + exists = culture + exists = county + NOT = { + exists = title_province + } +} + can_fabricate_dynastic_claims_trigger = { evil_public_religion_trigger = no # Otherwise, doesn't care about dynastic claims, just goes war # # Otherwise, doesn't care about dynasty diff --git a/common/scripted_triggers/wc_year_triggers.txt b/common/scripted_triggers/wc_year_triggers.txt index 30a6c253d0..d490ebcd2e 100644 --- a/common/scripted_triggers/wc_year_triggers.txt +++ b/common/scripted_triggers/wc_year_triggers.txt @@ -1,14 +1,14 @@ game_start_day_trigger = { trigger_if = { - limit = { game_start_date = 583.1.1 } - current_date = 583.1.1 + limit = { game_start_date = 605.06.06 } + current_date = 605.06.06 } trigger_else_if = { - limit = { game_start_date = 603.1.1 } - current_date = 603.1.1 + limit = { game_start_date = 603.01.01 } + current_date = 603.01.01 } trigger_else = { - current_date = 605.6.6 + current_date = 583.01.01 } } diff --git a/common/secret_types/00_secret_types.txt b/common/secret_types/00_secret_types.txt index ab5a271b46..2939e3eee2 100644 --- a/common/secret_types/00_secret_types.txt +++ b/common/secret_types/00_secret_types.txt @@ -453,6 +453,17 @@ secret_murder = { } } } + else_if = { + limit = { + exists = var:was_saved_with_salvation + } + scope:victim = { + set_death_reason = { + death_reason = death_salvation + killer = scope:murderer + } + } + } else = { scope:victim = { set_death_reason = { diff --git a/common/secret_types/wc_magic_secret_types.txt b/common/secret_types/wc_magic_secret_types.txt new file mode 100644 index 0000000000..ddfdd0e232 --- /dev/null +++ b/common/secret_types/wc_magic_secret_types.txt @@ -0,0 +1,482 @@ + +# unfortunately we cant make these dynamically but i think we can call them dynamically - SS + +######################### +# non-elemental magicks +######################### + +secret_light_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_light_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = light } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = light } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = light } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_shadow_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_shadow_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = shadow } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = shadow } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = shadow } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_order_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_order_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = order } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = order } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = order } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_disorder_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_disorder_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE =disorder } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = disorder } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = disorder } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_life_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_life_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE =life } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = life } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = life } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_death_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_death_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE =death } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = death } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = death } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + + +######################### +# elemental magicks +######################### + + +secret_elemental_earth_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_elemental_earth_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE =elemental_earth } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = elemental_earth } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = elemental_earth } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_elemental_air_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_elemental_air_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = elemental_air } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = elemental_air } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = elemental_air } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_elemental_water_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_elemental_water_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE =elemental_water } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = elemental_water } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = elemental_water } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} + +secret_elemental_fire_magic_user = { + category = religious + + is_valid = { + NOT = { + scope:secret_owner = { + has_trait = wc_lifestyle_elemental_fire_magic + can_openly_learn_magic_type_trigger = { MAGICTYPE = elemental_fire } + } + } + } + + is_shunned = { + scope:secret_owner = { + is_magic_type_shunned_trigger = { MAGICTYPE = elemental_fire } + } + } + + is_criminal = { + scope:secret_owner = { + is_magic_type_criminal_trigger = { MAGICTYPE = elemental_fire } + } + } + + + on_expose = { + save_scope_as = secret + + secret_exposed_notification_effect = yes + + scope:secret_owner = { + if = { + limit = { + NOT = { + this = scope:secret_exposer + } + } + save_scope_as = owner + trigger_event = magic_secret.1001 + } + else = { + wc_magic_lifestyle_secret_reveal_effect = yes + } + } + } +} \ No newline at end of file diff --git a/common/story_cycles/wc_magic_story_cycles.txt b/common/story_cycles/wc_magic_story_cycles.txt new file mode 100644 index 0000000000..37979f179e --- /dev/null +++ b/common/story_cycles/wc_magic_story_cycles.txt @@ -0,0 +1,67 @@ +# Whispers of the Old Ones +story_cycle_whispers = { + on_setup = { + story_owner = { + add_character_flag = had_whispers + set_variable = { + name = whispers_weakness + value = 0 + } + } + } + + on_end = { + var:tormentor = { + trigger_event = { + id = wc_magic_spell_events.2798 + } + } + } + + on_owner_death = { + # Send a message to the Tormentor + end_story = yes + } + + # Something happens - random events + effect_group = { + days = { 90 150 } + chance = 50 + + trigger = { + var:tormentor = { is_alive = yes } + } + + first_valid = { + triggered_effect = { + trigger = { always = yes } + effect = { + story_owner = { + trigger_event = { + on_action = ongoing_whispers_void_events + } + } + } + } + } + } + + # The whispers end + effect_group = { + years = { 2 4 } + + first_valid = { + triggered_effect = { + trigger = { always = yes } + effect = { + story_owner = { + trigger_event = { + id = wc_magic_spell_events.2798 + } + } + end_story = yes + } + } + } + } +} diff --git a/common/traits/00_traits.txt b/common/traits/00_traits.txt index 1596e6fe30..8823243b5d 100644 --- a/common/traits/00_traits.txt +++ b/common/traits/00_traits.txt @@ -5013,6 +5013,8 @@ depressed_1 = { fertility = -0.1 + flag = psych_illness + shown_in_ruler_designer = no desc = { @@ -5078,7 +5080,8 @@ lunatic_1 = { # Highly event driven, Schizophrenia enemy_hostile_scheme_phase_duration_add = minor_scheme_phase_duration_malus_value health = -0.25 category = health - + + flag = psych_illness shown_in_ruler_designer = no desc = { @@ -5140,6 +5143,7 @@ possessed_1 = { # Highly event driven, Temporal lobe epilepsy level = 1 category = health + flag = psych_illness monthly_learning_lifestyle_xp_gain_mult = 0.1 health = -0.5 @@ -5220,7 +5224,7 @@ ill = { ruler_designer_cost = 0 flag = illness - flag = debilitating_illness + #Warcraft flag = blocks_getting_non_epidemic_disease desc = { @@ -5260,6 +5264,7 @@ pneumonic = { ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5300,6 +5305,7 @@ great_pox = { #Syphilis ruler_designer_cost = -10 flag = illness + flag = debilitating_illness flag = blocks_getting_non_epidemic_disease desc = { @@ -5381,6 +5387,7 @@ leper = { ruler_designer_cost = -30 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5416,6 +5423,7 @@ wounded_1 = { shown_in_ruler_designer = no flag = no_message + flag = injury desc = { first_valid = { @@ -5454,6 +5462,7 @@ wounded_2 = { shown_in_ruler_designer = no flag = no_message + flag = injury desc = { first_valid = { @@ -5492,6 +5501,7 @@ wounded_3 = { shown_in_ruler_designer = no flag = no_message + flag = injury desc = { first_valid = { @@ -5532,6 +5542,7 @@ maimed = { } category = health + flag = injury dread_baseline_add = -15 dread_loss_mult = 1 @@ -5576,7 +5587,9 @@ one_eyed = { } ruler_designer_cost = 10 - + flag = injury + flag = major_injury + desc = { first_valid = { triggered_desc = { @@ -5598,9 +5611,11 @@ one_legged = { prowess = -4 dread_baseline_add = -10 - attraction_opinion = -10 + flag = injury + flag = major_injury + culture_modifier = { parameter = wounds_and_scars_give_bonuses monthly_prestige_gain_mult = 0.15 @@ -5633,7 +5648,8 @@ disfigured = { category = health diplomacy = -4 fertility = -0.2 - + flag = injury + flag = major_injury #No dread loss: you're not actually worse for wear physically or mentally. attraction_opinion = -20 @@ -5750,8 +5766,8 @@ gout_ridden = { ruler_designer_cost = -5 + # Warcraft flag = illness - flag = debilitating_illness flag = blocks_getting_non_epidemic_disease desc = { @@ -5787,7 +5803,6 @@ consumption = { # Tuberculosis ruler_designer_cost = 0 flag = illness - flag = debilitating_illness flag = blocks_getting_non_epidemic_disease desc = { @@ -5816,6 +5831,7 @@ cancer = { ruler_designer_cost = -10 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5854,6 +5870,7 @@ typhus = { ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5893,6 +5910,7 @@ bubonic_plague = { shown_in_ruler_designer = no + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5930,6 +5948,7 @@ smallpox = { ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -5966,6 +5985,7 @@ measles = { ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -6001,6 +6021,7 @@ dysentery = { # Bloody Flux ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -6035,6 +6056,7 @@ ergotism = { # Holy Fire ruler_designer_cost = 0 + # Warcraft flag = illness flag = debilitating_illness flag = blocks_getting_non_epidemic_disease @@ -6067,7 +6089,6 @@ sickly = { shown_in_ruler_designer = no flag = illness - flag = debilitating_illness desc = { first_valid = { @@ -6328,7 +6349,15 @@ beauty_bad_1 = { group = beauty_bad level = 1 - + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_1 + # End Warcraft + genetic = yes physical = yes portrait_extremity_shift = 0.1 @@ -6371,6 +6400,14 @@ beauty_bad_2 = { group = beauty_bad level = 2 + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_2 + # End Warcraft genetic = yes physical = yes @@ -6411,6 +6448,14 @@ beauty_bad_3 = { group = beauty_bad level = 3 + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes physical = yes @@ -6451,6 +6496,14 @@ beauty_good_1 = { group = beauty_good level = 1 + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_1 + # End Warcraft genetic = yes physical = yes @@ -6523,6 +6576,14 @@ beauty_good_2 = { desc = trait_beauty_good_2_character_desc } } + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_2 + # End Warcraft genetic = yes physical = yes @@ -6555,6 +6616,14 @@ beauty_good_3 = { group = beauty_good level = 3 + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes physical = yes @@ -6603,6 +6672,14 @@ intellect_bad_1 = { level = 1 ai_rationality = high_negative_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_1 + # End Warcraft genetic = yes physical = yes @@ -6657,6 +6734,14 @@ intellect_bad_2 = { level = 2 ai_rationality = very_high_negative_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_2 + # End Warcraft genetic = yes physical = yes @@ -6710,6 +6795,14 @@ intellect_bad_3 = { level = 3 ai_rationality = dominant_negative_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes physical = yes @@ -6764,6 +6857,14 @@ intellect_good_1 = { level = 1 ai_rationality = high_positive_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_1 + # End Warcraft genetic = yes good = yes @@ -6819,6 +6920,14 @@ intellect_good_2 = { level = 2 ai_rationality = very_high_positive_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_2 + # End Warcraft genetic = yes good = yes @@ -6874,6 +6983,14 @@ intellect_good_3 = { level = 3 ai_rationality = dominant_positive_ai_value + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes good = yes @@ -6943,6 +7060,14 @@ physique_bad_1 = { } ai_energy = -10 + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_1 + # End Warcraft genetic = yes physical = yes @@ -6988,6 +7113,14 @@ physique_bad_2 = { } ai_energy = -20 + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_2 + # End Warcraft genetic = yes physical = yes @@ -7033,6 +7166,14 @@ physique_bad_3 = { } ai_energy = -30 + + # Warcraft + flag = physical + flag = genetic + flag = negative + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes physical = yes @@ -7079,6 +7220,14 @@ physique_good_1 = { } ai_energy = 10 + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_1 + # End Warcraft genetic = yes physical = yes @@ -7094,7 +7243,15 @@ physique_good_2 = { physique_good_1 physique_good_3 } - + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_2 + # End Warcraft + physical = yes prowess = 4 @@ -7191,6 +7348,14 @@ physique_good_3 = { level = 3 ai_energy = 20 + + # Warcraft + flag = physical + flag = genetic + flag = positive + flag = leveled + flag = trait_level_3 + # End Warcraft genetic = yes physical = yes @@ -7203,6 +7368,12 @@ pure_blooded = { fertility = 0.1 health = 0.25 inbreeding_chance = -0.5 + + # Warcraft + flag = physical + flag = genetic + flag = positive + # End Warcraft inherit_chance = 15 both_parent_has_trait_inherit_chance = 75 @@ -7231,6 +7402,12 @@ fecund = { fertility = 0.5 life_expectancy = 5 years_of_fertility = 5 + + # Warcraft + flag = physical + flag = genetic + flag = positive + # End Warcraft #inherit_chance = 15 physical = yes @@ -7260,6 +7437,11 @@ strong = { prowess = 4 health = 0.5 physical = yes + + # Warcraft + flag = physical + flag = positive + # End Warcraft culture_modifier = { parameter = strong_traits_more_valued @@ -7294,6 +7476,11 @@ shrewd = { intrigue = 2 learning = 2 + # Warcraft + flag = physical + flag = positive + # End Warcraft + physical = yes ruler_designer_cost = 50 @@ -7338,6 +7525,12 @@ clubfooted = { enables_inbred = yes birth = 0.5 random_creation = 0.5 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft attraction_opinion = -10 same_opinion = 10 @@ -7361,6 +7554,12 @@ clubfooted = { hunchbacked = { prowess = -2 + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft + #inherit_chance = 15 genetic = yes physical = yes @@ -7389,6 +7588,12 @@ hunchbacked = { lisping = { diplomacy = -2 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 15 genetic = yes @@ -7419,6 +7624,12 @@ lisping = { stuttering = { diplomacy = -2 + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft + #inherit_chance = 15 genetic = yes physical = yes @@ -7449,7 +7660,13 @@ dwarf = { prowess = -4 opposites = { giant - } + } + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 25 #both_parent_has_trait_inherit_chance = 100 @@ -7486,6 +7703,12 @@ giant = { prowess = 6 health = -0.25 + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft + #inherit_chance = 25 #both_parent_has_trait_inherit_chance = 50 genetic = yes @@ -7530,6 +7753,12 @@ inbred = { prowess = -2 fertility = -0.5 health = -1.5 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft inherit_chance = 15 @@ -7564,6 +7793,11 @@ weak = { prowess = -2 health = -0.5 + # Warcraft + flag = physical + flag = negative + # End Warcraft + physical = yes attraction_opinion = -10 @@ -7602,6 +7836,11 @@ dull = { intrigue = -2 learning = -2 + # Warcraft + flag = physical + flag = negative + # End Warcraft + physical = yes ruler_designer_cost = -20 @@ -7636,6 +7875,11 @@ dull = { impotent = { # Warcraft can_have_children = no + + # Warcraft + flag = physical + flag = negative + # End Warcraft fertility = -0.5 ai_energy = -10 @@ -7681,6 +7925,12 @@ spindly = { #Marfan's Syndrome } prowess = -1 health = -0.25 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 100 # dominant genetic = yes @@ -7716,6 +7966,12 @@ spindly = { #Marfan's Syndrome scaly = { fertility = -0.2 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 100 # dominant genetic = yes @@ -7747,6 +8003,12 @@ scaly = { } albino = { + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 100 # recessive genetic = yes @@ -7778,6 +8040,12 @@ albino = { wheezing = { #asthma physical = yes health = -0.15 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 100 # recessive genetic = yes @@ -7807,6 +8075,12 @@ wheezing = { #asthma bleeder = { #Haemophilia physical = yes health = -1.5 + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft #inherit_chance = 50 # 100 for male, 50 for female, recessive genetic = yes @@ -7840,6 +8114,12 @@ infertile = { opposites = { fecund } + + # Warcraft + flag = physical + flag = genetic + flag = negative + # End Warcraft ruler_designer_cost = 0 diff --git a/common/traits/wc_disease_traits.txt b/common/traits/wc_disease_traits.txt new file mode 100644 index 0000000000..d2de2442f5 --- /dev/null +++ b/common/traits/wc_disease_traits.txt @@ -0,0 +1,97 @@ +frost_fever = { + category = health + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_frost_fever_desc + } + desc = trait_frost_fever_character_desc + } + } + + flag = magic_illness + + diplomacy = -3 + martial = -1 + intrigue = -1 + health = -1.5 + prowess = -4 + fertility = -0.2 + + movement_speed = -0.2 + + dread_baseline_add = -20 + dread_loss_mult = 1 + + ruler_designer_cost = -10 + + ai_energy = -15 +} + +blood_plague = { + category = health + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_blood_plague_desc + } + desc = trait_blood_plague_character_desc + } + } + + flag = magic_illness + + diplomacy = -3 + health = -2.5 + prowess = -10 + fertility = -0.2 + + attraction_opinion = -30 + + dread_baseline_add = -20 + dread_loss_mult = 1 + + ruler_designer_cost = -20 + + ai_energy = -25 +} + +crypt_fever = { + category = health + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_crypt_fever_desc + } + desc = trait_crypt_fever_character_desc + } + } + + flag = magic_illness + + diplomacy = -5 + health = -4 + prowess = -5 + fertility = -1 + + attraction_opinion = -50 + + dread_baseline_add = 10 + dread_loss_mult = -0.2 + + ruler_designer_cost = -20 + + ai_energy = -25 +} \ No newline at end of file diff --git a/common/traits/wc_genetic_traits.txt b/common/traits/wc_genetic_traits.txt index 3621c8331c..f40272e768 100644 --- a/common/traits/wc_genetic_traits.txt +++ b/common/traits/wc_genetic_traits.txt @@ -13,9 +13,27 @@ magic_bad_1 = { group = magic_bad level = 1 + flag = genetic + flag = negative + flag = leveled + flag = trait_level_1 + genetic = yes physical = yes + flag = wc_magic_bad_1_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_bad_1_xp_gain_mult_value + ruler_designer_cost = -15 desc = { @@ -42,9 +60,27 @@ magic_bad_2 = { group = magic_bad level = 2 + flag = genetic + flag = negative + flag = leveled + flag = trait_level_2 + genetic = yes physical = yes + flag = wc_magic_bad_2_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_bad_2_xp_gain_mult_value + ruler_designer_cost = -30 desc = { @@ -71,9 +107,27 @@ magic_bad_3 = { group = magic_bad level = 3 + flag = genetic + flag = negative + flag = leveled + flag = trait_level_3 + genetic = yes physical = yes + flag = wc_magic_bad_3_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_bad_3_xp_gain_mult_value + ruler_designer_cost = -45 desc = { @@ -101,10 +155,28 @@ magic_good_1 = { group = magic_good level = 1 + flag = genetic + flag = positive + flag = leveled + flag = trait_level_1 + genetic = yes good = yes physical = yes + flag = wc_magic_good_1_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_good_1_xp_gain_mult_value + ruler_designer_cost = 80 desc = { @@ -131,10 +203,28 @@ magic_good_2 = { group = magic_good level = 2 + flag = genetic + flag = positive + flag = leveled + flag = trait_level_2 + genetic = yes good = yes physical = yes + flag = wc_magic_good_2_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_good_2_xp_gain_mult_value + ruler_designer_cost = 160 desc = { @@ -161,10 +251,28 @@ magic_good_3 = { group = magic_good level = 3 + flag = genetic + flag = positive + flag = leveled + flag = trait_level_3 + genetic = yes good = yes physical = yes + flag = wc_magic_good_3_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_good_3_xp_gain_mult_value + ruler_designer_cost = 240 desc = { @@ -184,8 +292,23 @@ magic_bad_noninheritable = { magic_good_noninheritable } + flag = negative + physical = yes + flag = wc_magic_bad_noninheritable_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_bad_noninheritable_xp_gain_mult_value + ruler_designer_cost = -20 desc = { @@ -206,6 +329,21 @@ magic_good_noninheritable = { physical = yes + flag = positive + + flag = wc_magic_good_noninheritable_flag + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_good_noninheritable_xp_gain_mult_value + ruler_designer_cost = 50 desc = { @@ -244,6 +382,8 @@ dire = { #both_parent_has_trait_inherit_chance = 50 genetic = yes physical = yes + + flag = genetic shown_in_ruler_designer = no @@ -281,8 +421,13 @@ wretched = { } } - inherit_chance = 25 - both_parent_has_trait_inherit_chance = 50 + flag = genetic + flag = negative + + #inherit_chance = 25 + #both_parent_has_trait_inherit_chance = 50 + genetic = yes + physical = yes dread_baseline_add = -5 life_expectancy = -500 @@ -290,9 +435,6 @@ wretched = { attraction_opinion = -10 same_opinion = 10 - -# genetic = yes - physical = yes shown_in_ruler_designer = no diff --git a/common/traits/wc_infusion_traits.txt b/common/traits/wc_infusion_traits.txt index 8041cc3d54..c687c99b16 100644 --- a/common/traits/wc_infusion_traits.txt +++ b/common/traits/wc_infusion_traits.txt @@ -16,6 +16,7 @@ opinion_modifier = being_undead_crime ignore_opinion_value_if_same_trait = yes } + triggered_opinion = { parameter = being_undead_shunned opinion_modifier = being_undead_intolerant @@ -34,7 +35,10 @@ flag = no_aging_penalties flag = breath_underwater flag = wc_adoption - + flag = magical_prowess_special_race + + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value + can_have_children = no } @@ -76,6 +80,10 @@ being_demon = { flag = no_aging_penalties flag = can_fly flag = breath_underwater + flag = magical_prowess_special_race + + flag = wc_adoption + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value } being_void = { @@ -108,9 +116,11 @@ being_void = { dread_baseline_add = 12 life_expectancy = 130 # Mantid don't live that long - + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value + # Custom rules flag = can_not_get_sick + flag = magical_prowess_special_race } being_life = { @@ -145,10 +155,12 @@ being_life = { life_expectancy = 25000 # Instead of immortality because immortality locks you from aging health = 5 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value + # Custom rules flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_special_race } being_order = { @@ -179,13 +191,15 @@ being_order = { learning = 2 prowess = 1 monthly_county_control_growth_factor = 0.15 - + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value + life_expectancy = 25000 # Instead of immortality because immortality locks you from aging health = 5 # Custom rules flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_special_race } being_light = { @@ -218,7 +232,9 @@ being_light = { prowess = 2 life_expectancy = 130 # The same as being_void - + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_special_exp_gain_mult_value + # Custom rules flag = can_not_get_sick + flag = magical_prowess_special_race } diff --git a/common/traits/wc_lifestyle_traits.txt b/common/traits/wc_lifestyle_traits.txt new file mode 100644 index 0000000000..ec33941def --- /dev/null +++ b/common/traits/wc_lifestyle_traits.txt @@ -0,0 +1,3414 @@ + +user_of_light_magic_1 = { + category = lifestyle + + health = 0.25 + + group = wc_lifestyle_light_magic + level = 1 + + flag = wc_lifestyle_light_magic_flag + flag = wc_lifestyle_light_magic_level_1_flag + flag = wc_magic_level_1_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_light_magic_1_desc + } + desc = trait_user_of_light_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = light_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = light_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_light_magic_2 = { + category = lifestyle + + health = 0.5 + + group = wc_lifestyle_light_magic + level = 2 + + flag = wc_lifestyle_light_magic_flag + flag = wc_lifestyle_light_magic_level_2_flag + flag = wc_magic_level_2_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_light_magic_2_desc + } + desc = trait_user_of_light_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = light_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = light_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_light_magic_3 = { + category = lifestyle + + health = 1 + + group = wc_lifestyle_light_magic + level = 3 + + flag = wc_lifestyle_light_magic_flag + flag = wc_lifestyle_light_magic_level_3_flag + flag = wc_magic_level_3_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_light_magic_3_desc + } + desc = trait_user_of_light_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = light_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = light_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_light_magic_4 = { + category = lifestyle + + health = 1.25 + + group = wc_lifestyle_light_magic + level = 4 + + flag = wc_lifestyle_light_magic_flag + flag = wc_lifestyle_light_magic_level_4_flag + flag = wc_magic_level_4_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_light_magic_4_desc + } + desc = trait_user_of_light_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = light_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = light_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_light_magic_5 = { + category = lifestyle + + health = 1.5 + + group = wc_lifestyle_light_magic + level = 5 + + flag = can_not_get_sick + flag = wc_lifestyle_light_magic_flag + flag = wc_lifestyle_light_magic_level_5_flag + flag = wc_magic_level_5_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_light_magic_5_desc + } + desc = trait_user_of_light_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = light_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = light_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_shadow_magic_1 = { + category = lifestyle + + group = wc_lifestyle_shadow_magic + level = 1 + + flag = wc_lifestyle_shadow_magic_flag + flag = wc_lifestyle_shadow_magic_level_1_flag + flag = wc_magic_level_1_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_shadow_magic_1_desc + } + desc = trait_user_of_shadow_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = shadow_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = shadow_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_shadow_magic_2 = { + category = lifestyle + + group = wc_lifestyle_shadow_magic + level = 2 + + flag = wc_lifestyle_shadow_magic_flag + flag = wc_lifestyle_shadow_magic_level_2_flag + flag = wc_magic_level_2_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_shadow_magic_2_desc + } + desc = trait_user_of_shadow_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = shadow_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = shadow_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_shadow_magic_3 = { + category = lifestyle + + group = wc_lifestyle_shadow_magic + level = 3 + + flag = wc_lifestyle_shadow_magic_flag + flag = wc_lifestyle_shadow_magic_level_3_flag + flag = wc_magic_level_3_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_shadow_magic_3_desc + } + desc = trait_user_of_shadow_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = shadow_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = shadow_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_shadow_magic_4 = { + category = lifestyle + + group = wc_lifestyle_shadow_magic + level = 4 + + flag = wc_lifestyle_shadow_magic_flag + flag = wc_lifestyle_shadow_magic_level_4_flag + flag = wc_magic_level_4_flag + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_shadow_magic_4_desc + } + desc = trait_user_of_shadow_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = shadow_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = shadow_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_shadow_magic_5 = { + category = lifestyle + + group = wc_lifestyle_shadow_magic + level = 5 + + flag = wc_lifestyle_shadow_magic_flag + flag = wc_lifestyle_shadow_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_shadow_magic_5_desc + } + desc = trait_user_of_shadow_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = shadow_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = shadow_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_disorder_magic_1 = { + category = lifestyle + + group = wc_lifestyle_disorder_magic + level = 1 + + flag = wc_lifestyle_disorder_magic_flag + flag = wc_lifestyle_disorder_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_disorder_magic_1_desc + } + desc = trait_user_of_disorder_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = disorder_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = disorder_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_disorder_magic_2 = { + category = lifestyle + + group = wc_lifestyle_disorder_magic + level = 2 + + flag = wc_lifestyle_disorder_magic_flag + flag = wc_lifestyle_disorder_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_disorder_magic_2_desc + } + desc = trait_user_of_disorder_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = disorder_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = disorder_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_disorder_magic_3 = { + category = lifestyle + + group = wc_lifestyle_disorder_magic + level = 3 + + flag = wc_lifestyle_disorder_magic_flag + flag = wc_lifestyle_disorder_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_disorder_magic_3_desc + } + desc = trait_user_of_disorder_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = disorder_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = disorder_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_disorder_magic_4 = { + category = lifestyle + + group = wc_lifestyle_disorder_magic + level = 4 + + flag = wc_lifestyle_disorder_magic_flag + flag = wc_lifestyle_disorder_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_disorder_magic_4_desc + } + desc = trait_user_of_disorder_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = disorder_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = disorder_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_disorder_magic_5 = { + category = lifestyle + + group = wc_lifestyle_disorder_magic + level = 5 + + flag = wc_lifestyle_disorder_magic_flag + flag = wc_lifestyle_disorder_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_disorder_magic_5_desc + } + desc = trait_user_of_disorder_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = disorder_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = disorder_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_order_magic_1 = { + category = lifestyle + + group = wc_lifestyle_order_magic + level = 1 + + flag = wc_lifestyle_order_magic_flag + flag = wc_lifestyle_order_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_order_magic_1_desc + } + desc = trait_user_of_order_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_order_magic_2 = { + category = lifestyle + + group = wc_lifestyle_order_magic + level = 2 + + flag = wc_lifestyle_order_magic_flag + flag = wc_lifestyle_order_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_order_magic_2_desc + } + desc = trait_user_of_order_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_order_magic_3 = { + category = lifestyle + + group = wc_lifestyle_order_magic + level = 3 + + flag = wc_lifestyle_order_magic_flag + flag = wc_lifestyle_order_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_order_magic_3_desc + } + desc = trait_user_of_order_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_order_magic_4 = { + category = lifestyle + + group = wc_lifestyle_order_magic + level = 4 + + flag = wc_lifestyle_order_magic_flag + flag = wc_lifestyle_order_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_order_magic_4_desc + } + desc = trait_user_of_order_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_order_magic_5 = { + category = lifestyle + + group = wc_lifestyle_order_magic + level = 5 + + flag = wc_lifestyle_order_magic_flag + flag = wc_lifestyle_order_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_order_magic_5_desc + } + desc = trait_user_of_order_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_life_magic_1 = { + category = lifestyle + + forest_advantage = 1 + jungle_advantage = 1 + taiga_advantage = 1 + + jungle_travel_danger = jungle_low_danger_reduction + forest_travel_danger = forest_low_danger_reduction + + group = wc_lifestyle_life_magic + level = 1 + + flag = wc_lifestyle_life_magic_flag + flag = wc_lifestyle_life_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_life_magic_1_desc + } + desc = trait_user_of_life_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = life_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = life_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_life_magic_2 = { + category = lifestyle + + forest_advantage = 2 + jungle_advantage = 2 + taiga_advantage = 2 + + jungle_travel_danger = jungle_medium_danger_reduction + forest_travel_danger = forest_medium_danger_reduction + + group = wc_lifestyle_life_magic + level = 2 + + flag = wc_lifestyle_life_magic_flag + flag = wc_lifestyle_life_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_life_magic_2_desc + } + desc = trait_user_of_life_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = life_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = life_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_life_magic_3 = { + category = lifestyle + + forest_advantage = 3 + jungle_advantage = 3 + taiga_advantage = 3 + + jungle_travel_danger = jungle_medium_danger_reduction + forest_travel_danger = forest_medium_danger_reduction + + group = wc_lifestyle_life_magic + level = 3 + + flag = wc_lifestyle_life_magic_flag + flag = wc_lifestyle_life_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_life_magic_3_desc + } + desc = trait_user_of_life_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = life_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = life_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_life_magic_4 = { + category = lifestyle + + forest_advantage = 4 + jungle_advantage = 4 + taiga_advantage = 4 + + jungle_travel_danger = jungle_high_danger_reduction + forest_travel_danger = forest_high_danger_reduction + + group = wc_lifestyle_life_magic + level = 4 + + flag = wc_lifestyle_life_magic_flag + flag = wc_lifestyle_life_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_life_magic_4_desc + } + desc = trait_user_of_life_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = life_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = life_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_life_magic_5 = { + category = lifestyle + + forest_advantage = 5 + jungle_advantage = 5 + taiga_advantage = 5 + + jungle_travel_danger = jungle_high_danger_reduction + forest_travel_danger = forest_high_danger_reduction + + group = wc_lifestyle_life_magic + level = 5 + + flag = wc_lifestyle_life_magic_flag + flag = wc_lifestyle_life_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_life_magic_5_desc + } + desc = trait_user_of_life_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = life_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = life_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_death_magic_1 = { + category = lifestyle + + group = wc_lifestyle_death_magic + level = 1 + + flag = wc_lifestyle_death_magic_flag + flag = wc_lifestyle_death_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_death_magic_1_desc + } + desc = trait_user_of_death_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = death_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = death_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_death_magic_2 = { + category = lifestyle + + group = wc_lifestyle_death_magic + level = 2 + + flag = wc_lifestyle_death_magic_flag + flag = wc_lifestyle_death_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_death_magic_2_desc + } + desc = trait_user_of_death_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = death_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = death_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_death_magic_3 = { + category = lifestyle + + group = wc_lifestyle_death_magic + level = 3 + + flag = wc_lifestyle_death_magic_flag + flag = wc_lifestyle_death_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_death_magic_3_desc + } + desc = trait_user_of_death_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = death_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = death_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_death_magic_4 = { + category = lifestyle + + group = wc_lifestyle_death_magic + level = 4 + + flag = wc_lifestyle_death_magic_flag + flag = wc_lifestyle_death_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_death_magic_4_desc + } + desc = trait_user_of_death_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = death_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = death_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_death_magic_5 = { + category = lifestyle + + group = wc_lifestyle_death_magic + level = 5 + + flag = wc_lifestyle_death_magic_flag + flag = wc_lifestyle_death_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_death_magic_5_desc + } + desc = trait_user_of_death_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = death_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = death_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_fire_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_magic + level = 1 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_magic_1_desc + } + desc = trait_user_of_elemental_fire_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_magic + level = 2 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_magic_2_desc + } + desc = trait_user_of_elemental_fire_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_magic + level = 3 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_magic_3_desc + } + desc = trait_user_of_elemental_fire_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_magic + level = 4 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_magic_4_desc + } + desc = trait_user_of_elemental_fire_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_magic + level = 5 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_magic_5_desc + } + desc = trait_user_of_elemental_fire_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_water_magic_1 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_low_danger_reduction + # floodplains_travel_danger = floodplains_low_danger_reduction + # sea_travel_danger = low_sea_danger_reduction + # coastal_sea_travel_danger = low_sea_danger_reduction + + # naval_movement_speed_mult = 0.05 + + group = wc_lifestyle_elemental_water_magic + level = 1 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_magic_1_desc + } + desc = trait_user_of_elemental_water_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_magic_2 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_medium_danger_reduction + # floodplains_travel_danger = floodplains_medium_danger_reduction + # sea_travel_danger = medium_sea_danger_reduction + # coastal_sea_travel_danger = medium_sea_danger_reduction + + # naval_movement_speed_mult = 0.1 + + group = wc_lifestyle_elemental_water_magic + level = 2 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_magic_2_desc + } + desc = trait_user_of_elemental_water_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_magic_3 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_medium_danger_reduction + # floodplains_travel_danger = floodplains_medium_danger_reduction + # sea_travel_danger = medium_sea_danger_reduction + # coastal_sea_travel_danger = medium_sea_danger_reduction + + # naval_movement_speed_mult = 0.15 + + group = wc_lifestyle_elemental_water_magic + level = 3 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_magic_3_desc + } + desc = trait_user_of_elemental_water_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_magic_4 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_high_danger_reduction + # floodplains_travel_danger = floodplains_high_danger_reduction + # sea_travel_danger = -55 + # coastal_sea_travel_danger = -55 + + # naval_movement_speed_mult = 0.2 + + group = wc_lifestyle_elemental_water_magic + level = 4 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_magic_4_desc + } + desc = trait_user_of_elemental_water_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_magic_5 = { + category = lifestyle + + wetlands_travel_danger = wetlands_high_danger_reduction + floodplains_travel_danger = floodplains_high_danger_reduction + sea_travel_danger = -65 + coastal_sea_travel_danger = -65 + + naval_movement_speed_mult = 0.25 + + group = wc_lifestyle_elemental_water_magic + level = 5 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_magic_5_desc + } + desc = trait_user_of_elemental_water_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_air_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_magic + level = 1 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_magic_1_desc + } + desc = trait_user_of_elemental_air_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_magic + level = 2 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_magic_2_desc + } + desc = trait_user_of_elemental_air_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_magic + level = 3 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_magic_3_desc + } + desc = trait_user_of_elemental_air_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_magic + level = 4 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_magic_4_desc + } + desc = trait_user_of_elemental_air_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_magic + level = 5 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_magic_5_desc + } + desc = trait_user_of_elemental_air_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_earth_magic_1 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 1 + # desert_advantage = 1 + # desert_mountains_advantage = 1 + # oasis_advantage = 1 + # hills_advantage = 1 + # mountains_advantage = 1 + + # mountains_travel_danger = mountains_low_danger_reduction + # desert_mountains_travel_danger = desert_mountains_low_danger_reduction + # hills_travel_danger = hills_low_danger_reduction + # desert_travel_danger = desert_low_danger_reduction + # drylands_travel_danger = drylands_low_danger_reduction + + group = wc_lifestyle_elemental_earth_magic + level = 1 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_magic_1_desc + } + desc = trait_user_of_elemental_earth_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_magic_2 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 2 + # desert_advantage = 2 + # desert_mountains_advantage = 2 + # oasis_advantage = 2 + # hills_advantage = 2 + # mountains_advantage = 2 + + # mountains_travel_danger = mountains_medium_danger_reduction + # desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + # hills_travel_danger = hills_medium_danger_reduction + # desert_travel_danger = desert_medium_danger_reduction + # drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_magic + level = 2 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_magic_2_desc + } + desc = trait_user_of_elemental_earth_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_magic_3 = { + category = lifestyle + + drylands_advantage = 3 + desert_advantage = 3 + desert_mountains_advantage = 3 + oasis_advantage = 3 + hills_advantage = 3 + mountains_advantage = 3 + + mountains_travel_danger = mountains_medium_danger_reduction + desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + hills_travel_danger = hills_medium_danger_reduction + desert_travel_danger = desert_medium_danger_reduction + drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_magic + level = 3 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_magic_3_desc + } + desc = trait_user_of_elemental_earth_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_magic_4 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 4 + # desert_advantage = 4 + # desert_mountains_advantage = 4 + # oasis_advantage = 4 + # hills_advantage = 4 + # mountains_advantage = 4 + + # mountains_travel_danger = mountains_high_danger_reduction + # desert_mountains_travel_danger = desert_mountains_high_danger_reduction + # hills_travel_danger = hills_high_danger_reduction + # desert_travel_danger = desert_high_danger_reduction + # drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_magic + level = 4 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_magic_4_desc + } + desc = trait_user_of_elemental_earth_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_magic_5 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 5 + # desert_advantage = 5 + # desert_mountains_advantage = 5 + # oasis_advantage = 5 + # hills_advantage = 5 + # mountains_advantage = 5 + + # mountains_travel_danger = mountains_high_danger_reduction + # desert_mountains_travel_danger = desert_mountains_high_danger_reduction + # hills_travel_danger = hills_high_danger_reduction + # desert_travel_danger = desert_high_danger_reduction + # drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_magic + level = 5 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_magic_5_desc + } + desc = trait_user_of_elemental_earth_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_fire_spirit_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_spirit_magic + level = 1 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_spirit_magic_1_desc + } + desc = trait_user_of_elemental_fire_spirit_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_spirit_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_spirit_magic + level = 2 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_spirit_magic_2_desc + } + desc = trait_user_of_elemental_fire_spirit_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_spirit_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_spirit_magic + level = 3 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_spirit_magic_3_desc + } + desc = trait_user_of_elemental_fire_spirit_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_spirit_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_spirit_magic + level = 4 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_spirit_magic_4_desc + } + desc = trait_user_of_elemental_fire_spirit_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_spirit_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_spirit_magic + level = 5 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_spirit_magic_5_desc + } + desc = trait_user_of_elemental_fire_spirit_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_water_spirit_magic_1 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_low_danger_reduction + # floodplains_travel_danger = floodplains_low_danger_reduction + # sea_travel_danger = low_sea_danger_reduction + # coastal_sea_travel_danger = low_sea_danger_reduction + + # naval_movement_speed_mult = 0.05 + + group = wc_lifestyle_elemental_water_spirit_magic + level = 1 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_spirit_magic_1_desc + } + desc = trait_user_of_elemental_water_spirit_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_spirit_magic_2 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_medium_danger_reduction + # floodplains_travel_danger = floodplains_medium_danger_reduction + # sea_travel_danger = medium_sea_danger_reduction + # coastal_sea_travel_danger = medium_sea_danger_reduction + + # naval_movement_speed_mult = 0.1 + + group = wc_lifestyle_elemental_water_spirit_magic + level = 2 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_spirit_magic_2_desc + } + desc = trait_user_of_elemental_water_spirit_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_spirit_magic_3 = { + category = lifestyle + + wetlands_travel_danger = wetlands_medium_danger_reduction + floodplains_travel_danger = floodplains_medium_danger_reduction + sea_travel_danger = medium_sea_danger_reduction + coastal_sea_travel_danger = medium_sea_danger_reduction + + naval_movement_speed_mult = 0.15 + + group = wc_lifestyle_elemental_water_spirit_magic + level = 3 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_spirit_magic_3_desc + } + desc = trait_user_of_elemental_water_spirit_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_spirit_magic_4 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_high_danger_reduction + # floodplains_travel_danger = floodplains_high_danger_reduction + # sea_travel_danger = -55 + # coastal_sea_travel_danger = -55 + + # naval_movement_speed_mult = 0.2 + + group = wc_lifestyle_elemental_water_spirit_magic + level = 4 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_spirit_magic_4_desc + } + desc = trait_user_of_elemental_water_spirit_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_spirit_magic_5 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_high_danger_reduction + # floodplains_travel_danger = floodplains_high_danger_reduction + # sea_travel_danger = -65 + # coastal_sea_travel_danger = -65 + + # naval_movement_speed_mult = 0.25 + + group = wc_lifestyle_elemental_water_spirit_magic + level = 5 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_spirit_magic_5_desc + } + desc = trait_user_of_elemental_water_spirit_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_air_spirit_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_spirit_magic + level = 1 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_spirit_magic_1_desc + } + desc = trait_user_of_elemental_air_spirit_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_spirit_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_spirit_magic + level = 2 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_spirit_magic_2_desc + } + desc = trait_user_of_elemental_air_spirit_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_spirit_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_spirit_magic + level = 3 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_spirit_magic_3_desc + } + desc = trait_user_of_elemental_air_spirit_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_spirit_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_spirit_magic + level = 4 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_spirit_magic_4_desc + } + desc = trait_user_of_elemental_air_spirit_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_spirit_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_spirit_magic + level = 5 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_spirit_magic_5_desc + } + desc = trait_user_of_elemental_air_spirit_magic_5_character_desc + } + } + + triggered_opinion = { + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_earth_spirit_magic_1 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 1 + # desert_advantage = 1 + # desert_mountains_advantage = 1 + # oasis_advantage = 1 + # hills_advantage = 1 + # mountains_advantage = 1 + + # mountains_travel_danger = mountains_low_danger_reduction + # desert_mountains_travel_danger = desert_mountains_low_danger_reduction + # hills_travel_danger = hills_low_danger_reduction + # desert_travel_danger = desert_low_danger_reduction + # drylands_travel_danger = drylands_low_danger_reduction + + group = wc_lifestyle_elemental_earth_spirit_magic + level = 1 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_spirit_magic_1_desc + } + desc = trait_user_of_elemental_earth_spirit_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_spirit_magic_2 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 2 + # desert_advantage = 2 + # desert_mountains_advantage = 2 + # oasis_advantage = 2 + # hills_advantage = 2 + # mountains_advantage = 2 + + # mountains_travel_danger = mountains_medium_danger_reduction + # desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + # hills_travel_danger = hills_medium_danger_reduction + # desert_travel_danger = desert_medium_danger_reduction + # drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_spirit_magic + level = 2 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_spirit_magic_2_desc + } + desc = trait_user_of_elemental_earth_spirit_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_spirit_magic_3 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 3 + # desert_advantage = 3 + # desert_mountains_advantage = 3 + # oasis_advantage = 3 + # hills_advantage = 3 + # mountains_advantage = 3 + + # mountains_travel_danger = mountains_medium_danger_reduction + # desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + # hills_travel_danger = hills_medium_danger_reduction + # desert_travel_danger = desert_medium_danger_reduction + # drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_spirit_magic + level = 3 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_2_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_spirit_magic_3_desc + } + desc = trait_user_of_elemental_earth_spirit_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_spirit_magic_4 = { + category = lifestyle + + # todo: move these to perks + # drylands_advantage = 4 + # desert_advantage = 4 + # desert_mountains_advantage = 4 + # oasis_advantage = 4 + # hills_advantage = 4 + # mountains_advantage = 4 + + # mountains_travel_danger = mountains_high_danger_reduction + # desert_mountains_travel_danger = desert_mountains_high_danger_reduction + # hills_travel_danger = hills_high_danger_reduction + # desert_travel_danger = desert_high_danger_reduction + # drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_spirit_magic + level = 4 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_spirit_magic_4_desc + } + desc = trait_user_of_elemental_earth_spirit_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_spirit_magic_5 = { + category = lifestyle + + drylands_advantage = 5 + desert_advantage = 5 + desert_mountains_advantage = 5 + oasis_advantage = 5 + hills_advantage = 5 + mountains_advantage = 5 + + mountains_travel_danger = mountains_high_danger_reduction + desert_mountains_travel_danger = desert_mountains_high_danger_reduction + hills_travel_danger = hills_high_danger_reduction + desert_travel_danger = desert_high_danger_reduction + drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_spirit_magic + level = 5 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_spirit_magic_5_desc + } + desc = trait_user_of_elemental_earth_spirit_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_spirit_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_spirit_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_fire_decay_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_decay_magic + level = 1 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_decay_magic_1_desc + } + desc = trait_user_of_elemental_fire_decay_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_decay_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_decay_magic + level = 2 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_decay_magic_2_desc + } + desc = trait_user_of_elemental_fire_decay_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_decay_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_decay_magic + level = 3 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_decay_magic_3_desc + } + desc = trait_user_of_elemental_fire_decay_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_decay_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_decay_magic + level = 4 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_decay_magic_4_desc + } + desc = trait_user_of_elemental_fire_decay_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_fire_decay_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_fire_decay_magic + level = 5 + + flag = wc_lifestyle_elemental_fire_magic_flag + flag = wc_lifestyle_elemental_fire_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_fire_decay_magic_5_desc + } + desc = trait_user_of_elemental_fire_decay_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_fire_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_fire_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_water_decay_magic_1 = { + category = lifestyle + + # wetlands_travel_danger = wetlands_low_danger_reduction + # floodplains_travel_danger = floodplains_low_danger_reduction + # sea_travel_danger = low_sea_danger_reduction + # coastal_sea_travel_danger = low_sea_danger_reduction + + # naval_movement_speed_mult = 0.05 + + group = wc_lifestyle_elemental_water_decay_magic + level = 1 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_decay_magic_1_desc + } + desc = trait_user_of_elemental_water_decay_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_decay_magic_2 = { + category = lifestyle + + # wetlands_travel_danger = wetlands_medium_danger_reduction + # floodplains_travel_danger = floodplains_medium_danger_reduction + # sea_travel_danger = medium_sea_danger_reduction + # coastal_sea_travel_danger = medium_sea_danger_reduction + + # naval_movement_speed_mult = 0.1 + + group = wc_lifestyle_elemental_water_decay_magic + level = 2 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_decay_magic_2_desc + } + desc = trait_user_of_elemental_water_decay_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_decay_magic_3 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_medium_danger_reduction + # floodplains_travel_danger = floodplains_medium_danger_reduction + # sea_travel_danger = medium_sea_danger_reduction + # coastal_sea_travel_danger = medium_sea_danger_reduction + + # naval_movement_speed_mult = 0.15 + + group = wc_lifestyle_elemental_water_decay_magic + level = 3 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_decay_magic_3_desc + } + desc = trait_user_of_elemental_water_decay_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_decay_magic_4 = { + category = lifestyle + + # todo: move these to perks + # wetlands_travel_danger = wetlands_high_danger_reduction + # floodplains_travel_danger = floodplains_high_danger_reduction + # sea_travel_danger = -55 + # coastal_sea_travel_danger = -55 + + # naval_movement_speed_mult = 0.2 + + group = wc_lifestyle_elemental_water_decay_magic + level = 4 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_decay_magic_4_desc + } + desc = trait_user_of_elemental_water_decay_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_water_decay_magic_5 = { + category = lifestyle + + # wetlands_travel_danger = wetlands_high_danger_reduction + # floodplains_travel_danger = floodplains_high_danger_reduction + # sea_travel_danger = -65 + # coastal_sea_travel_danger = -65 + + # naval_movement_speed_mult = 0.25 + + group = wc_lifestyle_elemental_water_decay_magic + level = 5 + + flag = wc_lifestyle_elemental_water_magic_flag + flag = wc_lifestyle_elemental_water_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_water_decay_magic_5_desc + } + desc = trait_user_of_elemental_water_decay_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_water_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_water_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_air_decay_magic_1 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_decay_magic + level = 1 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_decay_magic_1_desc + } + desc = trait_user_of_elemental_air_decay_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_decay_magic_2 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_decay_magic + level = 2 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_decay_magic_2_desc + } + desc = trait_user_of_elemental_air_decay_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_decay_magic_3 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_decay_magic + level = 3 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_decay_magic_3_desc + } + desc = trait_user_of_elemental_air_decay_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_decay_magic_4 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_decay_magic + level = 4 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_decay_magic_4_desc + } + desc = trait_user_of_elemental_air_decay_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_air_decay_magic_5 = { + category = lifestyle + + group = wc_lifestyle_elemental_air_decay_magic + level = 5 + + flag = wc_lifestyle_elemental_air_magic_flag + flag = wc_lifestyle_elemental_air_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_air_decay_magic_5_desc + } + desc = trait_user_of_elemental_air_decay_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_air_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_air_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +user_of_elemental_earth_decay_magic_1 = { + category = lifestyle + + # drylands_advantage = 1 + # desert_advantage = 1 + # desert_mountains_advantage = 1 + # oasis_advantage = 1 + # hills_advantage = 1 + # mountains_advantage = 1 + + # mountains_travel_danger = mountains_low_danger_reduction + # desert_mountains_travel_danger = desert_mountains_low_danger_reduction + # hills_travel_danger = hills_low_danger_reduction + # desert_travel_danger = desert_low_danger_reduction + # drylands_travel_danger = drylands_low_danger_reduction + + group = wc_lifestyle_elemental_earth_decay_magic + level = 1 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_1_flag + flag = wc_magic_level_1_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_decay_magic_1_desc + } + desc = trait_user_of_elemental_earth_decay_magic_1_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_decay_magic_2 = { + category = lifestyle + + # drylands_advantage = 2 + # desert_advantage = 2 + # desert_mountains_advantage = 2 + # oasis_advantage = 2 + # hills_advantage = 2 + # mountains_advantage = 2 + + # mountains_travel_danger = mountains_medium_danger_reduction + # desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + # hills_travel_danger = hills_medium_danger_reduction + # desert_travel_danger = desert_medium_danger_reduction + # drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_decay_magic + level = 2 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_2_flag + flag = wc_magic_level_2_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_decay_magic_2_desc + } + desc = trait_user_of_elemental_earth_decay_magic_2_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_decay_magic_3 = { + category = lifestyle + + # drylands_advantage = 3 + # desert_advantage = 3 + # desert_mountains_advantage = 3 + # oasis_advantage = 3 + # hills_advantage = 3 + # mountains_advantage = 3 + + # mountains_travel_danger = mountains_medium_danger_reduction + # desert_mountains_travel_danger = desert_mountains_medium_danger_reduction + # hills_travel_danger = hills_medium_danger_reduction + # desert_travel_danger = desert_medium_danger_reduction + # drylands_travel_danger = drylands_medium_danger_reduction + + group = wc_lifestyle_elemental_earth_decay_magic + level = 3 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_3_flag + flag = wc_magic_level_3_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_decay_magic_3_desc + } + desc = trait_user_of_elemental_earth_decay_magic_3_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_decay_magic_4 = { + category = lifestyle + + # drylands_advantage = 4 + # desert_advantage = 4 + # desert_mountains_advantage = 4 + # oasis_advantage = 4 + # hills_advantage = 4 + # mountains_advantage = 4 + + # mountains_travel_danger = mountains_high_danger_reduction + # desert_mountains_travel_danger = desert_mountains_high_danger_reduction + # hills_travel_danger = hills_high_danger_reduction + # desert_travel_danger = desert_high_danger_reduction + # drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_decay_magic + level = 4 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_4_flag + flag = wc_magic_level_4_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_decay_magic_4_desc + } + desc = trait_user_of_elemental_earth_decay_magic_4_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} +user_of_elemental_earth_decay_magic_5 = { + category = lifestyle + + # drylands_advantage = 5 + # desert_advantage = 5 + # desert_mountains_advantage = 5 + # oasis_advantage = 5 + # hills_advantage = 5 + # mountains_advantage = 5 + + # mountains_travel_danger = mountains_high_danger_reduction + # desert_mountains_travel_danger = desert_mountains_high_danger_reduction + # hills_travel_danger = hills_high_danger_reduction + # desert_travel_danger = desert_high_danger_reduction + # drylands_travel_danger = drylands_high_danger_reduction + + group = wc_lifestyle_elemental_earth_decay_magic + level = 5 + + flag = wc_lifestyle_elemental_earth_magic_flag + flag = wc_lifestyle_elemental_earth_magic_level_5_flag + flag = wc_magic_level_5_flag + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_user_of_elemental_earth_decay_magic_5_desc + } + desc = trait_user_of_elemental_earth_decay_magic_5_character_desc + } + } + + triggered_opinion = { + parameter = elemental_earth_decay_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = elemental_earth_decay_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +master_pyromancer = { + category = lifestyle + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_master_pyromancer_desc + } + desc = trait_master_pyromancer_character_desc + } + } + + flag = wc_lifestyle_order_fire_magic_cast_speed_bonus + flag = wc_lifestyle_order_fire_magic_cooldown_bonus + + prowess = 5 + dread_baseline_add = 10 + attacker_advantage = 5 + + same_opinion = 10 + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} + +master_cryomancer = { + category = lifestyle + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_master_cryomancer_desc + } + desc = trait_master_cryomancer_character_desc + } + } + + flag = wc_lifestyle_order_frost_magic_duration_bonus + flag = wc_lifestyle_order_frost_magic_cooldown_bonus + + prowess = 5 + martial = 2 + defender_advantage = 5 + + same_opinion = 10 + + triggered_opinion = { + parameter = order_magic_illegal + opinion_modifier = user_of_magic_crime + ignore_opinion_value_if_same_trait = yes + } + triggered_opinion = { + parameter = order_magic_shunned + opinion_modifier = user_of_magic_intolerant + ignore_opinion_value_if_same_trait = yes + } +} \ No newline at end of file diff --git a/common/traits/wc_lore_trait.txt b/common/traits/wc_lore_trait.txt index 50dda4e810..fca4adcf89 100644 --- a/common/traits/wc_lore_trait.txt +++ b/common/traits/wc_lore_trait.txt @@ -14,6 +14,11 @@ shown_in_ruler_designer = no # ruler_designer_cost = 50 + # Warcraft + flag = physical + flag = positive + # End Warcraft + desc = { first_valid = { triggered_desc = { diff --git a/common/traits/wc_magic_traits.txt b/common/traits/wc_magic_traits.txt new file mode 100644 index 0000000000..c5c0a482a8 --- /dev/null +++ b/common/traits/wc_magic_traits.txt @@ -0,0 +1,396 @@ +burned_1 = { + category = health + martial = -1 + intrigue = -1 + health = -1.2 + prowess = -3 + disables_combat_leadership = yes + + dread_baseline_add = -10 + dread_loss_mult = 1 + + shown_in_ruler_designer = no + + group = burned + level = 1 + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_burned_1_desc + } + desc = trait_burned_1_character_desc + } + } + + flag = burned_1_elemental_fire_magic_resistance + ai_energy = -20 +} + +burned_2 = { + category = health + martial = -2 + intrigue = -2 + health = -2.2 + prowess = -4 + fertility = -0.25 + attraction_opinion = -10 + + disables_combat_leadership = yes + shown_in_ruler_designer = no + + + dread_baseline_add = -15 + dread_loss_mult = 1 + + group = burned + level = 2 + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_burned_2_desc + } + desc = trait_burned_2_character_desc + } + } + + flag = burned_2_elemental_fire_magic_resistance + ai_energy = -30 +} + +burned_3 = { + martial = -4 + intrigue = -4 + health = -4 + prowess = -8 + fertility = -0.75 + category = health + + dread_baseline_add = -20 + dread_loss_mult = 1 + + attraction_opinion = -20 + + disables_combat_leadership = yes + + shown_in_ruler_designer = no + + flag = no_message + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_burned_3_desc + } + desc = trait_burned_3_character_desc + } + } + + ai_energy = -40 + + group = burned + level = 3 + + flag = burned_3_elemental_fire_magic_resistance +} + +frostbite_1 = { + category = health + martial = -1 + intrigue = -1 + health = -1.2 + prowess = -3 + disables_combat_leadership = yes + + dread_baseline_add = -10 + dread_loss_mult = 1 + + shown_in_ruler_designer = no + + group = frostbite + level = 1 + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_frostbite_1_desc + } + desc = trait_frostbite_1_character_desc + } + } + + flag = frostbite_1_elemental_water_magic_resistance + ai_energy = -20 +} + +frostbite_2 = { + category = health + martial = -2 + intrigue = -2 + health = -2.2 + prowess = -4 + fertility = -0.25 + attraction_opinion = -10 + + disables_combat_leadership = yes + shown_in_ruler_designer = no + + + dread_baseline_add = -15 + dread_loss_mult = 1 + + group = frostbite + level = 2 + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_frostbite_2_desc + } + desc = trait_frostbite_2_character_desc + } + } + + flag = frostbite_2_elemental_water_magic_resistance + ai_energy = -30 +} + +frostbite_3 = { + martial = -4 + intrigue = -4 + health = -4 + prowess = -8 + fertility = -0.75 + category = health + + dread_baseline_add = -20 + dread_loss_mult = 1 + + attraction_opinion = -20 + + disables_combat_leadership = yes + + shown_in_ruler_designer = no + + flag = no_message + flag = injury + flag = magic_injury + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_frostbite_3_desc + } + desc = trait_frostbite_3_character_desc + } + } + + ai_energy = -40 + + group = frostbite + level = 3 + + flag = frostbite_3_elemental_water_magic_resistance +} + +ice_block = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_ice_block_desc + } + desc = trait_ice_block_character_desc + } + } + shown_in_ruler_designer = no + + incapacitating = yes + flag = makes_incapable + flag = cant_cast + flag = cant_be_targeted + can_have_children = no + disables_combat_leadership = yes +} + +polymorph = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_polymorph_desc + } + desc = trait_polymorph_character_desc + } + } + + dread_baseline_add = -40 + dread_loss_mult = 1 + + attraction_opinion = -20 + + shown_in_ruler_designer = no + + incapacitating = yes + flag = makes_incapable + flag = cant_cast + flag = one_prowess + flag = unkillable + can_have_children = no + disables_combat_leadership = yes +} + +holy_wrath = { + category = health + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_holy_wrath_desc + } + desc = trait_holy_wrath_character_desc + } + } + + flag = injury + flag = magic_injury + + learning = -2 + health = -0.5 + prowess = -4 + + dread_loss_mult = 1 + + attraction_opinion = -10 + + shown_in_ruler_designer = no + + flag = no_light_magic_resistance + flag = minor_magical_prowess_loss + flag = holy_wrath_special_flag +} + +### THESE TRAITS ARE FOR STORING DATA ON DEAD CHARACTERS FOR THE ETERNAL SUFFERING PERK, THEY HAVE NO OTHER USE +eternal_suffering_1 = { + group = eternal_suffering + flag = eternal_suffering + level = 1 +} +eternal_suffering_2 = { + group = eternal_suffering + flag = eternal_suffering + level = 2 +} +eternal_suffering_3 = { + group = eternal_suffering + flag = eternal_suffering + level = 3 +} +eternal_suffering_4 = { + group = eternal_suffering + flag = eternal_suffering + level = 4 +} +eternal_suffering_5 = { + group = eternal_suffering + flag = eternal_suffering + level = 5 +} + +hibernation = { + category = health + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_hibernation_desc + } + desc = trait_hibernation_character_desc + } + } + + negate_health_penalty_add = 2.5 + + diplomacy = -4 + + enemy_hostile_scheme_phase_duration_add = -10 + + attraction_opinion = -20 + + incapacitating = yes + flag = makes_incapable + flag = cant_cast + + shown_in_ruler_designer = no +} + +void_sickness = { + category = health + martial = -2 + intrigue = -3 + health = -1.5 + fertility = -0.5 + enemy_hostile_scheme_phase_duration_add = medium_scheme_phase_duration_bonus_value + + dread_baseline_add = -5 + + shown_in_ruler_designer = no + + flag = illness + flag = magic_illness + + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_void_sickness_desc + } + desc = trait_void_sickness_character_desc + } + } + + flag = void_sickness_shadow_magic_resistance + flag = minor_cast_time_penalty + flag = minor_magical_prowess_loss + + ai_energy = -10 +} \ No newline at end of file diff --git a/common/traits/wc_race_traits.txt b/common/traits/wc_race_traits.txt index c841d56468..d6c473fd9e 100644 --- a/common/traits/wc_race_traits.txt +++ b/common/traits/wc_race_traits.txt @@ -35,9 +35,13 @@ creature_human = { flag = mammal_class flag = race_trait flag = life_expectancy_0 - + flag = racial_shadow_magic_vulnerability + flag = racial_disorder_magic_resistance + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance + + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value } creature_orc = { desc = { @@ -64,6 +68,11 @@ creature_orc = { flag = race_trait flag = life_expectancy_0 + flag = racial_light_magic_resistance + flag = racial_life_magic_resistance + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -96,6 +105,12 @@ creature_ogre = { life_expectancy = 200 + flag = racial_light_magic_resistance + flag = racial_life_magic_resistance + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -131,6 +146,12 @@ creature_troll = { life_expectancy = 50 + flag = racial_order_magic_resistance + flag = racial_elemental_fire_magic_resistance + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -172,6 +193,8 @@ creature_murloc = { flag = murloc_family flag = race_trait flag = life_expectancy_0 + + flag = racial_elemental_water_magic_resistance inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -269,7 +292,13 @@ creature_dwarf = { flag = mammal_class flag = race_trait flag = life_expectancy_2 - + + flag = racial_life_magic_resistance + flag = racial_elemental_earth_magic_resistance + flag = racial_elemental_water_magic_resistance + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 330 inherit_chance = @race_inherit_chance @@ -302,6 +331,12 @@ creature_gnome = { flag = race_trait flag = life_expectancy_2 + flag = racial_life_magic_resistance + flag = racial_elemental_earth_magic_resistance + flag = racial_elemental_water_magic_resistance + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 330 inherit_chance = @race_inherit_chance @@ -370,6 +405,10 @@ creature_high_elf = { life_expectancy = 1500 + flag = racial_disorder_magic_resistance + flag = racial_death_magic_resistance + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -406,6 +445,10 @@ creature_naga = { flag = race_trait flag = life_expectancy_3 + flag = racial_elemental_water_magic_resistance + flag = racial_elemental_disorder_magic_resistance + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 1500 inherit_chance = @race_inherit_chance @@ -435,6 +478,10 @@ creature_red_dragon = { flag = dragon_family flag = race_trait + + flag = racial_disorder_magic_resistance + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + diplomacy = 3 fertility = 1 health = 1 @@ -487,6 +534,9 @@ creature_blue_dragon = { life_expectancy = 10000 + flag = racial_disorder_magic_resistance + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -525,6 +575,9 @@ creature_green_dragon = { flag = race_trait flag = life_expectancy_4 + flag = racial_disorder_magic_resistance + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 10000 inherit_chance = @race_inherit_chance @@ -564,6 +617,8 @@ creature_black_dragon = { flag = race_trait flag = life_expectancy_4 + flag = racial_disorder_magic_resistance + life_expectancy = 10000 inherit_chance = @race_inherit_chance @@ -592,7 +647,9 @@ creature_goblin = { group = race level = 16 - + monthly_order_magic_lifestyle_xp_gain_mult = 0.1 + flag = racial_order_magic_resistance + flag = goblin_family flag = mammal_class flag = race_trait @@ -626,6 +683,8 @@ creature_pygmy = { group = race level = 17 + flag = racial_order_magic_resistance + flag = ruler_designer_pygmy flag = mammal_class flag = race_trait @@ -693,12 +752,19 @@ creature_draenei = { group = race level = 19 + + flag = racial_disorder_magic_resistance + flag = racial_death_magic_resistance + + flag = ruler_designer_manari flag = eredar_family + flag = mammal_class flag = race_trait flag = life_expectancy_4 - + monthly_light_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 25000 inherit_chance = @race_inherit_chance @@ -726,7 +792,10 @@ creature_arakkoa_corrupted = { group = race level = 20 - + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_death_magic_resistance + flag = static_race flag = avian_class flag = race_trait @@ -761,10 +830,14 @@ creature_abomination = { group = race level = 21 + + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance flag = undead_class flag = race_trait flag = life_expectancy_1 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -795,10 +868,14 @@ creature_lich = { group = race level = 22 + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance + flag = static_race flag = undead_class flag = race_trait flag = life_expectancy_4 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -829,9 +906,11 @@ creature_wickerman = { # Throsic ghoul counterpart group = race level = 23 - - flag = undead_class + + flag = racial_light_magic_vulnerability + flag = undead_class flag = race_trait + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -861,8 +940,10 @@ creature_wicker_behemoth = { # Throsic vampire counterpart group = race level = 24 - flag = undead_class + flag = racial_light_magic_vulnerability + flag = undead_class flag = race_trait + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -893,8 +974,10 @@ creature_wicker_golem = { # Throsic abomination counterpart group = race level = 25 - flag = undead_class + flag = racial_light_magic_vulnerability + flag = undead_class flag = race_trait + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -930,6 +1013,21 @@ creature_annihilan = { flag = life_expectancy_4 life_expectancy = 25000 + flag = racial_light_magic_vulnerability + + diplomacy = -2 + stewardship = -1 + intrigue = -2 + learning = -2 + prowess = 13 + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + + same_opinion = 10 + general_opinion = -10 + + shown_in_ruler_designer = no + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -967,6 +1065,20 @@ creature_nathrezim = { flag = life_expectancy_4 life_expectancy = 25000 + + flag = racial_light_magic_vulnerability + flag = racial_life_magic_resistance + flag = racial_order_magic_resistance + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + intrigue = 1 + learning = 1 + prowess = 4 + + same_opinion = 10 + general_opinion = -10 inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -991,6 +1103,9 @@ creature_eredruin = { flag = static_race flag = race_trait + flag = racial_light_magic_vulnerability + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + diplomacy = -2 martial = 2 intrigue = -2 @@ -1025,6 +1140,9 @@ creature_satyr = { flag = race_trait flag = life_expectancy_3 + flag = racial_light_magic_vulnerability + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + intrigue = 2 learning = 1 prowess = 3 @@ -1055,6 +1173,9 @@ creature_sayaadi = { flag = race_trait flag = life_expectancy_4 + flag = racial_light_magic_vulnerability + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + diplomacy = 1 intrigue = 2 prowess = 2 @@ -1088,7 +1209,12 @@ creature_shivarra = { flag = race_trait flag = life_expectancy_4 + flag = racial_light_magic_vulnerability + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + diplomacy = -1 + martial = 1 intrigue = 2 health = 1 @@ -1121,9 +1247,16 @@ creature_observer = { flag = race_trait flag = life_expectancy_4 + flag = racial_light_magic_vulnerability + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = life_expectancy_0 + + diplomacy = 1 + stewardship = 1 martial = -2 intrigue = 2 learning = 3 + scheme_discovery_chance_mult = 0.2 #have the capability to see through forms of stealth and invisibility. prowess = 1 @@ -1210,6 +1343,9 @@ creature_flamewaker = { flag = elemental_class flag = race_trait + flag = racial_elemental_water_magic_vulnerability + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -1249,7 +1385,12 @@ creature_vrykul = { group = race level = 34 - + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_disorder_magic_resistance + flag = mammal_class flag = vrykul_family flag = race_trait @@ -1282,7 +1423,8 @@ creature_tuskarr = { group = race level = 35 - + monthly_elemental_water_magic_lifestyle_xp_gain_mult = 0.1 + flag = static_race flag = mammal_class flag = race_trait @@ -1347,6 +1489,12 @@ creature_furbolg = { learning = 1 #Harmony with nature stewardship = -1 + same_opinion = 15 + general_opinion = -15 + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + group = race level = 37 @@ -1396,6 +1544,8 @@ creature_gorloc = { flag = amphibious_class flag = murloc_family flag = race_trait + + flag = racial_elemental_water_magic_resistance flag = life_expectancy_0 inherit_chance = @race_inherit_chance @@ -1431,12 +1581,16 @@ creature_watcher = { flag = titanforged_class flag = race_trait + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = wc_adoption flag = can_not_get_sick flag = life_expectancy_4 life_expectancy = 10000 + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } @@ -1494,9 +1648,11 @@ creature_taunka = { stewardship = 1 learning = 1 #Bend elements to their will intrigue = -2 - - - + monthly_elemental_fire_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + same_opinion = 10 + general_opinion = -10 group = race level = 41 @@ -1534,10 +1690,15 @@ creature_kvaldir = { group = race level = 42 + flag = racial_light_magic_vulnerability + + flag = undead_class flag = vrykul_family flag = race_trait + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = life_expectancy_2 - + life_expectancy = 330 inherit_chance = @race_inherit_chance @@ -1608,6 +1769,8 @@ creature_harpy = { flag = avian_class flag = can_fly flag = race_trait + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = racial_light_magic_vulnerability flag = life_expectancy_0 inherit_chance = @race_inherit_chance @@ -1642,6 +1805,8 @@ creature_mechagnome = { flag = race_trait flag = wc_adoption flag = can_not_get_sick + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = life_expectancy_4 life_expectancy = 10000 @@ -1681,6 +1846,8 @@ creature_bronze_dragon = { flag = reptilian_class flag = dragon_family flag = race_trait + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = life_expectancy_4 life_expectancy = 10000 @@ -1716,8 +1883,9 @@ creature_giant = { flag = mammal_class flag = race_trait + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = life_expectancy_3 - + life_expectancy = 1000 inherit_chance = @race_inherit_chance @@ -1744,6 +1912,9 @@ creature_nraqi = { flag = static_race flag = mollusk_class flag = race_trait + + flag = racial_light_magic_resistance + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value diplomacy = -2 intrigue = 1 @@ -1780,6 +1951,9 @@ creature_cthraxxi = { flag = mollusk_class flag = race_trait + flag = racial_light_magic_resistance + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + diplomacy = -2 martial = 2 intrigue = -2 @@ -1822,8 +1996,13 @@ creature_night_elf = { flag = mammal_class flag = elven_family flag = race_trait - flag = life_expectancy_3 + flag = racial_shadow_magic_resistance + flag = racial_disorder_magic_resistance + flag = racial_death_magic_resistance + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = life_expectancy_3 + life_expectancy = 2000 inherit_chance = @race_inherit_chance @@ -1858,8 +2037,12 @@ creature_tauren = { flag = mammal_class flag = yaungol_family flag = race_trait - flag = life_expectancy_1 + flag = racial_elemental_earth_magic_resistance + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = life_expectancy_1 + life_expectancy = 25 inherit_chance = @race_inherit_chance @@ -1890,6 +2073,12 @@ creature_centaur = { group = race level = 52 + flag = racial_elemental_earth_magic_resistance + flag = racial_death_magic_resistance + flag = racial_disorder_magic_resistance + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + flag = static_race flag = mammal_class flag = children_of_cenarius_family @@ -1957,6 +2146,8 @@ creature_tolvir = { flag = static_race flag = mammal_class flag = race_trait + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = life_expectancy_2 life_expectancy = 330 # taking this from dwarves, another titan created race @@ -1987,6 +2178,8 @@ creature_qiraji = { flag = aqir_family flag = race_trait + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + # Managed to start 2 major wars martial = 2 stewardship = 1 @@ -2042,8 +2235,13 @@ creature_dryad = { flag = mammal_class flag = children_of_cenarius_family flag = race_trait + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_elemental_earth_magic_resistance + flag = racial_death_magic_resistance + flag = racial_disorder_magic_resistance flag = life_expectancy_4 - + life_expectancy = 25000 inherit_chance = @race_inherit_chance @@ -2080,7 +2278,12 @@ creature_frostnymph = { flag = children_of_cenarius_family flag = race_trait flag = life_expectancy_4 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_elemental_water_magic_resistance + flag = racial_death_magic_resistance + life_expectancy = 25000 inherit_chance = @race_inherit_chance @@ -2111,6 +2314,10 @@ creature_highborne = { flag = elven_family flag = race_trait flag = life_expectancy_3 + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_death_magic_resistance + flag = racial_disorder_magic_resistance life_expectancy = 1500 @@ -2150,6 +2357,8 @@ creature_infinite_dragon = { flag = dragon_family flag = race_trait flag = life_expectancy_4 + + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value life_expectancy = 10000 @@ -2255,7 +2464,8 @@ creature_protector = { flag = plant_class flag = race_trait flag = life_expectancy_3 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 6500 diplomacy = -5 @@ -2307,7 +2517,8 @@ creature_ancient_war = { flag = plant_class flag = race_trait flag = life_expectancy_3 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 6500 inherit_chance = @race_inherit_chance @@ -2346,7 +2557,8 @@ creature_ancient_lore = { flag = plant_class flag = race_trait flag = life_expectancy_3 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 6500 inherit_chance = @race_inherit_chance @@ -2386,7 +2598,9 @@ creature_ancient_wind = { flag = plant_class flag = race_trait flag = life_expectancy_3 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 6500 inherit_chance = @race_inherit_chance @@ -2453,6 +2667,8 @@ creature_mogu = { flag = race_trait flag = life_expectancy_2 + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 330 inherit_chance = @race_inherit_chance @@ -2518,6 +2734,8 @@ creature_jinyu = { flag = murloc_family flag = race_trait flag = life_expectancy_0 + + flag = racial_elemental_water_magic_resistance inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -2553,6 +2771,8 @@ creature_ankoan = { flag = murloc_family flag = race_trait flag = life_expectancy_0 + + flag = racial_elemental_water_magic_resistance inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -2614,6 +2834,8 @@ creature_mantid = { flag = race_trait flag = life_expectancy_0 # short-lived insect swarm troops + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + # Have 2nd arms that can serve as weapons, focus on becoming better and stronger, can fly diplomacy = -2 martial = 1 @@ -2715,7 +2937,12 @@ creature_nightborne = { attraction_opinion = 10 #Super hot group = race level = 74 - + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_disorder_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + flag = racial_death_magic_resistance + flag = racial_light_magic_resistance + flag = mammal_class flag = elven_family flag = race_trait @@ -2785,6 +3012,9 @@ creature_highmountain_tauren = { group = race level = 76 + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_air_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value flag = mammal_class flag = yaungol_family @@ -2861,6 +3091,10 @@ creature_faldorei = { flag = race_trait flag = life_expectancy_3 + flag = racial_disorder_magic_resistance + flag = racial_light_magic_resistance + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 1950 inherit_chance = @race_inherit_chance @@ -2906,6 +3140,9 @@ creature_sea_giant = { flag = race_trait flag = life_expectancy_3 + flag = racial_elemental_water_magic_resistance + monthly_elemental_water_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + life_expectancy = 1000 inherit_chance = @race_inherit_chance @@ -2949,6 +3186,8 @@ creature_makrura = { flag = amphibious_class flag = race_trait flag = life_expectancy_0 + + flag = racial_elemental_water_magic_resistance inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -2987,6 +3226,8 @@ creature_gilblin = { flag = amphibious_class flag = race_trait flag = life_expectancy_0 + + flag = racial_elemental_water_magic_resistance inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance @@ -3065,6 +3306,147 @@ creature_manari = { life_expectancy = 25000 + inherit_chance = @race_inherit_chance + both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance +} +# TODO: Check the balance of these racial traits +creature_banshee = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_creature_banshee_desc + } + desc = trait_creature_banshee_character_desc + } + } + shown_in_ruler_designer = no + valid_sex = female # Only for women + + diplomacy = -4 #A wailing ghost isn't good at communicating + stewardship = -2 #Too busy being miserable + intrigue = 2 #It's a ghost + prowess = 6 + health = 0.2 + + group = race + level = 84 + + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance + + flag = undead_class + flag = race_trait + flag = life_expectancy_2 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + inherit_chance = @race_inherit_chance + both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance +} +creature_ghoul = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_creature_ghoul_desc + } + desc = trait_creature_ghoul_character_desc + } + } + shown_in_ruler_designer = no + + diplomacy = -5 # Ghouls are really bad at everything except killing people + learning = -5 + martial = -5 + stewardship = -5 + intrigue = -5 + prowess = 8 + + group = race + level = 85 + + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance + + flag = undead_class + flag = race_trait + flag = life_expectancy_1 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + inherit_chance = @race_inherit_chance + both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance +} +creature_vampire = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_creature_vampire_desc + } + desc = trait_creature_vampire_character_desc + } + } + shown_in_ruler_designer = no + + diplomacy = -5 # TODO + learning = -5 + martial = -5 + stewardship = -5 + intrigue = -5 + prowess = 10 + + group = race + level = 86 + + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance + + flag = undead_class + flag = race_trait + flag = life_expectancy_3 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + + inherit_chance = @race_inherit_chance + both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance +} +creature_revenant = { + desc = { + first_valid = { + triggered_desc = { + trigger = { + NOT = { exists = this } + } + desc = trait_creature_revenant_desc + } + desc = trait_creature_revenant_character_desc + } + } + shown_in_ruler_designer = no + + diplomacy = -5 # TODO + learning = -5 + martial = -5 + stewardship = -5 + intrigue = -5 + prowess = 10 + + group = race + level = 87 + + flag = racial_light_magic_vulnerability + flag = racial_order_magic_resistance + + flag = undead_class + flag = race_trait + flag = life_expectancy_3 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_racial_xp_gain_mult_value + inherit_chance = @race_inherit_chance both_parent_has_trait_inherit_chance = @both_parent_race_inherit_chance } \ No newline at end of file diff --git a/common/traits/wc_special_traits.txt b/common/traits/wc_special_traits.txt index 4976c40856..2b88a2522f 100644 --- a/common/traits/wc_special_traits.txt +++ b/common/traits/wc_special_traits.txt @@ -34,7 +34,8 @@ } } shown_in_ruler_designer = no - + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + martial = 2 intrigue = 1 prowess = 30 @@ -97,9 +98,11 @@ aspect_of_nature = { character_travel_safety = 30 health = 2 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } aspect_of_earth = { desc = { @@ -122,8 +125,11 @@ aspect_of_earth = { health = 2 + monthly_elemental_earth_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } aspect_of_life = { desc = { @@ -146,9 +152,11 @@ aspect_of_life = { character_travel_safety = 30 health = 2 - + monthly_life_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } aspect_of_magic = { desc = { @@ -170,9 +178,11 @@ aspect_of_magic = { character_travel_safety = 30 health = 2 - + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } aspect_of_time = { desc = { @@ -194,9 +204,11 @@ aspect_of_time = { character_travel_safety = 30 health = 2 - + monthly_order_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } ### Corrupted by the Void ### aspect_of_infinity = { @@ -219,9 +231,11 @@ aspect_of_infinity = { character_travel_safety = 30 health = 3 - + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } aspect_of_death = { desc = { @@ -241,11 +255,14 @@ aspect_of_death = { martial = 5 intrigue = 2 character_travel_safety = 30 + monthly_death_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value + monthly_shadow_magic_lifestyle_xp_gain_mult = wc_magic_special2_exp_gain_mult_value health = 3 flag = can_not_get_sick flag = no_aging_penalties + flag = magical_prowess_powerful_being } cannot_mary_historical = { diff --git a/common/trigger_localization/wc_character_triggers.txt b/common/trigger_localization/wc_character_triggers.txt index 1deb0ff2fc..6e6320ddff 100644 --- a/common/trigger_localization/wc_character_triggers.txt +++ b/common/trigger_localization/wc_character_triggers.txt @@ -111,4 +111,22 @@ self_or_liege_is_of_forsaken_like_culture = { global_not = self_or_liege_is_of_forsaken_like_culture_global_not third = self_or_liege_is_of_forsaken_like_culture_third third_not = self_or_liege_is_of_forsaken_like_culture_third_not +} + +is_in_the_same_court_as = { + global = IS_IN_SAME_COURT_AS + third = CHARACTER_IS_IN_SAME_COURT_AS + first = I_AM_IN_SAME_COURT_AS + global_not = IS_NOT_IN_SAME_COURT_AS + third_not = CHARACTER_IS_NOT_IN_SAME_COURT_AS + first_not = I_AM_NOT_IN_SAME_COURT_AS +} + +is_in_the_same_court_as_or_guest = { + global = IS_IN_SAME_COURT_AS_OR_GUEST + third = CHARACTER_IS_IN_SAME_COURT_AS_OR_GUEST + first = I_AM_IN_SAME_COURT_AS_OR_GUEST + global_not = IS_NOT_IN_SAME_COURT_AS_OR_GUEST + third_not = CHARACTER_IS_NOT_IN_SAME_COURT_AS_OR_GUEST + first_not = I_AM_NOT_IN_SAME_COURT_AS_OR_GUEST } \ No newline at end of file diff --git a/common/trigger_localization/wc_magic_triggers.txt b/common/trigger_localization/wc_magic_triggers.txt new file mode 100644 index 0000000000..acda8c574b --- /dev/null +++ b/common/trigger_localization/wc_magic_triggers.txt @@ -0,0 +1,258 @@ +wc_has_value_mana_trigger = { + global = WC_HAS_VALUE_MANA_TRIGGER_GLOBAL + global_not = WC_HAS_VALUE_MANA_TRIGGER_GLOBAL_NOT + + first = WC_HAS_VALUE_MANA_TRIGGER_FIRST + first_not = WC_HAS_VALUE_MANA_TRIGGER_FIRST_NOT + + third = WC_HAS_VALUE_MANA_TRIGGER_THIRD + third_not = WC_HAS_VALUE_MANA_TRIGGER_THIRD_NOT +} + +wc_has_value_monthly_mana_trigger = { + global = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_GLOBAL + global_not = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_GLOBAL_NOT + + first = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_FIRST + first_not = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_FIRST_NOT + + third = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_THIRD + third_not = WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_THIRD_NOT +} + +is_known_spell_trigger = { + global_not = WC_SPELL_KNOWN_TRIGGER_GLOBAL_NOT + first_not = WC_SPELL_KNOWN_TRIGGER_FIRST_NOT + third_not = WC_SPELL_KNOWN_TRIGGER_THIRD_NOT +} + +spell_on_cooldown_trigger = { + global = WC_SPELL_ON_CD_TRIGGER_GLOBAL + first = WC_SPELL_ON_CD_TRIGGER_FIRST + third = WC_SPELL_ON_CD_TRIGGER_THIRD +} + +ritual_on_cooldown_trigger = { + global = WC_RITUAL_ON_CD_TRIGGER_GLOBAL + first = WC_RITUAL_ON_CD_TRIGGER_FIRST + third = WC_RITUAL_ON_CD_TRIGGER_THIRD +} + +is_casting_spell_trigger = { + global = WC_SPELL_IS_CASTING_TRIGGER_GLOBAL + first = WC_SPELL_IS_CASTING_TRIGGER_FIRST + third = WC_SPELL_IS_CASTING_TRIGGER_THIRD +} + +has_sufficient_mana_trigger = { + global_not = WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_GLOBAL_NOT + first_not = WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_FIRST_NOT + third_not = WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_THIRD_NOT +} + +target_has_max_stacks_trigger = { + global = WC_SPELL_TARGET_MAX_STACKS_TRIGGER_GLOBAL + first = WC_SPELL_TARGET_MAX_STACKS_TRIGGER_FIRST + third = WC_SPELL_TARGET_MAX_STACKS_TRIGGER_THIRD +} + +can_cast_another_spell_trigger = { + global_not = WC_SPELL_MAX_CASTING_GLOBAL_TRIGGER_NOT + first_not = WC_SPELL_MAX_CASTING_FIRST_TRIGGER_NOT + third_not = WC_SPELL_MAX_CASTING_THIRD_NOT +} + +has_spell_selected_trigger = { + global_not = WC_NO_SPELL_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_SELECTED_TRIGGER_THIRD_NOT +} + +has_spell_selected_targets_trigger = { + global_not = WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_THIRD_NOT +} + +has_selected_spell_rank_trigger = { + global_not = WC_NO_SPELL_RANKS_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_RANKS_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_RANKS_SELECTED_TRIGGER_THIRD_NOT +} + +has_selected_elemental_type_trigger = { + global_not = WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_THIRD_NOT +} + +has_max_targets_trigger = { + global = WC_MAX_TARGETS_TRIGGER_GLOBAL + first = WC_MAX_TARGETS_TRIGGER_FIRST + third = WC_MAX_TARGETS_TRIGGER_THIRD +} + +has_spell_target_selected_trigger = { + global_not = WC_NO_SPELL_TARGET_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_TARGET_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_TARGET_SELECTED_TRIGGER_THIRD_NOT +} + +invalid_target_trigger = { + global_not = WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_GLOBAL_NOT + first_not = WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_FIRST_NOT + third_not = WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_THIRD_NOT +} + +only_target_self_trigger = { + first_not = WC_ONLY_TARGET_SELF_FIRST_NOT +} + +spell_cant_be_hacked_trigger = { + first = WC_CANT_HACK_SPELL +} + +target_has_magic_illness_trigger = { + first_not = WC_TARGET_HAS_MAGIC_ILLNESS_TRIGGER_GLOBAL_NOT +} + +target_has_illness_trigger = { + first_not = WC_TARGET_HAS_ILLNESS_TRIGGER_GLOBAL_NOT +} + +target_has_injury_trigger = { + first_not = WC_TARGET_HAS_INJURY_TRIGGER_GLOBAL_NOT +} + +target_has_major_injury_trigger = { + first_not = WC_TARGET_HAS_MAJOR_INJURY_TRIGGER_GLOBAL_NOT +} + +target_has_magic_injury_trigger = { + first_not = WC_TARGET_HAS_MAGIC_INJURY_TRIGGER_GLOBAL_NOT +} + +target_has_valid_debuff_trigger = { + first_not = WC_TARGET_HAS_VALID_DEBUFF_TRIGGER_GLOBAL_NOT +} + +has_any_secrets_trigger = { + first_not = WC_HAS_ANY_SECRETS_TRIGGER_GLOBAL_NOT +} + +target_has_psych_illness_trigger = { + first_not = WC_TARGET_HAS_PSYCH_ILLNESS_TRIGGER_GLOBAL_NOT +} + +spell_is_ritual_trigger = { + first = WC_SPELL_IS_RITUAL + first_not = WC_SPELL_IS_NOT_RITUAL +} + +cant_cancel_ritual_trigger = { + first_not = WC_CANT_CANCEL_RITUAL_NOT +} + +target_is_not_disease_immune_trigger = { + first_not = WC_TARGET_IS_NOT_DISEASE_IMMUNE_TRIGGER_GLOBAL_NOT +} + +target_has_hook_or_secret_trigger = { + first_not = WC_TARGET_HAS_HOOK_OR_SECRET_TRIGGER_GLOBAL_NOT +} + +is_life_magic_user_trigger = { + first = WC_IS_LIFE_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_LIFE_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_LIFE_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_LIFE_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_LIFE_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_LIFE_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_death_magic_user_trigger = { + first = WC_IS_DEATH_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_DEATH_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_DEATH_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_DEATH_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_DEATH_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_DEATH_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_order_magic_user_trigger = { + first = WC_IS_ORDER_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_ORDER_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_ORDER_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_ORDER_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_ORDER_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_ORDER_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_disorder_magic_user_trigger = { + first = WC_IS_DISORDER_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_DISORDER_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_DISORDER_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_DISORDER_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_DISORDER_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_DISORDER_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_light_magic_user_trigger = { + first = WC_IS_LIGHT_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_LIGHT_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_LIGHT_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_LIGHT_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_LIGHT_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_LIGHT_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_shadow_magic_user_trigger = { + first = WC_IS_SHADOW_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_SHADOW_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_SHADOW_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_SHADOW_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_SHADOW_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_SHADOW_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_elemental_fire_magic_user_trigger = { + first = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_elemental_air_magic_user_trigger = { + first = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_elemental_water_magic_user_trigger = { + first = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +is_elemental_earth_magic_user_trigger = { + first = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_FIRST + first_not = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_FIRST_NOT + third = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_THIRD + third_not = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_THIRD_NOT + global = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_GLOBAL + global_not = WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_GLOBAL_NOT +} + +already_channeling_spell_trigger = { + first = WC_ALREADY_CHANNELING_SPELL_FIRST + third = WC_ALREADY_CHANNELING_SPELL_THIRD + global = WC_ALREADY_CHANNELING_SPELL_GLOBAL +} \ No newline at end of file diff --git a/credits.info b/credits.info index 49d86f7741..311df0a1cc 100644 --- a/credits.info +++ b/credits.info @@ -9,3 +9,7 @@ https://www.deviantart.com/chillalord/art/Frostmourne-336402574 # Names by https://www.fantasynamegenerators.com/ + +# ModCoop members who helped us +mrtats#4720 +Tobbzn#0450 \ No newline at end of file diff --git a/data_binding/wc_macros.txt b/data_binding/wc_macros.txt new file mode 100644 index 0000000000..a624eb1af2 --- /dev/null +++ b/data_binding/wc_macros.txt @@ -0,0 +1,20 @@ +macro = { + description = "Execute an SGui for the current player" + definition = "PlayerGuiExecute(Text)" + replace_with = "GetScriptedGui(Text).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )" +} +macro = { + description = "Is Valid SGui for the current player" + definition = "PlayerGuiValid(Text)" + replace_with = "GetScriptedGui(Text).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End )" +} +macro = { + description = "Gets Variable for player" + definition = "PlayerGetVar(Variable)" + replace_with = "GetPlayer.MakeScope.Var(Variable)" +} +macro = { + description = "Does the player have this var" + definition = "PlayerHasVar(Variable)" + replace_with = "GetPlayer.MakeScope.Var(Variable).IsSet" +} \ No newline at end of file diff --git a/events/activities/feast_activity/feast_events.txt b/events/activities/feast_activity/feast_events.txt new file mode 100644 index 0000000000..e6df02e455 --- /dev/null +++ b/events/activities/feast_activity/feast_events.txt @@ -0,0 +1,2570 @@ +# Events for handling the Feast activity +# Main events are handled in separate event files + + +namespace = feast + + +# 0000-0999: Maintenance and selection events +# 0100-0199: Special Main Event selection +# 1000-1999: Host preparation events +# 2000-2999: Guest preparation events +# 3000-3999: Host regular start events +# 4000-4999: Host special start events +# 5000-5999: Guest regular start events +# 6000-6999: Guest special start events + + +# MAINTENANCE EVENTS +# 0000 - 0999 + + +feast.0001 = { + hidden = yes + # Deprecated, here for reference + orphan = yes + + immediate = { + #Look for various conditions for host events to address: + + # Look for a target you're trying to befriend + if = { + limit = { + any_scheme = { + scheme_type = befriend + scheme_target_character = { + exists = involved_activity + involved_activity = scope:activity + } + } + } + random_scheme = { + limit = { + scheme_type = befriend + scheme_target_character = { + exists = involved_activity + involved_activity = scope:activity + } + } + scheme_target_character = { + scope:activity = { + set_variable = { + name = potential_friend + value = prev + } + } + } + scheme_freeze = { + reason = "BEFRIENDING_AT_FEAST" + days = 10 + } + } + } + + #Give all participants start feast events + scope:activity = { + every_attending_character = { + if = { #You're busy at another party! (invites were sent the same day, but you agreed to another party after this one ) + limit = { + exists = var:booked_for_a_party + var:booked_for_a_party = { NOT = { this = scope:activity.activity_host } } + } + trigger_event = feast.0010 + } + else = { + trigger_event = { + on_action = feast_start_events + } + } + } + } + } +} + +##################### +# Double booked - cancellation event +# by Linnéa Thimrén +##################### +feast.0010 = { + type = letter_event + opening = { + desc = feast.1501.opening + } + desc = feast.0010.desc + sender = scope:activity.activity_host + + immediate = { + var:booked_for_a_party = { + save_scope_as = other_host + } + decline_activity_invite = scope:activity + scope:activity.activity_host = { + add_opinion = { + target = root + modifier = insult_opinion + opinion = -10 + } + } + } + + option = { + name = feast.0010.a + + } +} + +####################### +# Reveler trait gain +# by Joe Parkin +####################### + +feast.0050 = { + type = activity_event + title = feast.0050.t + desc = feast.0050.desc + theme = feast_activity + override_background = { reference = feast } + left_portrait = { + character = root + animation = toast_goblet + } + cooldown = { years = 15 } + + option = { # Yes + name = feast.0050.a + add_trait = lifestyle_reveler + if = { + limit = { + culture = { has_cultural_parameter = reveler_traits_more_valued } + } + add_prestige = miniscule_prestige_gain + } + stress_impact = { + shy = minor_stress_impact_gain + reclusive = medium_stress_impact_gain + } + ai_chance = { + base = 25 + modifier = { + culture = { has_cultural_parameter = reveler_traits_more_valued } + factor = 2 + } + modifier = { + has_trait = education_diplomacy + factor = 2 + } + modifier = { + trigger_if = { + limit = { + is_ai = yes + is_vassal_of = scope:host + } + has_vassal_stance = courtly + } + factor = 2 + } + ai_value_modifier = { + ai_energy = 0.5 + ai_boldness = 0.5 + ai_sociability = 0.5 + ai_zeal = -1 + } + } + } + + option = { # No + name = feast.0050.b + stress_impact = { + gregarious = minor_stress_impact_gain + drunkard = medium_stress_impact_gain + hashishiyah = medium_stress_impact_gain + } + ai_chance = { + base = 25 + modifier = { + is_clergy = yes + factor = 2 + } + modifier = { + trigger_if = { + limit = { + is_ai = yes + is_vassal_of = scope:host + } + has_vassal_stance = courtly + } + factor = 2 + } + ai_value_modifier = { + ai_energy = -0.5 + ai_boldness = -0.5 + ai_sociability = -0.5 + ai_zeal = 1 + } + } + } +} + +###################### +# INVITATION EVENTS +# 1500 - 1999 +# by Petter Vilberg +###################### + +#Vassals +feast.1501 = { + type = letter_event + opening = { + desc = feast.1501.opening + } + desc = { + desc = feast.1501.opening_desc + first_valid = { + triggered_desc = { + trigger = { + reverse_opinion = { + target = scope:sender + value > 50 + } + } + desc = feast.1501.host_likes_me + } + triggered_desc = { + trigger = { + reverse_opinion = { + target = scope:sender + value > -1 + } + } + desc = feast.1501.host_gets_along_with_me + } + desc = feast.1501.host_dislikes_me + } + } + sender = scope:sender + + trigger = { + is_available_for_activity_trigger = yes + exists = scope:activity.activity_host + target_is_liege_or_above = scope:activity.activity_host + NOT = { exists = var:is_handling_feast_invitation } + } + + on_trigger_fail = { #Trigger invitation again if it was blocked because the character was handling another invitation + if = { + limit = { + is_available_for_activity_trigger = yes + exists = var:is_handling_feast_invitation + } + trigger_event = { + id = feast.1501 + days = 1 + } + } + } + + immediate = { + scope:activity.activity_host = { + save_scope_as = sender + } + scope:activity.activity_location = { + barony = { + save_scope_as = barony + } + } + set_variable = { + name = is_handling_feast_invitation + value = scope:sender + days = 20 + } + } + + option = { + name = feast.1501.a + trigger = { + opinion = { + target = liege + value >= 0 + } + } + play_music_cue = mx_cue_banquet + accept_activity_invite = scope:activity + set_variable = { + name = booked_for_a_party + value = scope:sender + days = 20 + } + stress_impact = { + comfort_eater = minor_stress_loss + drunkard = minor_stress_loss + } + ai_chance = { + base = 100 + opinion_modifier = { + opinion_target = scope:sender + } + } + } + + option = { + name = feast.1501.b + trigger = { + opinion = { + target = liege + value < 0 + } + } + play_music_cue = mx_cue_banquet + accept_activity_invite = scope:activity + set_variable = { + name = booked_for_a_party + value = scope:sender + days = 20 + } + stress_impact = { + comfort_eater = minor_stress_loss + drunkard = minor_stress_loss + } + ai_chance = { + base = 100 + opinion_modifier = { + opinion_target = scope:sender + } + } + } + + option = { + name = feast.1501.c + trigger = { + opinion = { + target = liege + value > -1 + } + } + decline_activity_invite = scope:activity + stress_impact = { + inappetetic = minor_stress_loss + reclusive = minor_stress_loss + } + if = { + limit = { + faith = { + has_doctrine_parameter = mandatory_feast_attendance + } + } + add_piety = medium_piety_loss + } + ai_chance = { + base = 10 + ai_value_modifier = { + ai_boldness = 0.2 + } + modifier = { + add = -50 + faith = { + has_doctrine_parameter = mandatory_feast_attendance + } + } + } + } + + option = { + name = feast.1501.d + trigger = { + opinion = { + target = liege + value < 0 + } + } + decline_activity_invite = scope:activity + stress_impact = { + inappetetic = minor_stress_loss + reclusive = minor_stress_loss + } + if = { + limit = { + faith = { + has_doctrine_parameter = mandatory_feast_attendance + } + } + add_piety = medium_piety_loss + } + ai_chance = { + base = 10 + ai_value_modifier = { + ai_boldness = 0.2 + ai_vengefulness = 0.5 + } + modifier = { + add = -50 + faith = { + has_doctrine_parameter = mandatory_feast_attendance + } + } + } + } + + after = { + remove_variable = is_handling_feast_invitation + } +} + + +#Liege +feast.1502 = { + type = letter_event + opening = { + desc = feast.1501.opening + } + desc = feast.1502.desc + sender = scope:sender + + trigger = { + is_available_for_activity_trigger = yes + NOT = { exists = var:is_handling_feast_invitation } + exists = scope:activity.activity_host #In case the activity owner dies waiting... + } + + on_trigger_fail = { #Trigger invitation again if it was blocked because the character was handling another invitation + if = { + limit = { + is_available_for_activity_trigger = yes + exists = var:is_handling_feast_invitation + } + trigger_event = { + id = feast.1502 + days = 1 + } + } + } + + immediate = { + scope:activity.activity_host = { + save_scope_as = sender + } + scope:activity.activity_location = { + barony = { + save_scope_as = barony + } + } + set_variable = { + name = is_handling_feast_invitation + value = scope:sender + days = 20 + } + } + + option = { + name = feast.1502.a + play_music_cue = mx_cue_banquet + accept_activity_invite = scope:activity + set_variable = { + name = booked_for_a_party + value = scope:sender + days = 20 + } + stress_impact = { + comfort_eater = minor_stress_loss + drunkard = minor_stress_loss + } + ai_chance = { + base = 100 + opinion_modifier = { + opinion_target = scope:sender + } + } + } + + option = { + name = feast.1502.b + ai_chance = { + base = 10 + modifier = { + add = 15 + target_is_liege_or_above = scope:sender + } + ai_value_modifier = { + ai_boldness = 0.2 + } + } + decline_activity_invite = scope:activity + stress_impact = { + inappetetic = minor_stress_loss + reclusive = minor_stress_loss + } + } + + after = { + remove_variable = is_handling_feast_invitation + } +} + + +#Other relations +feast.1503 = { + type = letter_event + opening = { + desc = feast.1501.opening + } + desc = feast.1503.desc + sender = scope:sender + + trigger = { + is_available_for_activity_trigger = yes + NOT = { exists = var:is_handling_feast_invitation } + } + + on_trigger_fail = { #Trigger invitation again if it was blocked because the character was handling another invitation + if = { + limit = { + is_available_for_activity_trigger = yes + exists = var:is_handling_feast_invitation + } + trigger_event = { + id = feast.1503 + days = 1 + } + } + } + + immediate = { + scope:activity.activity_host = { + save_scope_as = sender + } + scope:activity.activity_location = { + barony = { + save_scope_as = barony + } + } + set_variable = { + name = is_handling_feast_invitation + value = scope:sender + days = 20 + } + } + + option = { + name = feast.1503.a + play_music_cue = mx_cue_banquet + accept_activity_invite = scope:activity + set_variable = { + name = booked_for_a_party + value = scope:sender + days = 20 + } + stress_impact = { + comfort_eater = minor_stress_loss + drunkard = minor_stress_loss + } + ai_chance = { + base = 100 + opinion_modifier = { + opinion_target = scope:sender + } + } + } + + option = { + name = feast.1503.b + decline_activity_invite = scope:activity + stress_impact = { + inappetetic = minor_stress_loss + reclusive = minor_stress_loss + } + ai_chance = { + base = 10 + modifier = { + add = 15 + scope:sender = { + target_is_liege_or_above = scope:sender + } + } + ai_value_modifier = { + ai_boldness = 0.2 + } + } + } + + after = { + remove_variable = is_handling_feast_invitation + } +} + + +################# +# START EVENTS FOR HOST +# 2000 - 2499 +################# + +# HOST: Time to start the feast! +# Generic start event. +# by Petter Vilberg and Linnéa Thimrén & Veronica Pazos +###### +feast.2001 = { + type = activity_event + title = { + first_valid = { + triggered_desc = { + trigger = { + is_murder_feast = yes + } + desc = feast.2001.t_murder + } + desc = feast.2001.t + } + } + desc = { + first_valid = { + triggered_desc = { + trigger = { + is_murder_feast = yes + } + desc = feast.2001.desc_murder_feast + } + random_valid = { + triggered_desc = { + trigger = { + is_murder_feast = no + OR = { + has_trait = comfort_eater + has_trait = drunkard + has_trait = lifestyle_reveler + has_trait = gregarious + has_education_diplomacy_trigger = yes + } + } + desc = feast.2001.desc_gregarious + } + triggered_desc = { + trigger = { + is_murder_feast = no + OR = { + has_trait = shy + has_trait = reclusive + has_trait = paranoid + has_trait = craven + } + } + desc = feast.2001.desc_shy + } + triggered_desc = { + trigger = { + is_murder_feast = no + OR = { + has_trait = ambitious + has_trait = arrogant + has_trait = deceitful + has_trait = cynical + has_education_intrigue_trigger = yes + } + } + desc = feast.2001.desc_ambitious + } + triggered_desc = { + trigger = { + is_murder_feast = no + OR = { + has_trait = scholar + has_trait = theologian + has_education_learning_trigger = yes + } + } + desc = feast.2001.desc_nerd + } + triggered_desc = { + trigger = { + is_murder_feast = no + OR = { + has_trait = brave + has_trait = impatient + has_trait = wrathful + has_education_martial_trigger = yes + } + } + desc = feast.2001.desc_martial + } + triggered_desc = { + trigger = { + is_murder_feast = no + has_lustful_adjacent_trait_trigger = yes + } + desc = feast.2001.desc_lustful + } + desc = feast.2001.desc_fallback + } + } + } + theme = feast_activity + left_portrait = { + character = root + triggered_animation = { + trigger = { is_murder_feast = yes } + animation = scheme + } + animation = toast_goblet + } + center_portrait = { + trigger = { exists = scope:honorary_guest } + character = scope:honorary_guest + animation = personality_honorable + } + right_portrait = { + trigger = { + exists = scope:my_spouse + } + character = scope:my_spouse + animation = ecstasy + } + + trigger = { + this = scope:activity.activity_host + } + + immediate = { + play_music_cue = grandfeast_cue + if = { + limit = { + scope:activity = { + any_attending_character = { + is_spouse_of = root + is_healthy = yes + } + } + } + scope:activity = { + random_attending_character = { + limit = { + is_spouse_of = root + is_healthy = yes + } + save_scope_as = my_spouse + } + } + } + if = { + limit = { + is_murder_feast = yes + exists = scope:activity.special_guest:honorary_guest + } + scope:activity.special_guest:honorary_guest = { save_scope_as = honorary_guest } + } + else_if = { + limit = { exists = scope:activity.special_guest:honorary_guest_regular } + scope:activity.special_guest:honorary_guest_regular = { save_scope_as = honorary_guest } + } + if = { + limit = { #The murder feast will only happen for players + is_ai = no + NOT = { #Blocked (for now) if any participant is a player + scope:activity = { + any_attending_character = { + NOT = { this = root } + is_ai = no + } + } + } + } + if = { + limit = { + any_scheme = { + scheme_type = murder + scheme_target_character = { + is_ai = yes + is_participant_in_activity = scope:activity + } + } + } + every_scheme = { + limit = { + scheme_type = murder + scheme_target_character = { + is_ai = yes + is_participant_in_activity = scope:activity + } + } + scheme_target_character = { + add_to_list = murder_feast_enemies + } + } + } + if = { + limit = { + any_relation = { + type = rival + is_ai = yes + is_participant_in_activity = scope:activity + } + } + every_relation = { + type = rival + limit = { + is_ai = yes + is_participant_in_activity = scope:activity + } + add_to_list = murder_feast_enemies + } + } + } + } + + option = { + name = feast.2001.a + trigger ={ + is_murder_feast = no + } + exclusive = yes + custom_tooltip = feast.2001.a.tt + } + + option = { #Murder everyone + name = feast.2001.b + trigger = { + is_murder_feast = yes + } + custom_tooltip = feast.2001.a.tt + set_variable = murder_feast_entourage_murder_var + + ai_chance = { + base = 50 + modifier = { + OR = { + has_trait = compassionate + has_trait = forgiving + has_trait = just + has_trait = calm + } + add = -50 + } + modifier = { + OR = { + has_trait = sadistic + has_trait = callous + has_trait = torturer + has_trait = wrathful + has_trait = vengeful + } + add = 75 + } + } + } + + option = { #Murder ONLY your target + name = feast.2001.c + trigger = { + is_murder_feast = yes + } + set_variable = { + name = murder_feast + value = 0 + } + custom_tooltip = feast.2001.a.tt + set_variable = murder_feast_target_murder_var + + ai_chance = { + base = 100 + modifier = { + OR = { + has_trait = sadistic + has_trait = callous + has_trait = torturer + has_trait = wrathful + has_trait = vengeful + } + add = -50 + } + } + } + + option = { #Murder your target - sneakily + name = feast.2001.d + trigger = { + is_murder_feast = yes + scope:honorary_guest = { is_ai = yes } #too complicated to have it open + } + set_variable = murder_feast_target_sneak_murder_var + custom_tooltip = feast.2001.d.tt + + ai_chance = { + base = 100 + modifier = { + OR = { + has_trait = vengeful + has_trait = wrathful + has_trait = sadistic + has_trait = callous + has_trait = torturer + } + add = -50 + } + modifier = { + OR = { + has_trait = paranoid + has_trait = deceitful + has_trait = craven + } + add = 75 + } + } + } + + option = { #Back down + name = feast.2001.e + custom_tooltip = feast.2001.e.tt + set_variable = murder_feast_murder_back_down + + ai_chance = { + base = 0 #AI would never back down when going this far + modifier = { + OR = { + has_trait = compassionate + has_trait = forgiving + has_trait = just + has_trait = calm + } + add = 100 + } + } + } +} + + +# HOST: No guests showed up +# You're so alone. +# by Petter Vilberg +### +feast.2003 = { + type = character_event + title = feast.2003.t + desc = feast.2003.desc + theme = feast_activity + left_portrait = { + character = root + animation = sadness + } + + option = { + name = feast.2003.a + stress_impact = { + base = minor_stress_impact_gain + gregarious = minor_stress_impact_gain + } + } + + option = { + name = feast.2003.b + trigger = { + has_trait = shy + } + exclusive = yes + trait = shy + stress_impact = { + base = minor_stress_impact_loss + } + } +} + + +#################### +# START EVENTS FOR GUESTS +# 2500 - 2999 +#################### + +# GUESTS: TIME TO START THE FEAST! +# Generic start event +# by Petter Vilberg +### +feast.2501 = { + type = activity_event + title = feast.2501.t + desc = { + first_valid = { + triggered_desc = { + trigger = { + OR = { + has_relation_rival = scope:activity.activity_host + } + reverse_opinion = { + target = scope:activity.activity_host + value < -40 + } + } + desc = feast.2501.dislikes_host + } + desc = feast.2501.likes_host + } + } + theme = feast_activity + left_portrait = { + character = root + animation = admiration + } + right_portrait = { + trigger = { + NOT = { root = scope:host } + } + character = scope:activity.activity_host + animation = happiness + } + + trigger = { + # Guests only. + NOT = { this = scope:activity.activity_host } + } + + immediate = { + play_music_cue = mx_cue_banquet + } + + option = { + name = { + trigger = { has_trait = gluttonous } + text = feast.2501.a.gluttonous + } + name = { + trigger = { has_trait = drunkard } + text = feast.2501.a.drunkard + } + name = { + trigger = { has_trait = gregarious } + text = feast.2501.a.gregarious + } + name = { + trigger = { has_trait = shy } + text = feast.2501.a.shy + } + name = { + text = feast.2501.a + } + } + + option = { + trigger = { + opinion = { + target = scope:activity.activity_host + value < 0 + } + } + exclusive = yes + name = feast.2501.b + } +} + + +#################################### +# FEAST INTERRUPTION NOTIFICATIONS +# 5000-5999 +#################################### + +#The host has died during the feast - event for guests +# by Linnéa Thimrén +feast.5003 = { + type = character_event + title = feast.5003.t + desc = feast.3601.desc + theme = feast_activity + override_icon = { + reference = "gfx/interface/icons/event_types/type_illness.dds" + } + left_portrait = { + character = scope:host + } + + option = { + name = feast.3601.a + custom_tooltip = feast.3601.a.tt + } +} + + +#The host has been imprisoned - for host +# by Linnéa Thimrén +feast.5004 = { + type = character_event + title = feast.5003.t + desc = feast.5004.desc + theme = feast_activity + override_icon = { + reference = "gfx/interface/icons/event_types/type_prison.dds" + } + left_portrait = { + character = scope:host + animation = prison_dungeon + } + + immediate = { + hosted_successful_feast_interrupted_effect = yes + } + + option = { + name = feast.5002.a + } + + after = { + if = { + limit = { + has_character_flag = murdered_someone_during_feast + } + remove_character_flag = murdered_someone_during_feast + } + } +} + +#The host has been imprisoned - for guests +# by Linnéa Thimrén +feast.5005 = { + type = character_event + title = feast.5003.t + desc = feast.5005.desc + theme = feast_activity + override_icon = { + reference = "gfx/interface/icons/event_types/type_prison.dds" + } + left_portrait = { + character = scope:host + animation = prison_dungeon + } + + option = { + name = feast.5002.a + } +} + + + +################################################## +# REWORKED FEAST CONTENT +# Veronica Pazos + +# Enter passive state - you arrived + +feast.7002 = { + type = activity_event + title = feast.7002.t + desc = { + desc = feast.7002.desc_intro + first_valid = { + triggered_desc = { + trigger = { + NOT = { this = scope:host } + OR = { + has_relation_rival = scope:activity.activity_host + reverse_opinion = { + target = scope:activity.activity_host + value < 0 + } + } + } + desc = feast.7002.dislikes_host + } + triggered_desc = { + trigger = { + NOT = { this = scope:host } + OR = { + has_relation_rival = scope:activity.activity_host + reverse_opinion = { + target = scope:activity.activity_host + value >= 40 + } + } + } + desc = feast.7002.likes_host + } + desc = feast.7002.neutral + } + first_valid = { + triggered_desc = { + trigger = { + intent_target.location ?= root.location + } + desc = feast.7002.intent_arrived + } + triggered_desc = { + trigger = { exists = intent_target } + desc = feast.7002.intent + } + } + } + theme = feast_activity + left_portrait = { + character = root + triggered_animation = { + trigger = { + NOT = { this = scope:host } + opinion = { + target = scope:activity.activity_host + value < 0 + } + } + animation = boredom + } + animation = happiness + } + center_portrait = { + trigger = { NOT = { root = scope:host } } + character = scope:host + animation = toast_goblet + } + right_portrait = { + character = scope:center_portrait + animation = drink_goblet + } + cooldown = { years = 1 } + + immediate = { + play_music_cue = mx_cue_banquet + if = { + limit = { + exists = involved_activity.special_guest:honorary_guest + NOT = { this = involved_activity.special_guest:honorary_guest } + } + involved_activity.special_guest:honorary_guest = { save_scope_as = center_portrait } + } + else_if = { + limit = { + exists = involved_activity.special_guest:honorary_guest_regular + NOT = { this = involved_activity.special_guest:honorary_guest_regular } + } + involved_activity.special_guest:honorary_guest_regular = { save_scope_as = center_portrait } + } + else_if = { + limit = { + involved_activity = { + any_attending_character = { + is_adult = yes + NOR = { + this = root + this = scope:host + } + is_travelling = no + } + } + } + involved_activity = { + random_attending_character = { + limit = { + is_adult = yes + NOR = { + this = root + this = scope:host + } + is_travelling = no + } + save_scope_as = center_portrait + } + } + } + } + + option = { + name = { + trigger = { + opinion = { + target = scope:activity.activity_host + value < 0 + } + } + text = feast.7002.a.bad + } + name = { + trigger = { + opinion = { + target = scope:activity.activity_host + value >= 0 + } + } + text = feast.7002.a.good + } + add_prestige = miniscule_prestige_gain + } +} + +# Guest introduction. +feast.7051 = { + type = activity_event + title = feast.2501.t + desc = { + first_valid = { + triggered_desc = { + trigger = { + OR = { + has_relation_rival = scope:activity.activity_host + reverse_opinion = { + target = scope:activity.activity_host + value < -40 + } + } + } + desc = feast.2501.dislikes_host + } + desc = feast.2501.likes_host + } + } + theme = feast_activity + left_portrait = { + character = scope:activity.activity_host + animation = flirtation + } + center_portrait = { + character = scope:center_portrait + animation = toast_goblet + } + right_portrait = { + trigger = { + NOT = { root = scope:center_portrait } + } + character = root + animation = happiness + } + + immediate = { + play_music_cue = mx_cue_banquet + if = { + limit = { + exists = involved_activity.special_guest:honorary_guest + } + involved_activity.special_guest:honorary_guest = { save_scope_as = center_portrait } + } + else_if = { + limit = { + exists = involved_activity.special_guest:honorary_guest_regular + } + involved_activity.special_guest:honorary_guest_regular = { save_scope_as = center_portrait } + } + else = { + involved_activity = { + random_attending_character = { + limit = { + is_adult = yes + NOT = { + this = root + } + NOT = { + this = scope:host + } + } + save_scope_as = center_portrait + } + } + } + } + + option = { + name = { + trigger = { + opinion = { + target = scope:activity.activity_host + value < 0 + } + } + text = feast.2501.b + } + name = { + trigger = { has_trait = gluttonous } + text = feast.2501.a.gluttonous + } + name = { + trigger = { has_trait = drunkard } + text = feast.2501.a.drunkard + } + name = { + trigger = { has_trait = gregarious } + text = feast.2501.a.gregarious + } + name = { + trigger = { has_trait = shy } + text = feast.2501.a.shy + } + name = { text = feast.2501.a } + custom_tooltip = feast.2001.a.tt + } +} + +# Host ending event +feast.7101 = { + type = activity_event + title = feast.7101.t + desc = { + desc = feast.7101.desc + first_valid = { #extra flavour + triggered_desc = { + trigger = { + scope:activity = { + has_activity_option = { + category = feast_option_food + option = feast_food_good + } + } + } + desc = feast_default.9001.desc_exotic + } + triggered_desc = { + trigger = { + scope:activity = { + has_activity_option = { + category = feast_option_food + option = feast_food_normal + } + } + } + desc = feast_default.9001.desc_lavish + } + triggered_desc = { + trigger = { + scope:activity = { + has_activity_option = { + category = feast_option_food + option = feast_food_bad + } + } + } + desc = feast_default.9001.desc_meager + } + desc = feast_default.9001.desc + } + first_valid = { + triggered_desc = { + trigger = { exists = scope:spouse } + desc = feast_default.9001.spouse + } + desc = feast_default.9001.no_spouse + } + } + theme = feast_activity + center_portrait = { + character = root + animation = happiness + } + right_portrait = { + trigger = { exists = scope:activity.special_guest:honorary_guest } + character = scope:honorary_guest + animation = personality_honorable + } + + immediate = { + save_scope_as = root_scope + play_music_cue = grandfeast_cue + if = { + limit = { + NOT = { exists = scope:spouse } + is_married = yes + } + random_spouse = { + limit = { + is_available = yes + this = root.primary_spouse + } + alternative_limit = { + is_available = yes + } + save_scope_as = spouse + } + } + } + + # Nice + option = { + name = feast.7101.a + hidden_effect = { + reveler_lifestyle_rank_up_check_effect = yes + } + show_as_tooltip = { #we give these out in the on_complete of the activity + disburse_feast_activity_rewards = yes #includes magnificence and stress loss rewards + } + } +} + +# Murder Feast host ending event +# by Veronica Pazos + +feast.7110 = { + type = activity_event + title = feast.7110.t + desc = { + first_valid = { + triggered_desc = { + trigger = { #entourage + has_variable = murder_feast_entourage_murder_var + } + desc = feast.7110.desc.entourage + } + triggered_desc = { #only target + trigger = { + has_variable = murder_feast_target_murder_var + } + desc = feast.7110.desc.target + } + triggered_desc = { #poison + trigger = { + has_variable = murder_feast_target_sneak_murder_var + } + desc = feast.7110.desc.sneaky + } + triggered_desc = { #failed + trigger = { + has_variable = murder_feast_murder_failure_var + } + desc = feast.7110.desc.failed + } + } + } + theme = feast_activity + left_portrait = { + character = root + triggered_animation = { + trigger = { has_variable = murder_feast_murder_failure_var } + animation = anger + } + animation = schadenfreude + } + center_portrait = { + character = scope:my_knight + animation = marshal + } + right_portrait = { + trigger = { has_variable = murder_feast_murder_failure_var } + character = scope:honorary_guest + animation = dismissal + } + + immediate = { + play_sound_effect = "event:/DLC/EP2/MX/Cuetracks/mx_cuetrack_13_murder_feast" + hidden_effect = { + if = { + limit = { + any_knight = { + location = root.location + } + } + random_knight = { + limit = { location = root.location } + save_scope_as = my_knight + } + } + else = { + set_variable = new_knight_var + create_character = { + template = knight + dynasty = none + location = root.location + culture = root.location.culture + faith = root.location.faith + gender_female_chance = root_soldier_female_chance + save_scope_as = my_knight + } + } + scope:my_knight = { add_character_flag = wear_armor } + } + } + + option = { + name = { + trigger = { has_variable = murder_feast_murder_failure_var } + text = feast.7110.a.failure + } + name = { + trigger = { NOT = { has_variable = murder_feast_murder_failure_var } } + text = feast.7110.a + } + show_as_tooltip = { #we actually give these out in the on_complete of the activity + disburse_murder_feast_activity_rewards = yes + } + hidden_effect = { + if = { + limit = { #if they have an avenging family member we send a letter + exists = scope:activity.var:avenging_family_var + } + scope:activity.var:avenging_family_var = { save_scope_as = avenging_family } + random_list = { + 0 = { + modifier = { #less likely to happen if you only killed the target + add = 50 + has_variable = murder_feast_target_murder_var + } + modifier = { #much less likely to happen if you were sneaky + add = 150 + has_variable = murder_feast_target_sneak_murder_var + } + modifier = { + add = 50 + scope:activity.activity_location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + } + 100 = { + trigger_event = { + id = feast.7102 + days = 3 + } + } + } + } + } + stress_impact = { + paranoid = massive_stress_impact_loss + callous = massive_stress_impact_loss + sadistic = massive_stress_impact_loss + compassionate = major_stress_impact_gain + just = major_stress_impact_gain + calm = major_stress_impact_gain + } + } + + after = { + remove_variable ?= murder_feast_entourage_murder_var + remove_variable ?= murder_feast_target_murder_var + remove_variable ?= murder_feast_target_sneak_murder_var + remove_variable ?= murder_feast_liege_var + remove_variable ?= murder_feast_head_of_faith_var + if = { + limit = { has_variable = new_knight_var } + scope:my_knight = { silent_disappearance_effect = yes } + } + } +} + +# Murder Feast follow up event + +feast.7102 = { + type = letter_event + opening = { + desc = feast.7102.opening + } + desc = feast.7102.desc + sender = scope:avenging_family + + trigger = { + scope:avenging_family = { is_alive = yes } + } + + option = { + name = feast.7102.a + if = { + limit = { + #DLC check + has_bp1_dlc_trigger = yes + scope:avenging_family = { + house_head_can_start_feud_against_trigger = { TARGET = root } + } + } + scope:avenging_family = { + save_targeting_house_feud_story_effect = { RIVAL = root SELF = scope:avenging_family } + } + house_feud_start_effect = { + # Feuding House Head + ACTOR = scope:avenging_family + # Target House Head + TARGET = root + # Feud Reason + REASON = murder_feast + # House Member attacker if relevant + ATTACKER = root + # House Member victim if relevant + VICTIM = scope:murder_guest + } + } + else_if = { + limit = { + can_set_relation_rival_trigger = { CHARACTER = scope:avenging_family } + } + set_relation_rival = { + target = scope:avenging_family + reason = rival_murder_feast_family + } + } + scope:murder_guest = { + every_close_family_member = { + custom = feast.7102.a.tt + limit = { + is_close_family_or_spouse_of_root_trigger = no + NOT = { this = root } + } + add_opinion = { + target = root + modifier = murder_feast_family_opinion + } + } + } + set_variable = murder_feast_perpetrator_var #people are less likely to accept your feast invite + add_prestige = minor_prestige_loss + } +} + +# Guest ending event +feast.7151 = { + type = activity_event + title = feast.7151.t + desc = { + desc = feast.7151.desc + first_valid = { + triggered_desc = { + trigger = { + OR = { + scope:host = { + has_royal_court = yes + amenity_level = { type = court_food_quality value >= 5 } + } + scope:activity = { + has_activity_option = { + category = feast_option_courses + option = feast_courses_good + } + } + } + } + desc = feast_default.9002.desc_exotic + } + triggered_desc = { + trigger = { + OR = { + scope:host = { + has_royal_court = yes + amenity_level = { type = court_food_quality value >= 3 } + } + scope:activity = { + has_activity_option = { + category = feast_option_courses + option = feast_courses_normal + } + } + } + } + desc = feast_default.9002.desc_lavish + } + triggered_desc = { + trigger = { + OR = { + scope:host = { + has_royal_court = yes + amenity_level = { type = court_food_quality value <= 1 } + } + scope:activity = { + has_activity_option = { + category = feast_option_courses + option = feast_courses_normal + } + } + } + } + desc = feast_default.9002.desc_meager + } + desc = feast_default.9002.desc_ending + } + } + theme = feast_activity + left_portrait = { + character = root + animation = happiness + } + right_portrait = { + character = scope:host + animation = toast_goblet + } + cooldown = { years = 5 } + + immediate = { + play_music_cue = "mx_cue_in_taberna_instrumental" + } + + # Time to go home + option = { + name = feast.7151.a + hidden_effect = { + reveler_lifestyle_rank_up_check_effect = yes + } + show_as_tooltip = { + disburse_feast_reveler_rewards = yes + } + #Stress loss + if = { + limit = { + OR = { + has_trait = shy + has_trait = reclusive + } + } + custom_tooltip = host_feast_decision_desc_shy + } + else = { + if = { + limit = { + has_royal_court = yes + amenity_level = { type = court_food_quality value >= 5 } + } + stress_impact = { + base = exotic_feast_stress_loss_value + gluttonous = feast_stress_loss_value + gregarious = feast_stress_loss_value + lifestyle_reveler = feast_stress_loss_value + drunkard = feast_stress_loss_value + comfort_eater = feast_stress_loss_value + generous = feast_stress_loss_value + greedy = activity_stress_gain_impact + } + } + else_if = { + limit = { + has_royal_court = yes + amenity_level = { type = court_food_quality value >= 4 } + } + stress_impact = { + base = lavish_feast_stress_loss_value + gluttonous = feast_stress_loss_value + gregarious = feast_stress_loss_value + lifestyle_reveler = feast_stress_loss_value + drunkard = feast_stress_loss_value + comfort_eater = feast_stress_loss_value + generous = feast_stress_loss_value + greedy = activity_stress_gain_impact + } + } + else_if = { + limit = { + has_royal_court = yes + amenity_level = { type = court_food_quality value >= 3 } + } + stress_impact = { + base = medium_feast_stress_loss_value + gluttonous = feast_stress_loss_value + gregarious = feast_stress_loss_value + lifestyle_reveler = feast_stress_loss_value + drunkard = feast_stress_loss_value + comfort_eater = feast_stress_loss_value + generous = feast_stress_loss_value + greedy = activity_stress_gain_impact + } + } + else_if = { + limit = { + has_royal_court = yes + amenity_level = { type = court_food_quality value <= 1 } + } + stress_impact = { + base = meager_feast_stress_loss_value + gluttonous = feast_stress_loss_value + gregarious = feast_stress_loss_value + lifestyle_reveler = feast_stress_loss_value + drunkard = feast_stress_loss_value + comfort_eater = feast_stress_loss_value + generous = feast_stress_loss_value + greedy = activity_stress_gain_impact + } + } + else = { + stress_impact = { + base = feast_stress_loss_value + gluttonous = activity_stress_loss_impact + gregarious = activity_stress_loss_impact + lifestyle_reveler = activity_stress_loss_impact + drunkard = activity_stress_loss_impact + comfort_eater = activity_stress_loss_impact + generous = activity_stress_loss_impact + greedy = activity_stress_gain_impact + } + } + } + } +} + +################################################## +# Guest of (Dis)Honour +# by Ewan Cowhig Croft +# 7201 - 7210 +################################################## + +scripted_effect feast_7201_give_goh_prestige_effect = { + scope:goh = { + add_prestige = medium_prestige_gain + add_character_modifier = { + modifier = feast_7201_goh_honoured_modifier + years = 10 + } + add_opinion = { + target = scope:host + modifier = pleased_opinion + opinion = 30 + } + } +} + +scripted_effect feast_7201_subtract_goh_prestige_effect = { + # If scope:goh is landed and your tier or higher, or your direct vassal, gain prestige of your own. + ## This is to stop you inviting nobodies to the ball then bullying them for prestige. + ### I know you. + #### You were going to. + ##### Pick on someone your own size. + if = { + limit = { + scope:goh = { + is_landed = yes + OR = { + highest_held_title_tier >= scope:host.highest_held_title_tier + liege ?= scope:host + # You can also bully rivals for prestige at any tier. + has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:host } + } + } + } + scope:host = { add_prestige = minor_prestige_gain } + } + # Scope:goh isn't best pleased. + scope:goh = { + add_prestige = medium_prestige_loss + reverse_add_opinion = { + target = scope:host + modifier = humiliated_opinion + opinion = -40 + } + } +} + +scripted_effect feast_7201_host_takes_credit_effect = { + scope:host = { + add_prestige = minor_prestige_gain + reverse_add_opinion = { + target = scope:goh + modifier = neglected_opinion + opinion = -20 + } + } +} + +# Host POV: how do you honour your GoH? +feast.7201 = { + type = activity_event + title = feast.7201.t + desc = feast.7201.desc + theme = feast_activity + left_portrait = { + character = scope:host + animation = toast + } + right_portrait = { + character = scope:goh + animation = toast_goblet + } + + trigger = { + # Because prior checks don't always seem to catch it. + exists = scope:goh + scope:goh = { + is_alive = yes + involved_activity ?= scope:activity + } + } + + # A toast, to scope:goh! + option = { + name = feast.7201.a + + # What option did we pick? + save_scope_value_as = { + name = honoured_goh + value = flag:honoured + } + # And action some effects. + feast_7201_give_goh_prestige_effect = yes + + stress_impact = { + humble = miniscule_stress_impact_loss + arrogant = minor_stress_impact_gain + } + ai_chance = { + # Higher base value, since we want this to be the default. + base = 100 + ai_value_modifier = { ai_honor = 2 } + opinion_modifier = { + opinion_target = scope:goh + multiplier = 2 + } + } + } + + # You know what? Screw this guy. + option = { + name = feast.7201.b + flavor = feast.7201.b.tt + + # What option did we pick? + save_scope_value_as = { + name = honoured_goh + value = flag:slagged_off + } + # And action some effects. + feast_7201_subtract_goh_prestige_effect = yes + + # Stress impact variable depending on whether you hate scope:goh or not. + if = { + limit = { + has_any_bad_relationship_with_character_trigger = { CHARACTER = scope:goh } + } + stress_impact = { + vengeful = major_stress_impact_loss + arrogant = miniscule_stress_impact_loss + humble = minor_stress_impact_gain + forgiving = major_stress_impact_gain + } + } + else = { + stress_impact = { + arrogant = miniscule_stress_impact_loss + humble = minor_stress_impact_gain + } + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_vengefulness = 1 + ai_honor = -1 + } + opinion_modifier = { + opinion_target = scope:goh + multiplier = -2 + } + } + } + + # And you're aaaaalllll welcome for the feast. + option = { + name = feast.7201.c + trigger = { + NOT = { has_activity_intent = legitimacy_intent } + } + + # What option did we pick? + save_scope_value_as = { + name = honoured_goh + value = flag:bragged + } + # And action some effects. + feast_7201_host_takes_credit_effect = yes + + stress_impact = { + arrogant = medium_stress_impact_loss + humble = major_stress_impact_gain + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_boldness = 1 + ai_honor = -1 + } + opinion_modifier = { + opinion_target = scope:goh + multiplier = -1 + } + modifier = { + add = 75 + has_trait = arrogant + } + } + } + + # A toast to my rule! + option = { + name = feast.7201.d + trigger = { + has_activity_intent = legitimacy_intent + } + + # What option did we pick? + save_scope_value_as = { + name = honoured_goh + value = flag:bragged + } + feast_7201_host_takes_credit_effect = yes + add_legitimacy = medium_legitimacy_gain + + stress_impact = { + arrogant = medium_stress_impact_loss + humble = major_stress_impact_gain + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_boldness = 1 + ai_honor = -1 + } + opinion_modifier = { + opinion_target = scope:goh + multiplier = -1 + } + modifier = { + add = 75 + has_trait = arrogant + } + } + } + + after = { + scope:goh = { trigger_event = feast.7202 } + scope:activity = { + every_attending_character = { + limit = { + NOT = { this = scope:host } + NOT = { this = scope:goh } + } + trigger_event = feast.7203 + } + } + } +} + +# GoH POV: were you well-honoured? +feast.7202 = { + type = activity_event + title = feast.7202.t + desc = { + first_valid = { + triggered_desc = { + trigger = { scope:honoured_goh = flag:honoured } + desc = feast.7202.desc.honoured + } + triggered_desc = { + trigger = { scope:honoured_goh = flag:slagged_off } + desc = feast.7202.desc.slagged_off + } + triggered_desc = { + trigger = { scope:honoured_goh = flag:bragged } + desc = feast.7202.desc.bragged + } + } + } + theme = feast_activity + left_portrait = { + character = scope:goh + triggered_animation = { + trigger = { scope:honoured_goh = flag:honoured } + animation = drink + } + triggered_animation = { + trigger = { + NOT = { scope:honoured_goh = flag:honoured } + } + animation = shock + } + } + right_portrait = { + character = scope:host + animation = toast + } + + immediate = { + # Show what's been goin' on. + show_as_tooltip = { + if = { + limit = { scope:honoured_goh = flag:honoured } + feast_7201_give_goh_prestige_effect = yes + } + else_if = { + limit = { scope:honoured_goh = flag:slagged_off } + feast_7201_subtract_goh_prestige_effect = yes + } + else_if = { + limit = { scope:honoured_goh = flag:bragged } + feast_7201_host_takes_credit_effect = yes + } + } + } + + # It's nice to be appreciated. + option = { + name = feast.7202.a + trigger = { scope:honoured_goh = flag:honoured } + + # We show some opinion gain, mostly for RP purposes. + add_opinion = { + target = scope:host + modifier = pleased_opinion + opinion = 30 + } + + stress_impact = { + base = major_stress_impact_loss + # Should never erase the base stress loss, but might mitigate it down a bit. + humble = medium_stress_impact_gain + } + ai_chance = { + # No AI chance needed for the only option. + base = 1 + } + } + + # How could you do this to me? + option = { + name = feast.7202.b + trigger = { + NOT = { scope:honoured_goh = flag:honoured } + } + + # You let it pass. For now. + + stress_impact = { + forgiving = miniscule_stress_impact_loss + humble = miniscule_stress_impact_loss + arrogant = major_stress_impact_gain + vengeful = major_stress_impact_gain + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_compassion = 0.5 + ai_vengefulness = -1 + } + } + } + + # I'll remember this. + option = { + name = feast.7202.c + trigger = { + NOT = { scope:honoured_goh = flag:honoured } + } + + scope:host = { + send_interface_toast = { + title = feast.7202.c.tt + left_icon = scope:goh + progress_towards_rival_effect = { + REASON = rival_goh_humiliated_at_feast + CHARACTER = scope:goh + # Reduced opinion loss because there was a hefty hit earlier in the chain. + OPINION = -10 + } + } + } + + stress_impact = { + vengeful = miniscule_stress_impact_loss + arrogant = miniscule_stress_impact_loss + humble = medium_stress_impact_gain + forgiving = major_stress_impact_gain + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_vengefulness = 1 + ai_compassion = -0.5 + } + } + } +} + +# Guest POV: how did the final toast go? +feast.7203 = { + type = activity_event + title = feast.7203.t + desc = { + first_valid = { + triggered_desc = { + trigger = { scope:honoured_goh = flag:honoured } + desc = feast.7203.desc.honoured + } + triggered_desc = { + trigger = { scope:honoured_goh = flag:slagged_off } + desc = feast.7203.desc.slagged_off + } + triggered_desc = { + trigger = { scope:honoured_goh = flag:bragged } + desc = feast.7203.desc.bragged + } + } + } + theme = feast_activity + left_portrait = { + character = scope:host + animation = toast + } + right_portrait = { + character = scope:goh + triggered_animation = { + trigger = { scope:honoured_goh = flag:honoured } + animation = drink + } + triggered_animation = { + trigger = { + NOT = { scope:honoured_goh = flag:honoured } + } + animation = shock + } + } + + immediate = { + # Show what's been goin' on. + show_as_tooltip = { + if = { + limit = { scope:honoured_goh = flag:honoured } + feast_7201_give_goh_prestige_effect = yes + } + else_if = { + limit = { scope:honoured_goh = flag:slagged_off } + feast_7201_subtract_goh_prestige_effect = yes + } + else_if = { + limit = { scope:honoured_goh = flag:bragged } + feast_7201_host_takes_credit_effect = yes + } + } + } + + # Hear hear! + option = { + name = feast.7203.a + + # No effects, just here to let you cheer. + + # No stress impact for a notification event. + ai_chance = { + # No AI needed for flavour options. + base = 1 + } + } + + # I've never much liked scope:goh, to be honest. + option = { + name = { + trigger = { scope:honoured_goh = flag:honoured } + text = feast.7203.b.goh_honoured + } + name = { + trigger = { + NOT = { scope:honoured_goh = flag:honoured } + } + text = feast.7203.b.goh_dishonoured + } + + # No effect, just here to let you mumble under your breath. + + # No stress impact for a notification event. + ai_chance = { + # No AI needed for flavour options. + base = 1 + } + } +} + +# Host POV: big up your legend +feast.7204 = { + type = activity_event + title = feast.7204.t + desc = feast.7204.desc + theme = feast_activity + left_portrait = { + character = scope:host + animation = ecstasy + } + right_portrait = { + character = scope:bard + animation = toast_goblet #TODO_CE1 add instrument animation + } + + immediate = { + grab_appropriate_bard_effect = yes + } + + # Boost my legend pls + option = { + name = feast.7204.a + trigger = { + NOT = { has_activity_intent = legitimacy_intent } + } + add_character_modifier = { + modifier = legendary_feast_legend_boost_modifier + years = 5 + } + ai_chance = { + base = 150 + modifier = { + add = -100 + OR = { + has_trait = arrogant + has_trait = ambitious + } + } + } + } + + # Remember who is the real hero - me! + option = { + name = feast.7204.b + add_character_modifier = { + modifier = legendary_feast_legend_modifier + years = 10 #stackable + } + stress_impact = { + humble = medium_stress_impact_gain + content = medium_stress_impact_gain + } + ai_chance = { + base = 100 + modifier = { + add = 50 + OR = { + has_trait = arrogant + has_trait = ambitious + } + } + modifier = { + factor = 0 + OR = { + has_trait = humble + has_trait = content + } + } + } + } + + # What a great performance! + option = { + name = feast.7204.c + add_prestige = medium_prestige_gain + stress_impact = { + base = medium_stress_impact_loss + arrogant = medium_stress_impact_gain + callous = medium_stress_impact_gain + } + ai_chance = { + base = 100 + modifier = { + factor = 0 + OR = { + has_trait = arrogant + has_trait = callous + } + } + } + } + + # Here's to many more tales exactly like this! + option = { + name = feast.7204.d + trigger = { + has_activity_intent = legitimacy_intent + } + add_legitimacy = medium_legitimacy_gain + add_character_modifier = { + modifier = legendary_feast_legend_boost_modifier + years = 5 + } + + stress_impact = { + arrogant = medium_stress_impact_loss + humble = major_stress_impact_gain + } + ai_chance = { + base = 1 + ai_value_modifier = { + ai_boldness = 1 + ai_honor = -1 + } + modifier = { + add = 75 + has_trait = arrogant + } + } + } + + after = { + scope:activity = { + every_attending_character = { + limit = { + NOT = { this = scope:host } + } + trigger_event = feast.7205 + } + } + } +} + +# Guest POV: what do you think of the legend? +feast.7205 = { + type = activity_event + title = feast.7205.t + desc = feast.7205.desc + theme = feast_activity + left_portrait = { + character = scope:host + animation = ecstasy + } + center_portrait = { + character = scope:bard + animation = toast #TODO_CE1 instrument animation + } + right_portrait = { + character = root + animation = drink + } + + # Happy to hear + option = { + name = feast.7205.a + scope:host = { + add_opinion = { + target = root + modifier = pleased_opinion + opinion = 30 + } + } + stress_impact = { + callous = medium_stress_impact_gain + } + ai_chance = { + base = 100 + modifier = { + factor = 0 + has_trait = callous + } + } + } + + # Legend - who? + option = { + name = feast.7205.b + scope:host = { + add_opinion = { + target = root + modifier = annoyed_opinion + opinion = -10 + } + } + stress_impact = { + base = medium_stress_impact_loss + compassionate = medium_stress_impact_gain + callous = medium_stress_impact_loss + } + ai_chance = { + base = 100 + modifier = { + factor = 0 + has_trait = compassionate + } + } + } +} + + +# # Feast Invalidation for Host Death - Player Heir +feast.0800 = { + type = character_event + title = feast.0800.t + desc = { + desc = feast.0800.desc + desc = feast.0800.desc.entourage + desc = feast.0800.desc.ruler + } + theme = realm + + left_portrait = { + character = root + animation = worry + } + + immediate = {} + + option = { + name = feast.0800.a + custom_tooltip = feast.0800.tt + } +} diff --git a/events/activities/pilgrimage_activity/pilgrimage_events.txt b/events/activities/pilgrimage_activity/pilgrimage_events.txt index a9ee54daa9..ccd9e978d1 100644 --- a/events/activities/pilgrimage_activity/pilgrimage_events.txt +++ b/events/activities/pilgrimage_activity/pilgrimage_events.txt @@ -412,7 +412,19 @@ pilgrimage.0500 = { text = pilgrimage.0500.a.tt_pilgrimage add_character_modifier = pilgrimage_promised_modifier } - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } stress_impact = { cynical = medium_stress_impact_gain } @@ -658,7 +670,19 @@ pilgrimage.1100 = { option = { # Look, god guides our path name = pilgrimage.1100.a - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } scope:panicked_pilgrim = { add_opinion = { target = root @@ -724,7 +748,19 @@ pilgrimage.1100 = { flavor = pilgrimage.1100.b.flavor trait = lunatic_1 trait = lunatic_genetic - add_piety = medium_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = major_piety_gain + } + else = { + add_piety = medium_piety_gain + } duel = { skill = prowess value = medium_skill_rating @@ -1401,7 +1437,19 @@ pilgrimage.1110 = { send_interface_toast = { title = pilgrimage.1110.c.success left_icon = scope:heathen_raider - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } } } 5 = { @@ -1711,7 +1759,19 @@ pilgrimage.1120 = { option = { # Pray name = pilgrimage.1120.e - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } pious_type_option_effect = yes stress_impact = { cynical = minor_stress_impact_gain @@ -1920,7 +1980,19 @@ pilgrimage.1130 = { trigger = { location.faith = root.faith } flavor = pilgrimage.1130.a.flavor remove_short_term_gold = 5 - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } stress_impact = { greedy = minor_stress_impact_gain cynical = minor_stress_impact_gain @@ -2000,7 +2072,19 @@ pilgrimage.1130 = { NOT = { location.faith = root.faith } } flavor = pilgrimage.1130.c.flavor - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } current_travel_plan = { every_entourage_character = { limit = { @@ -2299,7 +2383,19 @@ pilgrimage.1140 = { option = { name = pilgrimage.1140.a remove_short_term_gold = 10 - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_value + } + else = { + add_piety = minor_piety_gain + } add_to_entourage_court_and_activity_effect = { CHAR_TO_ADD = scope:group_leader NEW_COURT_OWNER = root @@ -2358,7 +2454,19 @@ pilgrimage.1140 = { # Provision them option = { name = pilgrimage.1140.c - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } remove_short_term_gold = 20 stress_impact = { greedy = medium_stress_impact_gain @@ -2462,7 +2570,19 @@ pilgrimage.2002 = { } trait = zealous pious_type_option_effect = yes - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } add_character_modifier = { modifier = pilgrimage_disdainful_towards_faiths_modifier years = 10 @@ -2866,7 +2986,19 @@ pilgrimage.2004 = { option = { name = pilgrimage.2004.b pious_type_option_effect = yes - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } stress_impact = { cynical = medium_stress_impact_gain gregarious = medium_stress_impact_gain @@ -3266,7 +3398,19 @@ pilgrimage.2006 = { faith = { trait_is_virtue = patient } } } - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } } else_if = { limit = { @@ -3332,7 +3476,19 @@ pilgrimage.2006 = { } } pious_type_option_effect = yes - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } } else_if = { limit = { @@ -3581,7 +3737,19 @@ scripted_effect pilgrimage_2013_outcome_effect = { } } else = { - add_piety = medium_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = major_piety_gain + } + else = { + add_piety = medium_piety_gain + } } } @@ -3600,6 +3768,14 @@ scripted_effect pilgrimage_2014_outcome_effect = { 50 = { show_chance = no desc = pilgrimage.2014.restful.desc + modifier = { + add = 20 + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } send_interface_toast = { title = pilgrimage.2014.restful.t left_icon = root @@ -3646,7 +3822,19 @@ scripted_effect pilgrimage_2015_outcome_effect = { title = pilgrimage.2015.piety.t left_icon = root right_icon = scope:2010_mystic - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } } } } @@ -3745,7 +3933,19 @@ pilgrimage.2010 = { option = { name = pilgrimage.2010.b pious_type_option_effect = yes - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } if = { limit = { exists = cp:councillor_court_chaplain } cp:councillor_court_chaplain = { @@ -4186,15 +4386,54 @@ pilgrimage.2020 = { limit = { faith = { trait_is_virtue = forgiving } } - add_piety = medium_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = major_piety_gain + } + else = { + add_piety = medium_piety_gain + } } else_if = { limit = { faith = { trait_is_virtue = vengeful } } add_piety = minor_piety_loss + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = miniscule_piety_loss + } + else = { + add_piety = minor_piety_loss + } + } + else = { + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } } - else = { add_piety = minor_piety_gain } #Hook 'em' if = { limit = { @@ -4286,6 +4525,13 @@ pilgrimage.2020 = { has_trait = cynical add = -10 } + modifier = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } scope:thief_to_convert = { add_character_flag = convinced_thief } custom_tooltip = pilgrimage.2020.b.success.tt hidden_effect = { @@ -4666,7 +4912,19 @@ pilgrimage.2030 = { } flavor = pilgrimage.2030.b.flavor pious_type_option_effect = yes - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } if = { limit = { has_trait = pilgrim @@ -4697,7 +4955,19 @@ pilgrimage.2030 = { trigger = { has_activity_intent = reflection_intent } custom_tooltip = available_because_intent_tt bonus_to_all_types_effect = yes - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } if = { limit = { has_trait = lifestyle_mystic @@ -4876,7 +5146,19 @@ pilgrimage.2040 = { custom_tooltip = available_because_intent_tt } pious_type_option_effect = yes - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } ai_chance = { base = 100 modifier = { @@ -5066,7 +5348,19 @@ pilgrimage.2050 = { left_icon = root right_icon = scope:first_pilgrim desc = pilgrimage.2050.b.success.desc - add_piety = medium_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = major_piety_gain + } + else = { + add_piety = medium_piety_gain + } very_pious_type_option_effect = yes } #Keeping this outside of the toast so as to not cut off the toast @@ -5391,7 +5685,19 @@ pilgrimage.2101 = { faith = { trait_is_virtue = lustful } } pious_type_option_effect = yes - add_piety = minor_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = medium_piety_gain + } + else = { + add_piety = minor_piety_gain + } } else_if = { limit = { @@ -5458,7 +5764,19 @@ pilgrimage.2101 = { faith = { trait_is_virtue = lustful } } pious_type_option_effect = yes - add_piety = medium_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = major_piety_gain + } + else = { + add_piety = medium_piety_gain + } } else_if = { limit = { @@ -5514,7 +5832,19 @@ pilgrimage.2101 = { limit = { faith = { trait_is_sin = lustful } } - add_piety = miniscule_piety_gain + if = { + limit = { + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } + add_piety = minor_piety_gain + } + else = { + add_piety = miniscule_piety_gain + } pious_type_option_effect = yes } else_if = { @@ -7656,6 +7986,14 @@ pilgrimage.6005 = { save_scope_as = mad_inkeeper } 7 = { + modifier = { + add = 1 + location = { + county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } + } # 70% chance not to happen } } @@ -10336,7 +10674,7 @@ pilgrimage.6750 = { limit = { any_secret = { is_criminal_for = secret_owner } } - scope:repent_trait = { remove_secret = yes } + scope:repent_trait = { wc_remove_secret_override = yes } # Warcraft } else_if = { limit = { has_trait = drunkard } diff --git a/events/activities/tour_activity/tour_general_events.txt b/events/activities/tour_activity/tour_general_events.txt index c30cae53f4..b4ab31e668 100644 --- a/events/activities/tour_activity/tour_general_events.txt +++ b/events/activities/tour_activity/tour_general_events.txt @@ -673,7 +673,17 @@ scripted_effect tour_demand_accepted_effect = { add_prestige = minor_prestige_loss } scope:visiting_liege = { - add_prestige = minor_prestige_gain + if = { + limit = { + location.county ?= { + has_county_modifier = wc_vernal_solstice_modifier + } + } + add_prestige = medium_prestige_gain + } + else = { + add_prestige = minor_prestige_gain + } dynasty = { add_dynasty_prestige = miniscule_dynasty_prestige_gain } } } @@ -778,6 +788,12 @@ tour_general.0510 = { show_as_tooltip = { random_list = { 50 = { + modifier = { + add = 20 + location.county = { + has_county_modifier = wc_vernal_solstice_modifier + } + } show_chance = no desc = if_vassal_accepts_tt tour_demand_accepted_effect = yes diff --git a/events/birth_events.txt b/events/birth_events.txt index 28927f2e91..64bdc93828 100644 --- a/events/birth_events.txt +++ b/events/birth_events.txt @@ -452,7 +452,7 @@ birth.0001 = { has_trait = magic_bad } } - add_trait = magic_good_3 + wc_EFFECT_magical_TRAIT_effect = { EFFECT = add_trait TRAIT = magic_good_3 } } 1 = { trigger = { diff --git a/events/dlc/ep2/wedding_events/ep2_wedding_events.txt b/events/dlc/ep2/wedding_events/ep2_wedding_events.txt index 8f51ef1e8c..00539742fc 100644 --- a/events/dlc/ep2/wedding_events/ep2_wedding_events.txt +++ b/events/dlc/ep2/wedding_events/ep2_wedding_events.txt @@ -1870,6 +1870,10 @@ ep2_wedding.1000 = { target = scope:1000_relative 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -2637,6 +2641,10 @@ ep2_wedding.1080 = { skill = diplomacy target = scope:matchmaking_1 60 = { # success - the matchmaking continues + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -2723,6 +2731,10 @@ ep2_wedding.1080 = { skill = diplomacy target = scope:matchmaking_2 50 = { # success - the matchmaking continues + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -5793,6 +5805,10 @@ ep2_wedding.1140 = { value = average_skill_rating # Success: you recover smoothly 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -6087,6 +6103,10 @@ ep2_wedding.1150 = { target = scope:intent_target # Success: you make a good impression 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -6169,6 +6189,10 @@ ep2_wedding.1150 = { target = scope:intent_target # Success: you make a good impression 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -6251,6 +6275,10 @@ ep2_wedding.1150 = { target = scope:intent_target # Success: you make a good impression 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -6514,6 +6542,10 @@ ep2_wedding.1161 = { skill = martial value = average_skill_rating 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -6898,6 +6930,10 @@ ep2_wedding.1170 = { skills = { intrigue prowess } target = scope:murderee 40 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -7810,6 +7846,10 @@ ep2_wedding.1200 = { skill = intrigue target = scope:listener 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -7886,6 +7926,10 @@ ep2_wedding.1200 = { skill = diplomacy target = scope:listener 40 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -7974,6 +8018,10 @@ ep2_wedding.1200 = { skills = { diplomacy intrigue } target = scope:listener 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -8199,6 +8247,10 @@ ep2_wedding.1210 = { skill = intrigue target = scope:talk_to 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -8302,6 +8354,10 @@ ep2_wedding.1210 = { multiplier = 3.5 min = -49 } + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } modifier = { has_trait = diplomat add = 20 @@ -8418,6 +8474,10 @@ ep2_wedding.1210 = { multiplier = 3.5 min = -49 } + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } modifier = { has_trait = diplomat add = 20 @@ -8818,6 +8878,10 @@ ep2_wedding.1220 = { skill = diplomacy target = scope:relative 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } # Success compare_modifier = { value = scope:duel_value @@ -9270,6 +9334,10 @@ ep2_wedding.1050 = { skill = prowess value = decent_skill_rating 40 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -9864,6 +9932,10 @@ ep2_wedding.1070 = { value = high_skill_rating # Success: you make the beasts do your bid! 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -10020,6 +10092,10 @@ ep2_wedding.1070 = { value = high_skill_rating # Success: you calm down the beasts 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -10184,6 +10260,10 @@ ep2_wedding.1070 = { value = high_skill_rating # Success: you calm down the beasts 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -10396,6 +10476,10 @@ ep2_wedding.1070 = { value = high_skill_rating # Success: they survive 40 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -10508,6 +10592,10 @@ ep2_wedding.1070 = { skill = prowess value = average_skill_rating 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } #Master of hunt knows what they are doing compare_modifier = { value = scope:duel_value @@ -10821,6 +10909,10 @@ ep2_wedding.1090 = { skill = diplomacy target = scope:1090_match 50 = { # success - get a betrothal + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -14671,6 +14763,10 @@ ep2_wedding.1320 = { target = scope:rival skill = diplomacy 25 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.1310.c.hook trigger = { can_add_hook = { @@ -16358,6 +16454,10 @@ ep2_wedding.2000 = { skill = intrigue target = scope:target_friend 50 = { #they were lying, you catch them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.2000.b.success show_chance = no modifier = { @@ -18038,6 +18138,10 @@ ep2_wedding.3040 = { skill = prowess value = average_skill_rating 50 = { #you save them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3040.a.success compare_modifier = { value = scope:duel_value @@ -18157,6 +18261,10 @@ ep2_wedding.3040 = { skill = prowess value = average_skill_rating 70 = { #you save them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3040.c.success compare_modifier = { value = scope:duel_value @@ -18344,6 +18452,10 @@ ep2_wedding.3050 = { skill = prowess value = average_skill_rating 70 = { #you kill them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3050.a.success compare_modifier = { value = scope:duel_value @@ -18414,6 +18526,10 @@ ep2_wedding.3050 = { skill = intrigue value = average_skill_rating 40 = { #you kill them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3050.b.success compare_modifier = { value = scope:duel_value @@ -18785,6 +18901,10 @@ ep2_wedding.3200 = { skill = diplomacy target = scope:my_spouse 40 = { #they accept + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3200.c.success compare_modifier = { value = scope:duel_value @@ -18904,6 +19024,10 @@ ep2_wedding.3200 = { target = scope:my_spouse 40 = { # desc = ep2_wedding.3200.d.success + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -20317,6 +20441,10 @@ ep2_wedding.3400 = { skill = intrigue value = medium_skill_rating 10 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } desc = ep2_wedding.3400.e.success compare_modifier = { value = scope:duel_value @@ -22720,6 +22848,10 @@ ep2_wedding.4000 = { skill = intrigue target = scope:matchmaked_scope 30 = { # success + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -23105,6 +23237,10 @@ ep2_wedding.2011 = { skill = intrigue target = scope:doubting_guest 50 = { + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -23278,6 +23414,10 @@ ep2_wedding.2020 = { skill = diplomacy target = scope:drunk_guest 50 = { #they listen to you + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 @@ -23388,6 +23528,10 @@ ep2_wedding.2020 = { skill = prowess target = scope:drunk_guest 50 = { #you push them + modifier = { + add = 10 + location.county = { has_county_modifier = wc_vernal_solstice_modifier } + } compare_modifier = { value = scope:duel_value multiplier = 3.5 diff --git a/events/education_and_childhood/child_personality_events.txt b/events/education_and_childhood/child_personality_events.txt index fb2e667caa..c6d9bd56a3 100644 --- a/events/education_and_childhood/child_personality_events.txt +++ b/events/education_and_childhood/child_personality_events.txt @@ -10654,7 +10654,7 @@ child_personality.9901 = { #by Mathilda Bjarnehed # Warcraft else_if = { limit = { scope:inherited_trait = flag:magic_good_noninheritable } - add_trait_force_tooltip = magic_good_noninheritable + wc_EFFECT_magical_TRAIT_effect = { EFFECT = add_trait_force_tooltip TRAIT = magic_good_noninheritable } } else_if = { limit = { scope:inherited_trait = flag:magic_bad_noninheritable } diff --git a/events/education_and_childhood/childhood_events.txt b/events/education_and_childhood/childhood_events.txt index 3548b32f31..b0bcf907fa 100644 --- a/events/education_and_childhood/childhood_events.txt +++ b/events/education_and_childhood/childhood_events.txt @@ -7549,7 +7549,7 @@ scripted_trigger childhood_2400_guardian_is_zealous = { scripted_effect childhood_2400_remove_secret_effect = { scope:ward_non_believer_secret = { - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } } diff --git a/events/error_suppression_events.txt b/events/error_suppression_events.txt index 7f4b4b0c1b..d5d4071478 100644 --- a/events/error_suppression_events.txt +++ b/events/error_suppression_events.txt @@ -82,7 +82,63 @@ error_suppression.0001 = { add_character_flag = lady_in_shadows - if = { limit = { + add_character_flag = is_medivh_flag #Used in history + add_character_flag = wc_light_magic_lifestyle_perks_were_reset_flag + add_character_flag = wc_disorder_magic_lifestyle_perks_were_reset_flag + add_character_flag = lich_king_champion_flag + + # Warcraft + set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = yes } + set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = yes } + + set_variable = { name = wc_light_magic_resistance value = yes } + set_variable = { name = wc_shadow_magic_resistance value = yes } + set_variable = { name = wc_disorder_magic_resistance value = yes } + set_variable = { name = wc_order_magic_resistance value = yes } + set_variable = { name = wc_life_magic_resistance value = yes } + set_variable = { name = wc_death_magic_resistance value = yes } + set_variable = { name = wc_elemental_fire_magic_resistance value = yes } + set_variable = { name = wc_elemental_water_magic_resistance value = yes } + set_variable = { name = wc_elemental_air_magic_resistance value = yes } + set_variable = { name = wc_elemental_earth_magic_resistance value = yes } + + #leaving these for now... but your time WILL COME + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = yes } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = yes } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = yes } + + set_variable = { name = wc_light_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_shadow_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_disorder_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_order_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_life_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_death_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_elemental_fire_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_elemental_water_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_elemental_air_magic_lifestyle_perks_were_reset_flag value = yes } + set_variable = { name = wc_elemental_earth_magic_lifestyle_perks_were_reset_flag value = yes } + + set_variable = relic + set_variable = artifact_succession_title #since we dont have any artifact tied to title now, this is in error.log + ##godhjera shader pack + set_variable = { name = GH_is_limestone_statue value = no } + set_variable = { name = GH_is_copper_statue value = no } + set_variable = { name = GH_is_gold_statue value = no } + set_variable = { name = GH_is_copper_rust_statue value = no } + set_variable = { name = GH_is_marble_statue value = no } + set_variable = { name = GH_is_stone_statue value = no } + + + if = { + limit = { # "Variable 'has_scripted_appearance' is set but is never used" # In no-graphics we never read the portrait script that uses these flags, so then the above fix causes issues. has_character_flag = easteregg @@ -96,6 +152,7 @@ error_suppression.0001 = { has_character_flag = wc_disorder_magic_lifestyle_perks_were_reset_flag # Warcraft + has_variable = wc_light_magic_lifestyle_additional_perks_variable has_variable = wc_shadow_magic_lifestyle_additional_perks_variable has_variable = wc_disorder_magic_lifestyle_additional_perks_variable @@ -106,9 +163,29 @@ error_suppression.0001 = { has_variable = wc_elemental_water_magic_lifestyle_additional_perks_variable has_variable = wc_elemental_air_magic_lifestyle_additional_perks_variable has_variable = wc_elemental_earth_magic_lifestyle_additional_perks_variable - has_variable = wc_endurance_physical_lifestyle_additional_perks_variable - has_variable = wc_dexterity_physical_lifestyle_additional_perks_variable - has_variable = wc_strength_physical_lifestyle_additional_perks_variable + # leaving these for now... but your time WILL COME + # has_variable = wc_endurance_physical_lifestyle_additional_perks_variable + # has_variable = wc_dexterity_physical_lifestyle_additional_perks_variable + # has_variable = wc_strength_physical_lifestyle_additional_perks_variable + + has_variable = wc_light_magic_resistance + has_variable = wc_shadow_magic_resistance + has_variable = wc_disorder_magic_resistance + has_variable = wc_order_magic_resistance + has_variable = wc_life_magic_resistance + has_variable = wc_death_magic_resistance + has_variable = wc_elemental_fire_magic_resistance + has_variable = wc_elemental_water_magic_resistance + has_variable = wc_elemental_air_magic_resistance + has_variable = wc_elemental_earth_magic_resistance + has_variable = elements_listen + has_variable = elemental_fire_spells + has_variable = casted_original_recipient + has_variable = tutorial_raised_troops + has_variable = spell_elemental_types + has_variable = dangerous_magic + has_variable = on_casted_spell + is_target_in_variable_list = { name = artifact_rewards target = root @@ -138,9 +215,9 @@ error_suppression.0001 = { set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = yes } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = yes } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = yes } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = yes } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = yes } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = yes } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = yes } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = yes } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = yes } set_variable = relic set_variable = { name = city_location value = no } set_variable = { name = tutorial_completed value = yes } @@ -163,6 +240,37 @@ error_suppression.0001 = { save_scope_value_as = { name = piety_cost_reduction value = no } wc_achievement_error_suppression_effects = yes + + set_variable = { name = elemental_earth_spells value = flag:abjuration } + set_variable = { name = force_court_positions_tutorial value = flag:subtract } + set_variable = { name = wc_ritual_fire_plane_life_buffs value = flag:placeholder } + set_variable = { name = spellbook_init value = flag:elemental_air_spirit } + set_variable = { name = elemental_types value = flag:add } + set_variable = { name = full_tutorial_selected value = flag:conjuration } + set_variable = { name = tutorial_current_situation_gradual_reveal_3 value = flag:elemental_fire_decay } + set_variable = { name = tutorial_current_situation_gradual_reveal_2 value = flag:elemental_fire_spirit } + set_variable = { name = tutorial_completed value = flag:elemental_water_decay } + set_variable = { name = tutorial_current_situation_gradual_reveal_1 value = flag:elemental_earth_decay } + set_variable = { name = wc_ritual_fire_plane_elemental_earth_buffs value = flag:elemental_air_decay } + set_variable = { name = elemental_favour_change value = flag:elemental_earth_spirit } + set_variable = { name = current_targets_list value = flag:elemental_water_spirit } + set_variable = { name = wc_ritual_fire_plane_elemental_air_buffs value = flag:chronomancy } + set_variable = { name = elemental_air_spells value = flag:ice } + + set_variable = { name = elemental_water_spells value = yes } + set_variable = { name = quick_tutorial_selected value = yes } + set_variable = { name = wc_ritual_fire_plane_elemental_water_buffs value = yes } + set_variable = { name = backdraft_spell_rank value = yes } + set_variable = { name = spellbook_type_view value = yes } + set_variable = { name = order_focus value = yes } + set_variable = { name = lesson_chain_war_tutorial_started value = yes } + set_variable = { name = dangerous_magic value = yes } + set_variable = { name = on_casted_spell value = yes } + set_variable = { name = spell_elemental_types value = yes } + set_variable = { name = tutorial_raised_troops value = yes } + set_variable = { name = elemental_fire_spells value = yes } + set_variable = { name = casted_original_recipient value = yes } + set_variable = { name = elements_listen value = yes } } } } diff --git a/events/health_events.txt b/events/health_events.txt index d163b76b6f..14c4dbc8ac 100644 --- a/events/health_events.txt +++ b/events/health_events.txt @@ -4180,6 +4180,975 @@ health.1017 = { } } +# Warcraft +#You contract frost fever +health.1018 = { + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.t + } + desc = health.1018.t + } + } + desc = { + desc = health.1018.desc + triggered_desc = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + } + desc = health.1018.court_physician.desc + } + } + theme = healthcare + override_background = { + trigger = { is_travelling = yes } + reference = terrain + } + left_portrait = { + character = root + animation = sick + } + right_portrait = { + trigger = { + NOT = { root = scope:physician } + trigger_if = { + limit = { is_travelling = yes } + current_travel_plan = { + any_entourage_character = { + has_court_position = court_physician_court_position + } + } + } + } + character = scope:physician + triggered_animation = { + trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } } + animation = worry + } + triggered_animation = { + trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not + animation = personality_rational + } + animation = idle + } + + override_background = { + trigger = { is_travelling = yes } + reference = terrain_travel + } + + trigger = { + can_contract_disease_trigger = { DISEASE = frost_fever } + } + + weight_multiplier = { + base = 1 + + modifier = { + health <= fine_health + factor = 1.1 + } + modifier = { + health <= poor_health + factor = 1.1 + } + modifier = { + is_adult = no + factor = 1.5 + } + modifier = { + current_date < 628.1.1 # Warcraft + factor = 0 + } + } + + immediate = { + play_music_cue = "mx_cue_illness" + save_court_physician_as_effect = { SCOPE_NAME = physician } + contract_disease_effect = { DISEASE = frost_fever TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care + } + + ###NO COURT PHYSICIAN OPTIONS### + #Find physician + option = { + trigger = { + NOT = { exists = scope:physician } + is_landed = yes + is_imprisoned = no + is_travelling = no + } + name = { + trigger = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e + } + name = { + trigger = { + OR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e.already_looking + } + if = { + limit = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + find_court_physician_effect = yes + } + else = { + custom_tooltip = health_3101_already_looking_tt + } + ai_chance = { base = 5 } + } + + #OK + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = yes + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + name = health.1018.a + ai_chance = { base = 1 } + } + ### TRAVEL- GO HOME + option = { + name = health.travel.option.home + flavor = health.travel.option.home.flavor + trigger = { + is_travelling = yes + current_travel_plan ={ + travel_plan_owner = root + can_cancel = yes + } + involved_activity ?= { + NOR = { + has_activity_type = activity_tour + is_required_special_guest = root + } + } + } + current_travel_plan = { cancel_travel_plan = yes } + ai_chance = { base = 1 } + } + ###COURT PHYSICIAN OPTIONS### + #Safe treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.a + safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 10 } + } + + #Risky treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.b + risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 1 } + } + + #Mystic treatment + option = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + scope:physician = { has_trait = lifestyle_mystic } + } + name = health.3101.c + mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { + base = 0.5 + modifier = { + add = -0.5 + ai_zeal >= 0 + } + } + } + + #No treatment + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.option.continue + } + desc = health.3101.d + } + } + } + if = { + limit = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + no_disease_treatment_effect = yes + } + ai_chance = { base = 0 } + } + + #You're going to rot away in prison most likely + option = { + trigger = { + is_imprisoned = yes + } + name = health.3101.f + } +} + +#You contract crypt fever +health.1019 = { + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.t + } + desc = health.1019.t + } + } + desc = { + desc = health.1019.desc + triggered_desc = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + } + desc = health.1019.court_physician.desc + } + } + theme = healthcare + override_background = { + trigger = { is_travelling = yes } + reference = terrain + } + left_portrait = { + character = root + animation = sick + } + right_portrait = { + trigger = { + NOT = { root = scope:physician } + trigger_if = { + limit = { is_travelling = yes } + current_travel_plan = { + any_entourage_character = { + has_court_position = court_physician_court_position + } + } + } + } + character = scope:physician + triggered_animation = { + trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } } + animation = worry + } + triggered_animation = { + trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not + animation = personality_rational + } + animation = idle + } + + override_background = { + trigger = { is_travelling = yes } + reference = terrain_travel + } + + trigger = { + can_contract_disease_trigger = { DISEASE = crypt_fever } + } + + weight_multiplier = { + base = 1 + + modifier = { + health <= fine_health + factor = 1.1 + } + modifier = { + health <= poor_health + factor = 1.1 + } + modifier = { + is_adult = no + factor = 1.5 + } + modifier = { + current_date < 628.1.1 # Warcraft + factor = 0 + } + } + + immediate = { + play_music_cue = "mx_cue_illness" + save_court_physician_as_effect = { SCOPE_NAME = physician } + contract_disease_effect = { DISEASE = crypt_fever TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care + } + + ###NO COURT PHYSICIAN OPTIONS### + #Find physician + option = { + trigger = { + NOT = { exists = scope:physician } + is_landed = yes + is_imprisoned = no + is_travelling = no + } + name = { + trigger = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e + } + name = { + trigger = { + OR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e.already_looking + } + if = { + limit = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + find_court_physician_effect = yes + } + else = { + custom_tooltip = health_3101_already_looking_tt + } + ai_chance = { base = 5 } + } + + #OK + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = yes + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + name = health.1019.a + ai_chance = { base = 1 } + } + ### TRAVEL- GO HOME + option = { + name = health.travel.option.home + flavor = health.travel.option.home.flavor + trigger = { + is_travelling = yes + current_travel_plan ={ + travel_plan_owner = root + can_cancel = yes + } + involved_activity ?= { + NOR = { + has_activity_type = activity_tour + is_required_special_guest = root + } + } + } + current_travel_plan = { cancel_travel_plan = yes } + ai_chance = { base = 1 } + } + ###COURT PHYSICIAN OPTIONS### + #Safe treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.a + safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 10 } + } + + #Risky treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.b + risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 1 } + } + + #Mystic treatment + option = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + scope:physician = { has_trait = lifestyle_mystic } + } + name = health.3101.c + mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { + base = 0.5 + modifier = { + add = -0.5 + ai_zeal >= 0 + } + } + } + + #No treatment + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.option.continue + } + desc = health.3101.d + } + } + } + if = { + limit = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + no_disease_treatment_effect = yes + } + ai_chance = { base = 0 } + } + + #You're going to rot away in prison most likely + option = { + trigger = { + is_imprisoned = yes + } + name = health.3101.f + } +} + +#You contract blood plague +health.1020 = { + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.t + } + desc = health.1020.t + } + } + desc = { + desc = health.1020.desc + triggered_desc = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + } + desc = health.1020.court_physician.desc + } + } + theme = healthcare + override_background = { + trigger = { is_travelling = yes } + reference = terrain + } + left_portrait = { + character = root + animation = sick + } + right_portrait = { + trigger = { + NOT = { root = scope:physician } + trigger_if = { + limit = { is_travelling = yes } + current_travel_plan = { + any_entourage_character = { + has_court_position = court_physician_court_position + } + } + } + } + character = scope:physician + triggered_animation = { + trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } } + animation = worry + } + triggered_animation = { + trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not + animation = personality_rational + } + animation = idle + } + + override_background = { + trigger = { is_travelling = yes } + reference = terrain_travel + } + + trigger = { + can_contract_disease_trigger = { DISEASE = blood_plague } + } + + weight_multiplier = { + base = 1 + + modifier = { + health <= fine_health + factor = 1.1 + } + modifier = { + health <= poor_health + factor = 1.1 + } + modifier = { + is_adult = no + factor = 1.5 + } + modifier = { + current_date < 628.1.1 # Warcraft + factor = 0 + } + } + + immediate = { + play_music_cue = "mx_cue_illness" + save_court_physician_as_effect = { SCOPE_NAME = physician } + contract_disease_effect = { DISEASE = blood_plague TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care + } + + ###NO COURT PHYSICIAN OPTIONS### + #Find physician + option = { + trigger = { + NOT = { exists = scope:physician } + is_landed = yes + is_imprisoned = no + is_travelling = no + } + name = { + trigger = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e + } + name = { + trigger = { + OR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e.already_looking + } + if = { + limit = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + find_court_physician_effect = yes + } + else = { + custom_tooltip = health_3101_already_looking_tt + } + ai_chance = { base = 5 } + } + + #OK + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = yes + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + name = health.1020.a + ai_chance = { base = 1 } + } + ### TRAVEL- GO HOME + option = { + name = health.travel.option.home + flavor = health.travel.option.home.flavor + trigger = { + is_travelling = yes + current_travel_plan ={ + travel_plan_owner = root + can_cancel = yes + } + involved_activity ?= { + NOR = { + has_activity_type = activity_tour + is_required_special_guest = root + } + } + } + current_travel_plan = { cancel_travel_plan = yes } + ai_chance = { base = 1 } + } + ###COURT PHYSICIAN OPTIONS### + #Safe treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.a + safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 10 } + } + + #Risky treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.b + risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 1 } + } + + #Mystic treatment + option = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + scope:physician = { has_trait = lifestyle_mystic } + } + name = health.3101.c + mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { + base = 0.5 + modifier = { + add = -0.5 + ai_zeal >= 0 + } + } + } + + #No treatment + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.option.continue + } + desc = health.3101.d + } + } + } + if = { + limit = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + no_disease_treatment_effect = yes + } + ai_chance = { base = 0 } + } + + #You're going to rot away in prison most likely + option = { + trigger = { + is_imprisoned = yes + } + name = health.3101.f + } +} +# You contract Void Sickness +health.1021 = { + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.t + } + desc = health.1021.t + } + } + desc = { + desc = health.1021.desc + triggered_desc = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + } + desc = health.1021.court_physician.desc + } + } + theme = healthcare + override_background = { + trigger = { is_travelling = yes } + reference = terrain + } + left_portrait = { + character = root + animation = sick + } + right_portrait = { + trigger = { + NOT = { root = scope:physician } + trigger_if = { + limit = { is_travelling = yes } + current_travel_plan = { + any_entourage_character = { + has_court_position = court_physician_court_position + } + } + } + } + character = scope:physician + triggered_animation = { + trigger = { scope:physician = { health_event_is_worried_trigger = { CHARACTER = scope:sick_character } } } + animation = worry + } + triggered_animation = { + trigger = { scope:physician = { ai_rationality >= 0 } } #Don't look rational if you're not + animation = personality_rational + } + animation = idle + } + + override_background = { + trigger = { is_travelling = yes } + reference = terrain_travel + } + + trigger = { + can_contract_disease_trigger = { DISEASE = blood_plague } + } + + weight_multiplier = { + base = 1 + + modifier = { + health <= fine_health + factor = 1.1 + } + modifier = { + health <= poor_health + factor = 1.1 + } + modifier = { + is_adult = no + factor = 1.5 + } + modifier = { + current_date < 628.1.1 # Warcraft + factor = 0 + } + } + + immediate = { + play_music_cue = "mx_cue_illness" + save_court_physician_as_effect = { SCOPE_NAME = physician } + contract_disease_effect = { DISEASE = blood_plague TREATMENT_EVENT = no } #Adds the trait, sends event "health.2101" about contagious disease to liege/host/imprisoner, sends event "health.2201" to those who care + } + + ###NO COURT PHYSICIAN OPTIONS### + #Find physician + option = { + trigger = { + NOT = { exists = scope:physician } + is_landed = yes + is_imprisoned = no + is_travelling = no + } + name = { + trigger = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e + } + name = { + trigger = { + OR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + text = health.3101.e.already_looking + } + if = { + limit = { + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + find_court_physician_effect = yes + } + else = { + custom_tooltip = health_3101_already_looking_tt + } + ai_chance = { base = 5 } + } + + #OK + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = yes + NOR = { + has_character_flag = seeking_epidemic_treatment + has_character_flag = searching_for_physician + } + } + name = health.1021.a + ai_chance = { base = 1 } + } + ### TRAVEL- GO HOME + option = { + name = health.travel.option.home + flavor = health.travel.option.home.flavor + trigger = { + is_travelling = yes + current_travel_plan ={ + travel_plan_owner = root + can_cancel = yes + } + involved_activity ?= { + NOR = { + has_activity_type = activity_tour + is_required_special_guest = root + } + } + } + current_travel_plan = { cancel_travel_plan = yes } + ai_chance = { base = 1 } + } + ###COURT PHYSICIAN OPTIONS### + #Safe treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.a + safe_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 10 } + } + + #Risky treatment + option = { + trigger = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + name = health.3101.b + risky_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { base = 1 } + } + + #Mystic treatment + option = { + trigger = { + court_physician_available_trigger = yes + liege_picks_treatment_trigger = no + scope:physician = { has_trait = lifestyle_mystic } + } + name = health.3101.c + mystic_disease_treatment_effect = { PATIENT = root TREATMENT_PICKER = root } + ai_chance = { + base = 0.5 + modifier = { + add = -0.5 + ai_zeal >= 0 + } + } + } + + #No treatment + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { is_travelling = yes } + desc = health.travel.option.continue + } + desc = health.3101.d + } + } + } + if = { + limit = { + exists = scope:physician + liege_picks_treatment_trigger = no + court_physician_available_when_traveling_trigger = yes + } + no_disease_treatment_effect = yes + } + ai_chance = { base = 0 } + } + + #You're going to rot away in prison most likely + option = { + trigger = { + is_imprisoned = yes + } + name = health.3101.f + } +} +# End Warcraft + ########################### # DISEASE RECOVERY EVENTS # Mathilda Bjarnehed & Veronica Pazos ########################### @@ -4636,6 +5605,131 @@ health.1114 = { } } +# Warcraft +#Recover from Frost Fever +health.1115 = { + type = character_event + title = health.1115.t + desc = health.1115.desc + theme = recovery + left_portrait = { + character = root + animation = happiness + } + + trigger = { + has_trait = frost_fever + } + + immediate = { + play_music_cue = "mx_cue_peace_ensues" + hidden_effect = { + recover_from_disease_effect = { DISEASE = frost_fever } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag + remove_disease_treatment_effect = yes + } + } + + option = { + name = health.1115.a + show_as_tooltip = { #show the trait actually shows up in the tooltip + remove_trait_force_tooltip = frost_fever + } + } +} + +#Recover from Crypt Fever +health.1116 = { + type = character_event + title = health.1116.t + desc = health.1116.desc + theme = recovery + left_portrait = { + character = root + animation = happiness + } + + trigger = { + has_trait = crypt_fever + } + + immediate = { + play_music_cue = "mx_cue_peace_ensues" + hidden_effect = { + recover_from_disease_effect = { DISEASE = crypt_fever } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag + remove_disease_treatment_effect = yes + } + } + + option = { + name = health.1116.a + show_as_tooltip = { #show the trait actually shows up in the tooltip + remove_trait_force_tooltip = crypt_fever + } + } +} + +#Recover from Blood Plague +health.1117 = { + type = character_event + title = health.1117.t + desc = health.1117.desc + theme = recovery + left_portrait = { + character = root + animation = happiness + } + + trigger = { + has_trait = blood_plague + } + + immediate = { + play_music_cue = "mx_cue_peace_ensues" + hidden_effect = { + recover_from_disease_effect = { DISEASE = blood_plague } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag + remove_disease_treatment_effect = yes + } + } + + option = { + name = health.1117.a + show_as_tooltip = { #show the trait actually shows up in the tooltip + remove_trait_force_tooltip = blood_plague + } + } +} +#Recover from Void Sickness +health.1118 = { + type = character_event + title = health.1118.t + desc = health.1118.desc + theme = recovery + left_portrait = { + character = root + animation = happiness + } + + trigger = { + has_trait = void_sickness + } + + immediate = { + play_music_cue = "mx_cue_peace_ensues" + hidden_effect = { + recover_from_disease_effect = { DISEASE = void_sickness } #Removes the trait, sends event "health.2202" to those who care & liege/host/imprisoner, adds immunity flag + remove_disease_treatment_effect = yes + } + } + + option = { + name = health.1118.a + show_as_tooltip = { #show the trait actually shows up in the tooltip + remove_trait_force_tooltip = void_sickness + } + } +} +# End Warcraft + #################### # STDs CONTAGION EVENTS # Mathilda Bjarnehed diff --git a/events/lifestyles/scholarship_lifestyle/learning_medicine_events.txt b/events/lifestyles/scholarship_lifestyle/learning_medicine_events.txt index affa7004f6..621202f374 100644 --- a/events/lifestyles/scholarship_lifestyle/learning_medicine_events.txt +++ b/events/lifestyles/scholarship_lifestyle/learning_medicine_events.txt @@ -4017,7 +4017,7 @@ learning_medicine_special.2100 = { } random_secret = { limit = { secret_type = secret_non_believer } - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } } modifier = { @@ -4041,7 +4041,7 @@ learning_medicine_special.2100 = { } random_secret = { limit = { secret_type = secret_non_believer } - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } } modifier = { diff --git a/events/magic_events/wc_elemental_ritual_events.txt b/events/magic_events/wc_elemental_ritual_events.txt new file mode 100644 index 0000000000..49575aac7b --- /dev/null +++ b/events/magic_events/wc_elemental_ritual_events.txt @@ -0,0 +1,2826 @@ +namespace = wc_elemental_ritual_events + +###################################### +# 1000 - 1499 +# Fire Ritual (Spirit) By Shatterstar & Dione +###################################### + +# Prepare for your journey to the plane +wc_elemental_ritual_events.1001 = { + title = wc_elemental_ritual_events.1001.title + desc = wc_elemental_ritual_events.1001.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + #begin event + option = { + name = wc_elemental_ritual_events.1001.a + trigger_event = { + id = wc_elemental_ritual_events.1002 + days = { 5 10 } + } + } + + #cancel event + option = { + name = wc_elemental_ritual_events.1001.b + trigger_event = { + id = wc_elemental_ritual_events.1005 + days = 1 + } + } +} + +# Start the ritual to enter the plane +wc_elemental_ritual_events.1002 = { + title = wc_elemental_ritual_events.1002.title + desc = wc_elemental_ritual_events.1002.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # call on air spirits for additional aid, all air spells go on cooldown + option = { + name = wc_elemental_ritual_events.1002.air + custom_tooltip = wc_air_spirits_cd + trigger = { + OR = { + perks_in_tree = { tree = elemental_air_magic_tree_1 value > 3 } + perks_in_tree = { tree = elemental_air_magic_tree_2 value > 3 } + } + } + if = { + limit = { + has_global_variable_list = elemental_air_spells + } + every_in_global_list = { + variable = elemental_air_spells + save_scope_as = spell + execute_scoped_spell_effect = { + SPELL = scope:spell + EFFECT = put_spell_on_cooldown_effect + } + } + } + random_list = { + 50 = { + modifier = { + add = 10 + wc_elemental_air_favour_current_value > wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = wc_elemental_air_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1003 + days = 3 + } + custom_tooltip = wc_translocation_success + } + 40 = { + trigger_event = { + id = wc_elemental_ritual_events.1004 + days = 3 + } + custom_tooltip = wc_translocation_fail + } + } + } + + #call on earth spirits for additional aid, all earth spells go on cooldown + option = { + name = wc_elemental_ritual_events.1002.earth + custom_tooltip = wc_earth_spirits_cd + trigger = { + OR = { + perks_in_tree = { tree = elemental_earth_magic_tree_1 value > 3 } + perks_in_tree = { tree = elemental_earth_magic_tree_2 value > 3 } + } + } + if = { + limit = { + has_global_variable_list = elemental_earth_spells + } + every_in_global_list = { + variable = elemental_earth_spells + save_scope_as = spell + execute_scoped_spell_effect = { + SPELL = scope:spell + EFFECT = put_spell_on_cooldown_effect + } + } + } + random_list = { + 50 = { + modifier = { + add = 10 + wc_elemental_earth_favour_current_value > wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = wc_elemental_earth_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1003 + days = 3 + } + custom_tooltip = wc_translocation_success + } + 40 = { + trigger_event = { + id = wc_elemental_ritual_events.1004 + days = 3 + } + custom_tooltip = wc_translocation_fail + } + } + } + + #call on water spirits for additional aid, all water spells go on cooldown + option = { + name = wc_elemental_ritual_events.1002.water + custom_tooltip = wc_water_spirits_cd + trigger = { + OR = { + perks_in_tree = { tree = elemental_water_magic_tree_1 value > 3 } + perks_in_tree = { tree = elemental_water_magic_tree_2 value > 3 } + } + } + if = { + limit = { + has_global_variable_list = elemental_water_spells + } + every_in_global_list = { + variable = elemental_water_spells + save_scope_as = spell + execute_scoped_spell_effect = { + SPELL = scope:spell + EFFECT = put_spell_on_cooldown_effect + } + } + } + random_list = { + 50 = { + modifier = { + add = 10 + wc_elemental_water_favour_current_value > wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = wc_elemental_water_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1003 + days = 3 + } + custom_tooltip = wc_translocation_success + } + 40 = { + trigger_event = { + id = wc_elemental_ritual_events.1004 + days = 3 + } + custom_tooltip = wc_translocation_fail + } + } + } + + #hope you have enough aid + option = { + name = wc_elemental_ritual_events.1002.none + random_list = { + 50 = { + modifier = { + add = 5 + wc_elemental_fire_favour_current_value > wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = wc_elemental_fire_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1003 + days = 3 + } + custom_tooltip = wc_translocation_success + } + 40 = { + trigger_event = { + id = wc_elemental_ritual_events.1004 + days = 3 + } + custom_tooltip = wc_translocation_fail + } + } + } +} + +# Successful Ritual +wc_elemental_ritual_events.1003 = { + title = wc_elemental_ritual_events.1003.title + desc = wc_elemental_ritual_events.1003.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Try to get their attention + option = { + name = wc_elemental_ritual_events.1003.a + random_list = { + 40 = { + custom_tooltip = wc_elements_ignore + trigger_event = { + id = wc_elemental_ritual_events.1100 + days = { 10 20 } + } + } + 60 = { + modifier = { + add = 10 + wc_elemental_air_favour_current_value > wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = wc_elemental_air_favour_current_value + is_alive = yes + } + custom_tooltip = wc_elements_welcome + trigger_event = { + id = wc_elemental_ritual_events.1101 + days = { 10 20 } + } + } + } + } + + # option = { + + # } + + # option = { + + # } +} + +# Ritual Encounters a Problem +wc_elemental_ritual_events.1004 = { + title = wc_elemental_ritual_events.1004.title + desc = wc_elemental_ritual_events.1004.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Give Up + option = { + name = wc_elemental_ritual_events.1004.giveup + trigger_event = { + id = wc_elemental_ritual_events.1005 + days = 1 + } + } + + # Force into the plane + option = { + name = wc_elemental_ritual_events.1004.force + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = subtract + VALUE = 10 + } + add_character_flag = { + flag = wc_elements_used_force + days = 90 + } + random_list = { + 80 = { + custom_tooltip = wc_elements_ignore + trigger_event = { + id = wc_elemental_ritual_events.1100 + days = { 10 20 } + } + } + 20 = { + custom_tooltip = wc_elements_welcome + trigger_event = { + id = wc_elemental_ritual_events.1101 + days = { 10 20 } + } + } + } + } + + # Offer your power to the elements + option = { + name = wc_elemental_ritual_events.1004.sac + add_character_modifier = { + modifier = wc_elemental_sacrifice_modifier + years = 2 + } + random_list = { + 30 = { + custom_tooltip = wc_elements_ignore + trigger_event = { + id = wc_elemental_ritual_events.1100 + days = { 10 20 } + } + } + 70 = { + custom_tooltip = wc_elements_welcome + trigger_event = { + id = wc_elemental_ritual_events.1101 + days = { 10 20 } + } + } + } + } +} + +# End the event early +wc_elemental_ritual_events.1005 = { + title = wc_elemental_ritual_events.1005.title + desc = wc_elemental_ritual_events.1005.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + option = { + name = wc_elemental_ritual_events.1005.a + # remove some of the cd + if = { + limit = { + has_variable = planar_fire_cd + } + change_variable = { + name = planar_fire_cd + add = -1000 + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = add + VALUE = 10 + } + remove_character_flag = any_ritual_cd + } +} + +# Arrival on the Plane - Elements Ignore You +wc_elemental_ritual_events.1100 = { + title = wc_elemental_ritual_events.1100.title + desc = { + first_valid = { + triggered_desc = { + trigger = { + has_character_flag = wc_elements_used_force + } + desc = wc_elemental_rituals_events.1100.desc_forced + } + triggered_desc = { + trigger = { + has_character_modifier = wc_elemental_sacrifice_modifier + } + desc = wc_elemental_rituals_events.1100.desc_sac + } + } + desc = wc_elemental_ritual_events.1100.desc + } + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + # all options lead to 1110 + # use diplomacy to try to get their attention + option = { + name = wc_elemental_ritual_events.1100.diplomacy + trigger = { + diplomacy >= 10 + } + duel = { + skill = diplomacy + value = decent_skill_rating + 50 = { + custom_tooltip = wc_elemental_ritual_events.1100.success + send_interface_message = { + title = wc_elemental_ritual_events.1100.success + trigger_event = { + id = wc_elemental_ritual_events.1101 + days = 5 + } + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + } + 50 = { + custom_tooltip = wc_elemental_ritual_events.1100.fail + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + trigger_event = { + id = wc_elemental_ritual_events.1110 + days = { 20 50 } + } + random_list = { + 90 = {} + 10 = { + send_interface_message = { + title = wc_elemental_ritual_events.1100.offended + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = subtract + VALUE = 5 + } + } + } + } + } + } + } + # use a display of fire magic to get their attention + option = { + name = wc_elemental_ritual_events.1100.magic + duel = { + skill = prowess + value = decent_skill_rating + 50 = { + modifier = { + add = wc_mp_value + wc_mp_value >= 10 + } + custom_tooltip = wc_elemental_ritual_events.1100.success + send_interface_message = { + title = wc_elemental_ritual_events.1100.success + trigger_event = { + id = wc_elemental_ritual_events.1101 + days = 5 + } + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + } + 50 = { + custom_tooltip = wc_elemental_ritual_events.1100.fail + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + trigger_event = { + id = wc_elemental_ritual_events.1110 + days = { 20 50 } + } + random_list = { + 90 = {} + 10 = { + send_interface_message = { + title = wc_elemental_ritual_events.1100.offended + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = subtract + VALUE = 5 + } + } + + } + } + } + } + } + + # summon a terrestrial elemental to guide you + option = { + name = wc_elemental_ritual_events.1100.terr + trigger = { + OR = { + wc_mp_value >= 30 + has_trait = user_of_elemental_fire_spirit_magic_3 + has_trait = user_of_elemental_fire_spirit_magic_4 + has_trait = user_of_elemental_fire_spirit_magic_5 + has_trait = user_of_elemental_fire_magic_3 + has_trait = user_of_elemental_fire_magic_4 + has_trait = user_of_elemental_fire_magic_5 + } + } + add_character_flag = { + flag = wc_ritual_terrestrial + days = 400 + } + trigger_event = { + id = wc_elemental_ritual_events.1110 + days = { 20 50 } + } + } + + after = { + custom_tooltip = wc_elemental_ritual_events.1100.journey + } +} + +# Arrival on the Plane - Elements Welcome You +wc_elemental_ritual_events.1101 = { + title = wc_elemental_ritual_events.1100.title + desc = { + first_valid = { + triggered_desc = { + trigger = { + has_character_flag = wc_elements_used_force + } + desc = wc_elemental_rituals_events.1100.desc_forced + } + triggered_desc = { + trigger = { + has_character_modifier = wc_elemental_sacrifice_modifier + } + desc = wc_elemental_rituals_events.1100.desc_sac + } + } + desc = wc_elemental_ritual_events.1101.desc + } + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + # all options lead to 1110 + # accept the gift of flame + option = { + name = wc_elemental_ritual_events.1101.magic + wc_change_amount_mp_effect = { + CHANGE = add + VALUE = 5 + } + # grants magical power + } + # accept the gift of magma + option = { + name = wc_elemental_ritual_events.1101.magma + # solidifies into gold + custom_tooltip = wc_elemental_ritual_events.1101.magma_gold + add_short_term_gold = { + 100 300 + } + } + # graciously refuse their gifts + option = { + name = wc_elemental_ritual_events.1101.none + # gamble based on learning and diplomacy to get huge amounts of piety and prestige + duel = { + skills = { learning diplomacy } + value = decent_skill_rating + 50 = { + send_interface_message = { + title = wc_elemental_ritual_events.1101.none_good + add_piety = 500 + add_prestige = 1000 + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + } + } + } + + after = { + custom_tooltip = wc_elemental_ritual_events.1100.journey + trigger_event = { + id = wc_elemental_ritual_events.1110 + days = { 10 20 } + } + } +} + +# Journey through the Plane +wc_elemental_ritual_events.1110 = { + title = wc_elemental_ritual_events.1110.title + desc = wc_elemental_ritual_events.1110.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # all options lead to 1120 + # journey through the howling spires + option = { + name = wc_elemental_ritual_events.1110.air + custom_tooltip = wc_elemental_ritual_events.1110.air_tt + # get bonuses related to air magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_air QUEST = spirit } + } + # journey through the magma sea + option = { + name = wc_elemental_ritual_events.1110.water + custom_tooltip = wc_elemental_ritual_events.1110.water_tt + # get bonuses related to water magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_water QUEST = spirit } + } + # journey through the erupting ranges + option = { + name = wc_elemental_ritual_events.1110.earth + custom_tooltip = wc_elemental_ritual_events.1110.earth_tt + # get bonuses related to earth magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_earth QUEST = spirit } + } + # journey through the heartfire forest + option = { + name = wc_elemental_ritual_events.1110.life + custom_tooltip = wc_elemental_ritual_events.1110.life_tt + # get bonuses related to life magic + planar_journey_route_effect = { PLANE = fire MAGIC = life QUEST = spirit } + } + # journey though the great conflagration + option = { + name = wc_elemental_ritual_events.1110.fire + custom_tooltip = wc_elemental_ritual_events.1110.fire_tt + add_character_flag = { + flag = wc_ritual_fire_plane_elemental_fire_buffs + days = 400 + } + # get bonuses related to fire magic + trigger_event = { + id = wc_elemental_ritual_events.1120 + days = { 30 60 } + } + } +} + +# Outside the Firelord's Palace +wc_elemental_ritual_events.1120 = { + title = wc_elemental_ritual_events.1120.title + desc = wc_elemental_ritual_events.1120.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + # wowwww palace is so cooooool XD + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { + OR = { + has_trait = craven + has_trait = shy + } + } + desc = wc_elemental_ritual_events.1102.scared + } + triggered_desc = { + trigger = { + OR = { + has_trait = arrogant + has_trait = cynical + } + } + desc = wc_elemental_ritual_events.1102.idc + } + triggered_desc = { + desc = wc_elemental_ritual_events.1102.wow + } + } + } + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1200 + days = { 60 90 } + } + } +} + +# Welcomed into the Palace +wc_elemental_ritual_events.1200 = { + title = wc_elemental_ritual_events.1200.title + desc = wc_elemental_ritual_events.1200.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + option = { # Ask for Protection - taken from old event + name = magic_lifestyle.1002.protection + random_list = { + 50 = { + desc = wc_gift_power_big + modifier = { + add = 15 + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + } + add_character_modifier = { + modifier = wc_elemental_fire_major_protection_modifier + days = wc_spell_planar_fire_duration_days_value + } + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + 50 = { + add_character_modifier = { + modifier = wc_elemental_fire_minor_protection_modifier + days = wc_spell_planar_fire_duration_days_value + } + desc = wc_gift_power_good + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + } + if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + } + wc_add_magic_resistance_effect = { + MAGIC = elemental_water + VALUE = 2 + CHANGE = add + } + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_air_buffs + } + wc_add_magic_resistance_effect = { + MAGIC = elemental_earth + VALUE = 2 + CHANGE = add + } + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_water_buffs + } + wc_add_magic_resistance_effect = { + MAGIC = elemental_fire + VALUE = 2 + CHANGE = add + } + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_earth_buffs + } + wc_add_magic_resistance_effect = { + MAGIC = elemental_air + VALUE = 2 + CHANGE = add + } + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_life_buffs + } + wc_add_magic_resistance_effect = { + MAGIC = death + VALUE = 2 + CHANGE = add + } + } + } + option = { # Ask for Efficiency - taken from old event + name = magic_lifestyle.1002.efficiency + random_list = { + 50 = { + desc = wc_gift_power_big + add_character_modifier = { + modifier = wc_elemental_fire_major_efficiency_modifier + days = wc_spell_planar_fire_duration_days_value + } + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + 50 = { + add_character_modifier = { + modifier = wc_elemental_fire_minor_efficiency_modifier + days = wc_spell_planar_fire_duration_days_value + } + desc = wc_gift_power_good + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + } + if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_fire + DAYS = 365 + } + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_air_buffs + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_air + DAYS = 365 + } + add_elemental_air_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_water_buffs + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_water + DAYS = 365 + } + add_elemental_water_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_earth_buffs + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_earth + DAYS = 365 + } + add_elemental_earth_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_life_buffs + } + wc_add_magic_boost_modifier = { + MAGIC = life + DAYS = 365 + } + add_life_magic_lifestyle_perk_points = 1 + } + } + option = { # Ask for Companionship - taken from old event ( this one sucks af ) + name = magic_lifestyle.1002.companionship + trigger = { + has_court_position = court_mage_court_position + } + random_list = { + 50 = { + add_character_flag = { + flag = elements_listen + days = 10 + } + desc = wc_gift_power_big + add_character_modifier = { + modifier = wc_elemental_fire_major_companionship_modifier + days = wc_spell_planar_fire_duration_days_value + } + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + 50 = { + add_character_modifier = { + modifier = wc_elemental_fire_minor_companionship_modifier + days = wc_spell_planar_fire_duration_days_value + } + desc = wc_gift_power_good + compare_modifier = { + value = scope:duel_value + multiplier = 2 + min = -49 + } + } + } + court_position:court_mage_court_position = { + if = { + limit = { + root = { has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs } + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_fire + DAYS = 365 + } + add_elemental_fire_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + root = { has_character_flag = wc_ritual_fire_plane_elemental_air_buffs } + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_air + DAYS = 365 + } + add_elemental_air_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + root = { has_character_flag = wc_ritual_fire_plane_elemental_water_buffs } + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_water + DAYS = 365 + } + add_elemental_water_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + root = { has_character_flag = wc_ritual_fire_plane_elemental_earth_buffs } + } + wc_add_magic_boost_modifier = { + MAGIC = elemental_earth + DAYS = 365 + } + add_elemental_earth_magic_lifestyle_perk_points = 1 + } + else_if = { + limit = { + root = { has_character_flag = wc_ritual_fire_plane_life_buffs } + } + wc_add_magic_boost_modifier = { + MAGIC = life + DAYS = 365 + } + add_life_magic_lifestyle_perk_points = 1 + } + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1210 + days = { 30 45 } + } + } +} + +# Audience with the Firelord +wc_elemental_ritual_events.1210 = { + title = wc_elemental_ritual_events.1210.title + desc = wc_elemental_ritual_events.1210.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Mastery over Fire Magic + option = { + name = wc_elemental_ritual_events.1210.mastery + if = { # Already Finished all perks + limit = { + AND = { + perks_in_tree = { tree = elemental_fire_magic_tree_1 value >= 9 } + perks_in_tree = { tree = elemental_fire_magic_tree_2 value >= 9 } + } + } + add_character_modifier = { + modifier = wc_fire_magic_blessing_modifier + } + add_character_modifier = { + modifier = wc_backdraft_proc_modifier + } + if = { + limit = { + NOT = { + has_variable = wc_fire_magic_blessing_var + } + } + set_variable = { + name = wc_fire_magic_blessing_var + value = 0 + } + } + change_variable = { + name = wc_fire_magic_blessing_var + add = 1 + } + } + else = { # Get 1 perk unlock + add_elemental_fire_magic_lifestyle_perk_points = 1 + } + } + + # Peace in my realm (must be at war) + option = { + name = wc_elemental_ritual_events.1210.peace + + trigger = { + is_at_war = yes + } + every_character_war = { + end_war = white_peace + } + } + + # Power (must not be independent) + option = { + name = wc_elemental_ritual_events.1210.power + trigger = { + NOT = { + is_independent_ruler = yes + } + highest_held_title_tier <= tier_duchy + } + create_title_and_vassal_change = { + type = granted + save_scope_as = change + add_claim_on_loss = yes + } + liege.primary_title = { + change_title_holder_include_vassals = { + holder = root + change = scope:change + } + } + resolve_title_and_vassal_change = scope:change + stress_impact = { + ambitious = medium_stress_impact_loss + greedy = medium_stress_impact_loss + compassionate = medium_stress_impact_gain + } + } + + # Funds + option = { + name = wc_elemental_ritual_events.1210.funds + stress_impact = { + greedy = major_stress_impact_loss + } + add_short_term_gold = 500 + } + + # My enemies to suffer + option = { + name = wc_elemental_ritual_events.1210.mean + trigger = { + OR = { + has_trait = vengeful + has_trait = wrathful + } + OR = { + any_relation = { + type = potential_rival + count >= 1 + } + any_relation = { + type = rival + count >= 1 + } + any_relation = { + type = nemesis + count >= 1 + } + } + } + every_relation = { + type = potential_rival + add_to_temporary_list = people_to_hurt_list + } + every_relation = { + type = rival + add_to_temporary_list = people_to_hurt_list + } + every_relation = { + type = nemesis + add_to_temporary_list = people_to_hurt_list + } + every_in_list = { + list = people_to_hurt_list + random_list = { + 15 = { # They lose money, prestige + remove_short_term_gold = 750 + add_prestige = -1000 + add_prestige = 1000 + add_short_term_gold = 750 + stress_impact = { + greedy = medium_stress_impact_loss + } + } + 10 = { # All of their secrets get exposed + trigger = { + any_secret = { + count >= 1 + } + } + custom_tooltip = all_secrets_exposed_tt + hidden_effect = { + every_secret = { + expose_secret = root + } + } + } + 10 = { # Their heir dies + trigger = { + exists = designated_heir + } + designated_heir = { + override_death_effect = { + death_reason = death_vanished + } + } + } + 10 = { # Their spouse or lover dies + trigger = { + exists = primary_partner + } + primary_partner = { + override_death_effect = { + death_reason = death_vanished + } + } + } + 20 = { # They get injured + if = { + limit = { + NOT = { has_trait = burned_2 } + } + add_trait = burned_2 + } + } + 5 = { # They Die + override_death_effect = { + death_reason = death_vanished + } + } + } + } + stress_impact = { + compassionate = major_stress_impact_gain + vengeful = major_stress_impact_loss + wrathful = minor_stress_impact_loss + } + } + after = { + trigger_event = { + id = wc_elemental_ritual_events.1220 + days = { 30 45 } + } + } +} + +# Feast of Elemental Fire +wc_elemental_ritual_events.1220 = { + title = wc_elemental_ritual_events.1220.title + desc = wc_elemental_ritual_events.1220.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + immediate = { + stress_impact = { + base = medium_stress_impact_loss + } + } + # Eat the Magma Loaf + option = { + name = wc_elemental_ritual_events.1220.loaf + add_character_flag = { + flag = feast_loaf + days = 10 + } + } + + # Drink Inferno-infused Eggnog + option = { + name = wc_elemental_ritual_events.1220.eggnog + add_character_flag = { + flag = feast_eggnog + days = 10 + } + } + + # Try the combustible burger (lol) + option = { + name = wc_elemental_ritual_events.1220.burger + add_character_flag = { + flag = feast_burger + days = 10 + } + } + + # Have a slice of Ash Cake + option = { + name = wc_elemental_ritual_events.1220.cake + add_character_flag = { + flag = feast_cake + days = 10 + } + } + + # Try some of everything + option = { + name = wc_elemental_ritual_events.1220.fat + trigger = { + has_trait = gluttonous + } + stress_impact = { + gluttonous = major_stress_impact_loss + } + add_character_flag = { + flag = feast_fat + days = 10 + } + } + + # The actual effect is almost random each time, options are just flavor + after = { + hidden_effect = { + if = { + limit = { + NOT = { + has_character_flag = feast_fat + } + } + set_variable = { + name = elemental_fire_cycle_mult + value = 2 + days = 30 + } + random_list = { + 25 = { + modifier = { + add = 10 + has_character_flag = feast_eggnog + } + modifier = { + add = -100 + AND = { + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + perks_in_tree = { tree = elemental_fire_magic_tree_1 value >= 9 } + perks_in_tree = { tree = elemental_fire_magic_tree_2 value >= 9 } + } + } + if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + } + add_elemental_fire_magic_lifestyle_xp = 500 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_air_buffs + } + add_elemental_air_magic_lifestyle_xp = 500 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_water_buffs + } + add_elemental_water_magic_lifestyle_xp = 500 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_earth_buffs + } + add_elemental_earth_magic_lifestyle_xp = 500 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_life_buffs + } + add_life_magic_lifestyle_xp = 500 + } + } + 25 = { + modifier = { + add = 10 + has_character_flag = feast_loaf + } + add_character_modifier = { + modifier = wc_elemental_fire_love_me_modifier + days = 400 + } + } + 25 = { + modifier = { + add = 10 + has_character_flag = feast_burger + } + add_character_modifier = { + modifier = wc_elemental_fire_fear_me_modifier + days = 400 + } + } + 25 = { + modifier = { + add = 10 + has_character_flag = feast_cake + } + add_short_term_gold = 300 + add_prestige = 500 + add_piety = 500 + if = { + limit = { + exists = liege + } + add_hook = { + target = liege + type = favor_hook + } + } + else_if = { + limit = { + exists = faith.religious_head + } + add_hook = { + target = faith.religious_head + type = favor_hook + } + } + else_if = { + limit = { + any_vassal_or_below = { + count >= 1 + } + } + random_vassal_or_below = { + save_scope_as = vas + root = { + add_hook = { + target = scope:vas + type = favor_hook + } + } + } + } + else_if = { + limit = { + any_relation = { + type = rival + count >= 1 + } + } + random_relation = { + type = rival + save_scope_as = vas + root = { + add_hook = { + target = scope:vas + type = favor_hook + } + } + } + } + } + } + } + else = { # get everything but diminished + set_variable = { + name = elemental_fire_cycle_mult + value = 0.85 + days = 30 + } + if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_fire_buffs + } + add_elemental_fire_magic_lifestyle_xp = 50 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_air_buffs + } + add_elemental_air_magic_lifestyle_xp = 50 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_water_buffs + } + add_elemental_water_magic_lifestyle_xp = 50 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_elemental_earth_buffs + } + add_elemental_earth_magic_lifestyle_xp = 50 + } + else_if = { + limit = { + has_character_flag = wc_ritual_fire_plane_life_buffs + } + add_life_magic_lifestyle_xp = 50 + } + add_character_modifier = { + modifier = wc_elemental_fire_love_me_modifier + days = 100 + } + add_character_modifier = { + modifier = wc_elemental_fire_fear_me_modifier + days = 100 + } + add_short_term_gold = 50 + add_prestige = 100 + add_piety = 100 + } + } + trigger_event = { + id = wc_elemental_ritual_events.1300 + days = { 30 60 } + } + } +} + +# Return Home from the Elemental Plane of Fire +wc_elemental_ritual_events.1300 = { + title = wc_elemental_ritual_events.1300.title + desc = wc_elemental_ritual_events.1300.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Get some bonus related to Fire Elemental + immediate = { + add_character_modifier = { + modifier = wc_elemental_fire_planar_fire_modifier + years = 1 + } + create_character = { + template = planar_fire_character_spirit + location = root.location + save_scope_as = planar_fire_champion + } + } + + # Terrestrial (if has one) + option = { + name = wc_elemental_ritual_events.1300.terrestrial + trigger = { + has_character_flag = wc_ritual_terrestrial + } + spawn_army = { + uses_supply = no + inheritable = yes + name = wc_planar_fire_army + men_at_arms = { + type = fire_terrestrial + stacks = 5 + } + location = root.capital_province + } + } + + # Next planar fire cost no mana / no cast time (can only use once in life) + option = { + name = wc_elemental_ritual_events.1300.mana + trigger = { + NOT = { + has_character_flag = wc_used_free_planar_fire + } + } + custom_tooltip = wc_elemental_ritual_events.1300.mana.tt + add_character_flag = wc_has_free_planar_fire + } + + # A magic-proficient champion + option = { + name = wc_elemental_ritual_events.1300.champion + scope:planar_fire_champion = { + set_employer = root + } + } + + # Your wisdom is enough. + option = { + name = wc_elemental_ritual_events.1300.lazy + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = add + VALUE = 20 + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1310 + days = { 5 10 } + } + } +} + +# End of the questline +wc_elemental_ritual_events.1310 = { + title = wc_elemental_ritual_events.1310.title + desc = wc_elemental_ritual_events.1310.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + immediate = { + if = { + limit = { + has_character_flag = wc_has_free_planar_fire + } + remove_character_flag = wc_has_free_planar_fire + add_character_flag = wc_used_free_planar_fire + } + } + + option = { + name = wc_elemental_ritual_events.1310.a + } +} + + +###################################### +# 1500 - 1999 +# Fire Ritual (Decay) +###################################### +# Prepare the invasion +wc_elemental_ritual_events.1501 = { + title = wc_elemental_ritual_events.1501.title + desc = wc_elemental_ritual_events.1501.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + right_portrait = { + character = root + animation = thinking + } + + immediate = { + set_variable = { + name = wc_decay_ritual_elemental_loyalty + value = 50 + } + } + + # proceed -> 1502 + option = { + name = wc_elemental_ritual_events.1501.a + trigger_event = { + id = wc_elemental_ritual_events.1502 + days = { 20 30 } + } + } + + # cancel -> 1505 + option = { + name = wc_elemental_ritual_events.1001.b + trigger_event = { + id = wc_elemental_ritual_events.1505 + days = 1 + } + } +} + +# Open the portal +wc_elemental_ritual_events.1502 = { + title = wc_elemental_ritual_events.1502.title + desc = wc_elemental_ritual_events.1502.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + right_portrait = { + character = root + animation = marshal + } + + # call on air spirits for additional aid, all air spells go on cooldown + option = { + name = wc_elemental_ritual_events.1502.air + name = wc_elemental_ritual_events.1502.air + trigger = { + wc_elemental_air_favour_current_value < wc_decay_elemental_favour_threshold_value + OR = { + perks_in_tree = { tree = elemental_air_magic_tree_1 value > 5 } + perks_in_tree = { tree = elemental_air_magic_tree_2 value > 5 } + } + } + } + + #call on earth spirits for additional aid, all earth spells go on cooldown + option = { + name = wc_elemental_ritual_events.1502.earth + trigger = { + wc_elemental_earth_favour_current_value < wc_decay_elemental_favour_threshold_value + OR = { + perks_in_tree = { tree = elemental_earth_magic_tree_1 value > 5 } + perks_in_tree = { tree = elemental_earth_magic_tree_2 value > 5 } + } + } + } + + #call on water spirits for additional aid, all water spells go on cooldown + option = { + name = wc_elemental_ritual_events.1502.water + custom_tooltip = wc_water_spirits_cd + trigger = { + OR = { + perks_in_tree = { tree = elemental_water_magic_tree_1 value > 3 } + perks_in_tree = { tree = elemental_water_magic_tree_2 value > 3 } + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_water + CHANGE = subtract + VALUE = 10 + } + random_list = { + 50 = { + modifier = { + add = 10 + wc_elemental_water_favour_current_value < wc_decay_elemental_favour_threshold_value + } + + trigger_event = { + id = wc_elemental_ritual_events.1601 + days = 3 + } + custom_tooltip = wc_ritual_portal_success + } + 40 = { + modifier = { + add = wc_elemental_water_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1503 + days = 3 + } + custom_tooltip = wc_ritual_portal_fail + } + } + } + + #hope you have enough aid + option = { + name = wc_elemental_ritual_events.1502.none + random_list = { + 50 = { + modifier = { + add = 5 + wc_elemental_fire_favour_current_value < wc_decay_elemental_favour_threshold_value + } + + trigger_event = { + id = wc_elemental_ritual_events.1601 + days = 3 + } + custom_tooltip = wc_ritual_portal_success + } + 40 = { + modifier = { + add = wc_elemental_fire_favour_current_value + is_alive = yes + } + trigger_event = { + id = wc_elemental_ritual_events.1503 + days = 3 + } + custom_tooltip = wc_ritual_portal_fail + } + } + } +} + + +# Portal is unstable +wc_elemental_ritual_events.1503 = { + title = wc_elemental_ritual_events.1503.title + desc = wc_elemental_ritual_events.1503.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + immediate = { + stress_impact = { + base = minor_stress_impact_gain + } + } + + right_portrait = { + character = root + animation = worry + } + + # keep going -> 1601 + option = { + name = wc_elemental_ritual_events.1503.a + # Decreases future army size slightly + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -5 -15 } + } + trigger_event = { + id = wc_elemental_ritual_events.1601 + days = { 5 10 } + } + } + + # cancel -> 1505 + option = { + name = wc_elemental_ritual_events.1001.b + trigger_event = { + id = wc_elemental_ritual_events.1505 + days = 1 + } + } +} + +# Cancel the invasion (following 1501 or 1503) +wc_elemental_ritual_events.1505 = { + title = wc_elemental_ritual_events.1505.title + desc = wc_elemental_ritual_events.1505.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + option = { + name = wc_elemental_ritual_events.1005.a + # remove some of the cd + if = { + limit = { + has_variable = planar_fire_cd + } + change_variable = { + name = planar_fire_cd + add = -1000 + } + } + wc_change_amount_element_favour_effect = { + ELEMENT = elemental_fire + CHANGE = subtract + VALUE = 10 + } + remove_character_flag = any_ritual_cd + } +} + +# Establish a beachhead +wc_elemental_ritual_events.1601 = { + title = wc_elemental_ritual_events.1601.title + desc = wc_elemental_ritual_events.1601.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + right_portrait = { + character = root + animation = personality_bold + } + + # can lead to 1602 (lose) or 1605 (win) depending on magical prowess and army size + option = { + name = wc_elemental_ritual_events.1601.opt.a + duel = { + skill = martial + value = decent_skill_rating + 50 = { + modifier = { + add = wc_mp_value + is_alive = yes + } + modifier = { + add = death_magic_lifestyle_perks + death_magic_lifestyle_perks > 0 + } + modifier = { + factor = 1.5 + wc_elemental_air_favour_current_value <= wc_decay_elemental_favour_threshold_value + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_elements_submit + trigger_event = { + id = wc_elemental_ritual_events.1605 + days = { 60 100 } + } + # Increase army size "loyalty" + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = 50 + } + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + modifier = { + factor = 1.5 + wc_elemental_air_favour_current_value >= wc_spirit_elemental_favour_threshold_value + } + modifier = { + add = life_magic_lifestyle_perks + life_magic_lifestyle_perks > 0 + } + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_elements_oppose + trigger_event = { + id = wc_elemental_ritual_events.1602 + days = { 60 100 } + } + } + } + } +} + +# Elementals oppose you +wc_elemental_ritual_events.1602 = { + title = wc_elemental_ritual_events.1602.title + desc = wc_elemental_ritual_events.1602.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + right_portrait = { + character = root + animation = personality_bold + } + + # all options lead to 1605 + # meet them in battle (Martial & Prowess) + option = { + name = wc_elemental_ritual_events.1602.opt.a + duel = { + skills = { martial prowess } + value = decent_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_elemental_ritual_events.1602.win_big + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + } + 50 = { + custom_tooltip = wc_elemental_ritual_events.1602.win + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 5 30 } + } + } + } + } + + # kill them personally until they submit (Prowess & Dread) + option = { + name = wc_elemental_ritual_events.1602.opt.b + duel = { + skill = prowess + value = decent_skill_rating + 40 = { + modifier = { + add = dread + dread > 0 + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_elemental_ritual_events.1602.win_big + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } custom_tooltip = wc_elemental_ritual_events.1602.win + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 5 30 } + } + } + } + } + + # assassinate any who oppose you (Intrigue & Dread) + option = { + name = wc_elemental_ritual_events.1602.opt.c + duel = { + skill = intrigue + value = decent_skill_rating + 40 = { + modifier = { + add = dread + dread > 0 + } + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_elemental_ritual_events.1602.win_big + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_elemental_ritual_events.1602.win + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 5 30 } + } + } + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1605 + days = { 60 100 } + } + } +} + +# Elementals submit to you, some are not usable on the material plane +wc_elemental_ritual_events.1605 = { + title = wc_elemental_ritual_events.1605.title + desc = wc_elemental_ritual_events.1605.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Determine army strength here + immediate = { + # Using decay values + if = { + limit = { + wc_elemental_fire_favour_current_value < wc_decay_elemental_favour_threshold_value + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 10 25 } + } + } + else_if = { + limit = { + wc_elemental_fire_favour_current_value < -10 + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 5 15 } + } + } + else_if = { + limit = { + wc_elemental_fire_favour_current_value <= 0 + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = 5 + } + } + else_if = { + limit = { + wc_elemental_fire_favour_current_value >= 0 + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -5 -15 } + } + } + create_character = { + template = mage_elemental_fire_character + location = root.location + save_scope_as = elemental_fire_mage + } + create_character = { + template = mage_elemental_fire_character + location = root.location + save_scope_as = elemental_fire_mage_2 + } + create_character = { + template = mage_elemental_fire_character + location = root.location + save_scope_as = elemental_fire_mage_3 + } + } + + # all options lead to 1610 + # everything based on loyalty variable + # use them to bolster your army in the elemental plane + option = { + # Gain maa + name = wc_elemental_ritual_events.1605.opt.a + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = 15 + } + spawn_army = { + uses_supply = no + inheritable = yes + name = wc_planar_fire_army + men_at_arms = { + type = fire_terrestrial + stacks = 5 + } + location = root.capital_province + } + } + + left_portrait = { + character = scope:elemental_fire_mage + animation = idle + } + + right_portrait = { + character = root + animation = thinking + } + + # bring them back to the material plane as slaves + option = { + # gain gold, elemental fire user courtiers + name = wc_elemental_ritual_events.1605.opt.b + add_short_term_gold = 150 + + scope:elemental_fire_mage_3 = { + set_employer = root + } + scope:elemental_fire_mage_2 = { + set_employer = root + } + scope:elemental_fire_mage = { + set_employer = root + } + } + + # feed off their power + option = { + name = wc_elemental_ritual_events.1605.opt.c + # gain magical prowess, lifestyle xp, dread + # Modifier gives all 3 of these things, but the magical prowess needs to be added in magical prowess script value + add_character_modifier = { + modifier = wc_fire_decay_ritual_feed_modifier + years = 3 + } + # It doesnt show on the modifier, so show it as a tooltip + show_as_tooltip = { + wc_change_amount_mp_effect = { + CHANGE = add + VALUE = 10 + } + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1610 + days = { 30 120 } + } + } +} + +# Choose path +wc_elemental_ritual_events.1610 = { + title = wc_elemental_ritual_events.1610.title + desc = wc_elemental_ritual_events.1610.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + # march across the howling spires + option = { + name = wc_elemental_ritual_events.1610.air + custom_tooltip = wc_elemental_ritual_events.1610.air_tt + # get bonuses related to air magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_air QUEST = decay } + } + # march across the magma sea + option = { + name = wc_elemental_ritual_events.1610.water + custom_tooltip = wc_elemental_ritual_events.1610.water_tt + # get bonuses related to water magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_water QUEST = decay } + } + # march across the erupting ranges + option = { + name = wc_elemental_ritual_events.1610.earth + custom_tooltip = wc_elemental_ritual_events.1610.earth_tt + # get bonuses related to earth magic + planar_journey_route_effect = { PLANE = fire MAGIC = elemental_earth QUEST = decay } + } + # march across the ashen pits + option = { + name = wc_elemental_ritual_events.1610.death + custom_tooltip = wc_elemental_ritual_events.1610.death_tt + # get bonuses related to death magic + planar_journey_route_effect = { PLANE = fire MAGIC = death QUEST = decay } + } + # journey though the great conflagration + option = { + name = wc_elemental_ritual_events.1610.fire + custom_tooltip = wc_elemental_ritual_events.1610.fire_tt + # get bonuses related to fire magic + trigger_event = { + id = wc_elemental_ritual_events.1620 + days = { 60 120 } + } + } +} + +# arriving at the Firelord's Palace +wc_elemental_ritual_events.1620 = { + title = wc_elemental_ritual_events.1620.title + desc = wc_elemental_ritual_events.1620.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # victory shall be ours! + option = { + name = wc_elemental_ritual_events.1620.opt.a + custom_tooltip = wc_elemental_ritual_events.1620.opt.a_tt + # yuppp + } +# bro idk what u want me to put here + # it's a bit... smaller.. than i imagined + option = { + name = wc_elemental_ritual_events.1620.opt.b + custom_tooltip = wc_elemental_ritual_events.1620.opt.b_tt + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1701 + days= { 20 60 } + } + } +} + +# decide on your siege method +wc_elemental_ritual_events.1701 = { + title = wc_elemental_ritual_events.1701.title + desc = { + desc = wc_elemental_ritual_events.1701.desc.opening + first_valid = { + triggered_desc = { + trigger = { + exists = cp:councillor_spymaster + } + desc = wc_elemental_ritual_events.1701.desc.spymaster_real + } + desc = wc_elemental_ritual_events.1701.desc.spymaster_fake + } + desc = wc_elemental_ritual_events.1701.desc.spymaster + first_valid = { + triggered_desc = { + trigger = { + exists = cp:councillor_marshal + } + desc = wc_elemental_ritual_events.1701.desc.marshal_real + } + desc = wc_elemental_ritual_events.1701.desc.marshal_fake + } + desc = wc_elemental_ritual_events.1701.desc.marshal + } + + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + immediate = { + # Find spymaster or marshal, if not, find a courtier who is good at respective skill + if = { + limit = { + exists = cp:councillor_spymaster + } + cp:councillor_spymaster = { + save_scope_as = spymaster + } + } + else = { + ordered_courtier_or_guest = { + order_by = intrigue + save_scope_as = spymaster + } + } + if = { + limit = { + exists = cp:councillor_marshal + } + cp:councillor_marshal = { + save_scope_as = marshal + } + } + else = { + ordered_courtier_or_guest = { + order_by = martial + save_scope_as = marshal + } + } + } + + left_portrait = { + character = scope:spymaster + animation = thinking + } + + right_portrait = { + character = scope:marshal + animation = marshal + } + + # traditional siege method (martial + stewardship) -> long, low risk -> 1710 + option = { + name = wc_elemental_ritual_events.1701.opt.a + duel = { + skills = { martial stewardship } + value = decent_skill_rating + 80 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_1 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + + trigger_event = { + id = wc_elemental_ritual_events.1710 + days = { 60 120 } + } + } + 20 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_siege_fails + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -5 -10 } + } + add_character_flag = { + flag = wc_ritual_failed_1 + days = 300 + } + trigger_event = { + id = wc_elemental_ritual_events.1802 + days = { 60 120 } + } + } + } + } + + # stratagem of war (diplomacy + intrigue) -> medium, medium risk -> 1720 + option = { + name = wc_elemental_ritual_events.1701.opt.b + duel = { + skills = { diplomacy intrigue } + value = decent_skill_rating + 70 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_2 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + add_character_flag = { + flag = wc_ritual_stratagem + days = 300 + } + trigger_event = { + id = wc_elemental_ritual_events.1720 + days = { 30 60 } + } + } + 30 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_siege_fails + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -10 -20 } + } + add_character_flag = { + flag = wc_ritual_failed_2 + days = 300 + } + trigger_event = { + id = wc_elemental_ritual_events.1802 + days = { 60 120 } + } + } + } + } + + # infiltration (martial + intrigue) -> short, high risk -> 1800 (success) or 1802 (failure) + option = { + name = wc_elemental_ritual_events.1701.opt.c + duel = { + skills = { martial intrigue } + value = decent_skill_rating + 40 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + add_character_flag = { + flag = wc_ritual_infiltration + days = 300 + } + custom_tooltip = wc_siege_continues_3 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 25 50 } + } + trigger_event = { + id = wc_elemental_ritual_events.1730 + days = { 10 15 } + } + } + 60 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_siege_fails + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -15 -30 } + } + add_character_flag = { + flag = wc_ritual_failed_3 + days = 300 + } + trigger_event = { + id = wc_elemental_ritual_events.1802 + days = { 60 120 } + } + } + } + + } +} + +# breach the gates +wc_elemental_ritual_events.1710 = { + title = wc_elemental_ritual_events.1710.title + desc = { + desc = wc_elemental_ritual_events.1710.desc.opening + first_valid = { + triggered_desc = { + trigger = { + var:wc_decay_ritual_elemental_loyalty >= 75 + } + desc = wc_elemental_ritual_events.1710.desc.positive + } + triggered_desc = { + trigger = { + var:wc_decay_ritual_elemental_loyalty >= 50 + } + desc = wc_elemental_ritual_events.1710.desc.neutral + } + triggered_desc = { + trigger = { + var:wc_decay_ritual_elemental_loyalty < 50 + } + desc = wc_elemental_ritual_events.1710.desc.negative + } + } + desc = wc_elemental_ritual_events.1710.desc.ending + } + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # You still proceed either way, it changes loyalty variable + option = { + name = wc_elemental_ritual_events.1710.opt.a + duel = { + skills = { diplomacy intrigue } + value = decent_skill_rating + 60 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_1 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 5 15 } + } + } + 40 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_difficulty + add_character_flag = { + flag = wc_ritual_failed_1 + days = 300 + } + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { -15 -5 } + } + } + } + } + + after = { + trigger_event = { + id = wc_elemental_ritual_events.1720 + days = { 10 30 } + } + } + +} + +# castle +wc_elemental_ritual_events.1720 = { + title = wc_elemental_ritual_events.1720.title + desc = { + first_valid = { + triggered_desc = { + trigger = { + has_character_flag = wc_ritual_stratagem + } + desc = wc_elemental_ritual_events.1720.desc.opening_stratagem + } + desc = wc_elemental_ritual_events.1720.desc.opening_normal + } + desc = wc_elemental_ritual_events.1720.desc.ending + } + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + + # Can actually lose this one + option = { + name = wc_elemental_ritual_events.1720.opt.a + duel = { + skills = { diplomacy intrigue } + value = decent_skill_rating + 60 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_1 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 10 25 } + } + trigger_event = { + id = wc_elemental_ritual_events.1730 + days = { 10 30 } + } + } + 40 = { # Higher chance to lose if stratagem was used + modifier = { + add = 15 + has_character_flag = wc_ritual_stratagem + } + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + add_character_flag = { + flag = wc_ritual_failed_2 + days = 300 + } + custom_tooltip = wc_siege_fails + trigger_event = { + id = wc_elemental_ritual_events.1802 + days = { 10 30 } + } + } + } + } +} + +# enter the sanctum and battle the firelord +wc_elemental_ritual_events.1730 = { + title = wc_elemental_ritual_events.1720.title + desc = { + first_valid = { + triggered_desc = { + trigger = { + has_character_flag = wc_ritual_infiltration + } + desc = wc_elemental_ritual_events.1730.desc.opening_infiltration + } + desc = wc_elemental_ritual_events.1730.desc.opening_normal + } + desc = wc_elemental_ritual_events.1730.desc.ending + } + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + # Can actually lose this one + option = { + name = wc_elemental_ritual_events.1730.opt.a + duel = { + skills = { diplomacy intrigue } + value = decent_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + min = -49 + } + custom_tooltip = wc_siege_continues_1 + change_variable = { + name = wc_decay_ritual_elemental_loyalty + add = { 15 25 } + } + trigger_event = { + id = wc_elemental_ritual_events.1801 + days = { 10 30 } + } + } + 50 = { # Higher chance to lose if infiltration was used + modifier = { + add = 15 + has_character_flag = wc_ritual_infiltration + } + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + min = -49 + } + add_character_flag = { + flag = wc_ritual_failed_3 + days = 300 + } + if = { + limit = { + NOT = { has_character_flag = wc_ritual_infiltration } + } + add_character_flag = { + flag = wc_ritual_partial + days = 120 + } + } + custom_tooltip = wc_siege_fails + trigger_event = { + id = wc_elemental_ritual_events.1802 + days = { 10 30 } + } + } + } + } +} + +# # accept the Firelord's surrender +# we not doing this ? +# wc_elemental_ritual_events.1800 = { +# title = wc_elemental_ritual_events.1800.title +# desc = wc_elemental_ritual_events.1800.desc +# theme = elemental_fire +# override_background = { reference = bp1_bonfire } + +# } + + +# return victorious with many elemental slaves +wc_elemental_ritual_events.1801 = { + title = wc_elemental_ritual_events.1801.title + desc = wc_elemental_ritual_events.1801.desc + theme = elemental_fire + override_background = { reference = bp1_bonfire } + # get fire elementals + # x loyalty amount fire tempests + buff modifier + + option = { + name = wc_elemental_ritual_events.1801.opt + add_character_modifier = { + modifier = wc_elemental_fire_planar_fire_decay_win_modifier + years = 2 + } + spawn_army = { + uses_supply = no + inheritable = yes + name = wc_planar_fire_army + men_at_arms = { + type = fire_elemental + stacks = 2 + } + men_at_arms = { + type = fire_terrestrial + stacks = 5 + } + men_at_arms = { + type = fire_tempest + stacks = var:wc_decay_ritual_elemental_loyalty + } + location = root.capital_province + } + } +} + +# defeated by firelord +wc_elemental_ritual_events.1802 = { + title = wc_elemental_ritual_events.1802.title + desc = { # Introduction based on when failed the siege + first_valid = { + triggered_desc = { + trigger = { + has_character_flag = wc_ritual_failed_1 + } + desc = wc_elemental_ritual_events.1802.desc.stage_town + } + triggered_desc = { + trigger = { + has_character_flag = wc_ritual_failed_2 + } + desc = wc_elemental_ritual_events.1802.desc.stage_sanctum + } + triggered_desc = { + trigger = { + has_character_flag = wc_ritual_failed_3 + } + desc = wc_elemental_ritual_events.1802.desc.stage_firelord + } + } + first_valid = { + triggered_desc = { # Partial thing + trigger = { + has_character_flag = wc_ritual_partial + } + desc = wc_elemental_ritual_events.1802.desc.degree_partial + } + triggered_desc = { # If failed from the first start, then it's awful and you get nothing + trigger = { + OR = { + has_character_flag = wc_ritual_failed_1 + AND = { + has_character_flag = wc_ritual_failed_2 + has_character_flag = wc_ritual_stratagem + } + AND = { + has_character_flag = wc_ritual_failed_3 + has_character_flag = wc_ritual_infiltration + } + } + } + desc = wc_elemental_ritual_events.1802.desc.degree_awful + } + # Otherwise it's just bad, but you still get nothing + desc = wc_elemental_ritual_events.1802.desc.degree_bad + } + } + + immediate = { + if = { + limit = { + OR = { + has_character_flag = wc_ritual_failed_1 + AND = { + has_character_flag = wc_ritual_failed_2 + has_character_flag = wc_ritual_stratagem + } + AND = { + has_character_flag = wc_ritual_failed_3 + has_character_flag = wc_ritual_infiltration + } + } + } + add_character_flag = { # Increases cast time of next Planar Fire + flag = wc_ritual_failed_awful + years = 10 + } + } + } + + theme = elemental_fire + override_background = { reference = bp1_bonfire } + + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { + OR = { + has_character_flag = wc_ritual_failed_1 + AND = { + has_character_flag = wc_ritual_failed_2 + has_character_flag = wc_ritual_stratagem + } + AND = { + has_character_flag = wc_ritual_failed_3 + has_character_flag = wc_ritual_infiltration + } + } + } + desc = wc_elemental_ritual_events.1802.opt_awful + } + desc = wc_elemental_ritual_events.1802.opt + } + } + } + if = { + limit = { + NOR = { + has_character_flag = wc_ritual_failed_1 + AND = { + has_character_flag = wc_ritual_failed_2 + has_character_flag = wc_ritual_stratagem + } + AND = { + has_character_flag = wc_ritual_failed_3 + has_character_flag = wc_ritual_infiltration + } + } + } + # get fire terrestrial + # x loyalty amount fire tempests + spawn_army = { + uses_supply = no + inheritable = yes + name = wc_planar_fire_army + men_at_arms = { + type = fire_terrestrial + stacks = 1 + } + men_at_arms = { + type = fire_tempest + stacks = var:wc_decay_ritual_elemental_loyalty + } + location = root.capital_province + } + } + } +} + +###################################### +# 2000 - 2499 +# Water Ritual (Spirit) +###################################### + +# Waterside meditation? -- chill with the Snorks (https://youtu.be/jRJHu66k3a8) and become Aquaman? + +###################################### +# 2500 - 2999 +# Water Ritual (Decay) +###################################### + +# Corrupting water & water elementals throughout Azeroth, maybe seeping into water plane + +###################################### +# 3000 - 3499 +# Air Ritual (Spirit) +###################################### + +# go to heaven lol + +###################################### +# 3500 - 3999 +# Air Ritual (Decay) +###################################### + +# Create a crazy thunderstorm, destruction, death, etc + +###################################### +# 4000 - 4499 +# Earth Ritual (Spirit) +###################################### + +# Work with earth elementals to help heal the earth, build mountains, etc lol + +###################################### +# 4500 - 4999 +# Earth Ritual (Decay) +###################################### + +# Attempt to great sundering 2 so you can get earth elementals + diff --git a/events/magic_events/wc_magic_decisions_events.txt b/events/magic_events/wc_magic_decisions_events.txt new file mode 100644 index 0000000000..a82392d8fe --- /dev/null +++ b/events/magic_events/wc_magic_decisions_events.txt @@ -0,0 +1,280 @@ +namespace = magic_decisions + +# ███ ███ █████ ██████ ██ ██████ +# ████ ████ ██ ██ ██ ██ ██ +# ██ ████ ██ ███████ ██ ███ ██ ██ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ ██ ██ ██████ ██ ██████ + +# ██████ ███████ ██████ ██ ███████ ██ ██████ ███ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ +# ██ ██ █████ ██ ██ ███████ ██ ██ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██████ ███████ ██████ ██ ███████ ██ ██████ ██ ████ ███████ + +# ███████ ██ ██ ███████ ███ ██ ████████ ███████ +# ██ ██ ██ ██ ████ ██ ██ ██ +# █████ ██ ██ █████ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ████ ███████ ██ ████ ██ ███████ + +################################################################## +# 0001- 0099 : Recruit Court Mage +################################################################## + +# there are two versions of this because i think we are going to need lots of options for this in the future. + +# normal court mage recruitment +magic_decisions.0001 = { + + type = character_event + title = magic_decisions.0001.title + desc = magic_decisions.0001.desc + theme = witchcraft + + left_portrait = { + character = scope:random_legal_mage + animation = learning + } + + right_portrait = { + character = scope:random_shady_mage + animation = seduction + } + + #lower_center_portrait = scope:extra_option_mage + + immediate = { + create_character = { + template = court_mage_random_character + location = root.location + save_scope_as = random_legal_mage + } + create_character = { + template = court_mage_shady_character + location = root.location + save_scope_as = random_shady_mage + } + } + + # normal mage + option = { + name = magic_decisions.0001.opt.a + hire_court_mage_effect = { MAGE = scope:random_legal_mage EMPLOYER = root } + pay_short_term_gold = { + target = scope:random_legal_mage + gold = medium_gold_value + } + } + + # shady mage + option = { + name = magic_decisions.0001.opt.b + hire_court_mage_effect = { MAGE = scope:random_shady_mage EMPLOYER = root } + scope:random_shady_mage = { + progress_towards_friend_effect = { + CHARACTER = root + REASON = friend_hired_court_mage + OPINION = 15 + } + } + } + + # nobody + option = { + name = magic_decisions.0001.opt.f + } + + after = { + scope:random_shady_mage = { + if = { limit = { NOT = { has_court_position = court_mage_court_position } } + silent_disappearance_effect = yes + } + } + scope:random_legal_mage = { + if = { limit = { NOT = { has_court_position = court_mage_court_position } } + silent_disappearance_effect = yes + } + } + } +} + +# human / high elf court mage recruitment +magic_decisions.0002 = { + + type = character_event + title = magic_decisions.0002.title + desc = { + first_valid = { + triggered_desc = { + trigger = { culture = { has_human_heritage_trigger = yes } } + desc = magic_decisions.0002.desc.opening_human + } + desc = magic_decisions.0002.desc.opening_elven + } + desc = magic_decisions.0002.desc.ending + } + theme = witchcraft + + left_portrait = { + character = scope:random_legal_mage + animation = learning + } + + right_portrait = { + character = scope:dalaranian_mage + animation = stewardship + } + + lower_right_portrait = scope:random_shady_mage + + #lower_center_portrait = scope:extra_option_mage + + immediate = { + create_character = { + template = court_mage_random_character + location = root.location + save_scope_as = random_legal_mage + } + create_character = { + template = court_mage_shady_character + location = root.location + save_scope_as = random_shady_mage + } + create_character = { + template = court_mage_dalaranian_character + location = root.location + save_scope_as = dalaranian_mage + } + } + + # dalaran mage + option = { + name = magic_decisions.0002.opt.a + hire_court_mage_effect = { MAGE = scope:dalaranian_mage EMPLOYER = root } + if = { limit = { NOT = { culture = culture:dalaranian } } + pay_short_term_gold = { + target = scope:dalaranian_mage + gold = medium_gold_value + } + } + if = { limit = { culture = { has_human_heritage_trigger = yes } } + add_piety = minor_piety_gain + } + else = { + add_piety = minor_piety_loss + } + ai_chance = { + base = 50 + modifier = { + add = 200 + culture = { has_human_heritage_trigger = yes } + } + } + } + + # normal mage (human) + option = { + name = magic_decisions.0002.opt.b + trigger = { + culture = { has_human_heritage_trigger = yes } + NOT = { culture = culture:dalaranian } + } + hire_court_mage_effect = { MAGE = scope:random_legal_mage EMPLOYER = root } + pay_short_term_gold = { + target = scope:random_legal_mage + gold = minor_gold_value + } + scope:random_legal_mage = { + progress_towards_friend_effect = { + CHARACTER = root + REASON = friend_hired_court_mage + OPINION = 15 + } + } + add_piety = minor_piety_loss + ai_chance = { + base = 50 + } + } + + # normal mage (nonhuman) + option = { + name = magic_decisions.0002.opt.c + trigger = { + OR = { + culture = { has_human_heritage_trigger = no } + culture = culture:dalaranian + } + } + hire_court_mage_effect = { MAGE = scope:random_legal_mage EMPLOYER = root } + if = { + limit = { NOT = { culture = culture:dalaranian } } + pay_short_term_gold = { + target = scope:random_legal_mage + gold = minor_gold_value + } + } + scope:random_legal_mage = { + progress_towards_friend_effect = { + CHARACTER = root + REASON = friend_hired_court_mage + OPINION = 15 + } + } + if = { + limit = { NOT = { culture = culture:dalaranian } } + add_piety = minor_piety_gain + } + ai_chance = { + base = 250 + } + } + + # shady mage + option = { + name = magic_decisions.0002.opt.d + hire_court_mage_effect = { MAGE = scope:random_shady_mage EMPLOYER = root } + scope:random_shady_mage = { + progress_towards_friend_effect = { + CHARACTER = root + REASON = friend_hired_court_mage + OPINION = 15 + } + } + add_piety = minor_piety_loss + ai_chance = { + base = 50 + ai_value_modifier = { + ai_boldness = 1 + ai_zeal = -1 + ai_rationality = -1 + ai_greed = 0.25 + } + } + } + + # nobody + option = { + name = magic_decisions.0002.opt.f + } + + after = { + scope:random_shady_mage = { + if = { limit = { NOT = { has_court_position = court_mage_court_position } } + silent_disappearance_effect = yes + } + } + scope:random_legal_mage = { + if = { limit = { NOT = { has_court_position = court_mage_court_position } } + silent_disappearance_effect = yes + } + } + scope:dalaranian_mage = { + if = { limit = { NOT = { has_court_position = court_mage_court_position } } + silent_disappearance_effect = yes + } + } + } + +} \ No newline at end of file diff --git a/events/magic_events/wc_magic_lifestyle_events.txt b/events/magic_events/wc_magic_lifestyle_events.txt new file mode 100644 index 0000000000..3834f54bfb --- /dev/null +++ b/events/magic_events/wc_magic_lifestyle_events.txt @@ -0,0 +1,76 @@ +namespace = magic_lifestyle + +# ███ ███ █████ ██████ ██ ██████ +# ████ ████ ██ ██ ██ ██ ██ +# ██ ████ ██ ███████ ██ ███ ██ ██ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ ██ ██ ██████ ██ ██████ + +# ██ ██ ███████ ███████ ███████ ████████ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ █████ █████ ███████ ██ ████ ██ █████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ██ ██ ███████ ███████ ██ ██ ███████ ███████ + +# ███████ ██ ██ ███████ ███ ██ ████████ ███████ +# ██ ██ ██ ██ ████ ██ ██ ██ +# █████ ██ ██ █████ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ████ ███████ ██ ████ ██ ███████ + +# "take good care of my baby!" - Shatterstar, Jan 2024 + +################################################################## +# 0000 - 0999 : Events Immediately Following Lifestyle Selection +# (one year or less) +################################################################## + +# TODO: ADD EVENTS HERE! + +# TODO: magic_lifestyle.0100 - + + +####################################### +# 1000 - 1999 # +# Elemental Lifestyle Events # +####################################### + + +####################################### +# 1000 - 1099 Elemental Fire: Spirit +####################################### + + + +################################################################# +# 1100 - 1199 Elemental Fire: Decay +################################################################# + + + +################################################################# +# 1200 - 1299 Elemental Fire: All +################################################################# + + + +################################################################## +# 9000 - 9999 : +# (all lifestyles: yearly pulse) +################################################################## + + + + +# Additional ideas: +# - Blackmailer coerces you to do illegal magic for them +# - You have an opportunity to do illegal magic on your blackmailer only you can remove +# -- If the blackmailer doesnt know anyone else that can do that kind of magic, they will likely accept! +# - Blackmailer wants to learn this illegal magic from you +# -- Dark Apprentice story cycle???????? could be fun! + +################################################################## +# 8000 - 9999 : Random Magic Lifestyle Events +################################################################## + +# TODO: ADD EVENTS HERE! diff --git a/events/magic_events/wc_magic_perk_event.txt b/events/magic_events/wc_magic_perk_event.txt new file mode 100644 index 0000000000..51b8ab0a80 --- /dev/null +++ b/events/magic_events/wc_magic_perk_event.txt @@ -0,0 +1,219 @@ +namespace = magic_perk + +# Arcane Intellect by Robmart +magic_perk.0001 = { + title = magic_perk.0001.title + desc = magic_perk.0001.desc + theme = order + + left_portrait = { + character = root + animation = happiness + } + + option = { + name = magic_perk.0001.a + add_diplomacy_skill = 2 + } + + option = { + name = magic_perk.0001.b + add_martial_skill = 2 + } + + option = { + name = magic_perk.0001.c + add_stewardship_skill = 2 + } + + option = { + name = magic_perk.0001.d + add_intrigue_skill = 2 + } + + option = { + name = magic_perk.0001.e + add_learning_skill = 2 + } + + # option = { + # name = magic_perk.0001.f + # add_prowess_skill = 2 + # } +} + +# Holy Aura by Dione +magic_perk.0002 = { + title = magic_perk.0002.title + desc = magic_perk.0002.desc + theme = light + + left_portrait = { + character = root + animation = happiness + } + + option = { + name = magic_perk.0002.devotion + add_character_modifier = wc_devotion_aura_modifier + } + + option = { + name = magic_perk.0002.retribution + custom_tooltip = magic_perk.0002.retribution_tooltip + add_character_flag = wc_retribution_aura_flag + } + + option = { + name = magic_perk.0002.concentration + add_character_modifier = wc_concentration_aura_modifier + } + + option = { + name = magic_perk.0002.vengeance + add_character_modifier = wc_vengeance_aura_modifier + } + +} + +magic_perk.0010 = { + title = magic_perk.0010.title + desc = magic_perk.0010.desc + theme = elemental_water + + left_portrait = { + character = root + animation = thinking + } + + option = { + name = magic_perk.0010.coastal + add_character_flag = aquatic_bounty_coastal + every_sub_realm_title = { + limit = { + tier = tier_county + } + every_county_province = { + limit = { + is_coastal = yes + } + add_to_list = targets + } + } + + custom_tooltip = { + text = magic_perk.0010.coastal.effect + save_temporary_scope_value_as = { + name = targets_size + value = list_size:targets + } + every_in_list = { + list = targets + add_province_modifier = { + modifier = wc_aquatic_bounty_coastal_modifier + days = 30 + } + } + } + } + + option = { + name = magic_perk.0010.riverside + add_character_flag = aquatic_bounty_riverside + every_sub_realm_title = { + limit = { + tier = tier_county + } + every_county_province = { + limit = { + is_riverside_province = yes + } + add_to_list = targets + } + } + + custom_tooltip = { + text = magic_perk.0010.riverside.effect + save_temporary_scope_value_as = { + name = targets_size + value = list_size:targets + } + every_in_list = { + list = targets + add_province_modifier = { + modifier = wc_aquatic_bounty_riverside_modifier + days = 30 + } + } + } + } + + after = { + trigger_event = { + on_action = on_aquatic_bounty_pulse + days = 29 + } + } +} + +magic_perk.0020 = { + title = magic_perk.0020.title + desc = magic_perk.0020.desc + theme = elemental_water + + left_portrait = { + character = root + animation = incapable + } + + immediate = { + add_trait = hibernation + + random_list = { + 50 = { + trigger = { + target_has_injury_trigger = yes + } + remove_injury_effect = { REDUCE_SEVERITY = yes } + } + 50 = { + trigger = { + target_has_poison_trigger = yes + } + remove_poison_effect = yes + } + } + + trigger_event = { + on_action = on_hibernation_removal + months = 3 + } + } + + option = { + name = magic_perk.0020.a + } +} + +magic_perk.0021 = { + title = magic_perk.0021.title + desc = magic_perk.0021.desc + theme = elemental_water + + left_portrait = { + character = root + animation = delirium + } + + immediate = { + remove_trait = hibernation + add_character_modifier = { + modifier = wc_lingering_hibernation_modifier + months = 3 + } + } + + option = { + name = magic_perk.0021.a + } +} \ No newline at end of file diff --git a/events/magic_events/wc_magic_secret_events.txt b/events/magic_events/wc_magic_secret_events.txt new file mode 100644 index 0000000000..e4fd9f799c --- /dev/null +++ b/events/magic_events/wc_magic_secret_events.txt @@ -0,0 +1,295 @@ +namespace = magic_secret + +################################################################## +# 0001 - 0999 : Magic Secret Events +# (all lifestyles yearly pulse) +################################################################## + +# - + +################################################################## +# 1000 - 1999 : Magic Secret Discovery Events +# (one year or less) - By Shatterstar +################################################################## + +# magic secret exposed - owner +magic_secret.1001 = { + type = character_event + title = { + first_valid = { + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_light_magic_user} } + desc = magic_secret.1001.title.light + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_shadow_magic_user} } + desc = magic_secret.1001.title.shadow + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_order_magic_user} } + desc = magic_secret.1001.title.order + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_disorder_magic_user} } + desc = magic_secret.1001.title.disorder + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_life_magic_user} } + desc = magic_secret.1001.title.life + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_death_magic_user} } + desc = magic_secret.1001.title.death + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_fire_magic_user} } + desc = magic_secret.1001.title.fire + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_fire_spirit_magic_user} } + # desc = magic_secret.1001.title.fire_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_fire_decay_magic_user} } + # desc = magic_secret.1001.title.fire_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_water_magic_user} } + desc = magic_secret.1001.title.water + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_water_spirit_magic_user} } + # desc = magic_secret.1001.title.water_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_water_decay_magic_user} } + # desc = magic_secret.1001.title.water_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_air_magic_user} } + desc = magic_secret.1001.title.air + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_air_spirit_magic_user} } + # desc = magic_secret.1001.title.air_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_air_decay_magic_user} } + # desc = magic_secret.1001.title.air_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_earth_magic_user} } + desc = magic_secret.1001.title.earth + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_earth_spirit_magic_user} } + # desc = magic_secret.1001.title.earth_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_earth_decay_magic_user} } + # desc = magic_secret.1001.title.earth_d + # } + desc = magic_secret.1001.title + } + } + + desc = { + first_valid = { + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_light_magic_user} } + desc = magic_secret.1001.desc.light + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_shadow_magic_user} } + desc = magic_secret.1001.desc.shadow + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_order_magic_user} } + desc = magic_secret.1001.desc.order + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_disorder_magic_user} } + desc = magic_secret.1001.desc.disorder + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_life_magic_user} } + desc = magic_secret.1001.desc.life + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_death_magic_user} } + desc = magic_secret.1001.desc.death + } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_fire_magic_user} } + desc = magic_secret.1001.desc.fire + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_fire_spirit_magic_user} } + # desc = magic_secret.1001.desc.fire_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_fire_decay_magic_user} } + # desc = magic_secret.1001.desc.fire_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_water_magic_user} } + desc = magic_secret.1001.desc.water + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_water_spirit_magic_user} } + # desc = magic_secret.1001.desc.water_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_water_decay_magic_user} } + # desc = magic_secret.1001.desc.water_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_air_magic_user} } + desc = magic_secret.1001.desc.air + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_air_spirit_magic_user} } + # desc = magic_secret.1001.desc.air_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_air_decay_magic_user} } + # desc = magic_secret.1001.desc.air_d + # } + triggered_desc = { + trigger = { scope:secret = {secret_type = secret_elemental_earth_magic_user} } + desc = magic_secret.1001.desc.earth + } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_earth_spirit_magic_user} } + # desc = magic_secret.1001.desc.earth_s + # } + # triggered_desc = { + # trigger = { scope:secret = {secret_type = secret_elemental_earth_decay_magic_user} } + # desc = magic_secret.1001.desc.earth_d + # } + } + } + + theme = secret + left_portrait = scope:secret_exposer + + immediate = { + secret_exposed_owner_effects_effect = { SECRET = scope:secret POV = root } + secret_exposed_owner_opinion_effects_effect = yes + play_music_cue = "mx_cue_secret" + wc_magic_lifestyle_secret_reveal_effect = yes + } + + option = { + name = magic_secret.1001.opt.a + + hidden_effect = { + scope:secret_owner = { + save_list_targets_for_secret_exposure_events_effect = { SECRET = scope:secret CHARACTER = scope:secret_owner } + } + + every_in_list = { + list = send_exposed_secret_event_list + trigger_event = magic_secret.1011 + } + } + } +} + +# magic secret exposed - family/friend +magic_secret.1011 = { + type = character_event + title = magic_secret.1011.title + desc = magic_secret.1011.desc + + theme = secret + + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { + #OR = { + #any_secret = { secret_type = scope:secret.secret_type } + scope:secret = { has_magic_secret_associated_trait = { CHARACTER = root } } + #} + } + desc = magic_secret.1011.opt.a.sympathetic + } + triggered_desc = { + trigger = { + has_trait = lazy has_trait = eccentric has_trait = cynical + } + desc = magic_secret.1011.opt.a.indifferent + } + triggered_desc = { + trigger = {} + desc = magic_secret.1011.opt.a.hostile + } + } + } + } + + } + + # liege - imprison + option = { + name = magic_secret.1011.opt.b + trigger = { allowed_to_imprison_character_trigger = { CHARACTER = scope:owner } } + + imprison_character_effect = { + TARGET = scope:owner + IMPRISONER = root + } + + if = { + limit = { scope:secret = { has_magic_secret_associated_trait = { CHARACTER = root } } } + stress_impact = { + base = medium_stress_impact_gain + callous = miniscule_stress_impact_gain + arbitrary = miniscule_stress_impact_gain + } + } + } + + #family member - denounce + option = { + name = magic_secret.1011.opt.c + scope:secret_owner = { + if = { + limit = { has_fp3_dlc_trigger = yes } + add_opinion = { + target = root + modifier = fp3_denounced_me + } + } + else = { + add_opinion = { + target = root + modifier = angry_opinion + opinion = 30 + } + } + } + add_piety = 25 + } + + #family member - support + option = { + name = magic_secret.1011.opt.d + scope:secret_owner = { + add_opinion = { + target = root + modifier = kindness_opinion + opinion = 30 + } + } + add_piety = -25 + } + + # ask to become dark apprentice + # option = { + # name = magic_secret.1011.opt.e + # } +} \ No newline at end of file diff --git a/events/magic_events/wc_magic_spell_events.txt b/events/magic_events/wc_magic_spell_events.txt new file mode 100644 index 0000000000..0efc3c610d --- /dev/null +++ b/events/magic_events/wc_magic_spell_events.txt @@ -0,0 +1,3197 @@ +namespace = wc_magic_spell_events + +########## 0001 - 0999 Order Magic Events +########## 1000 - 1999 Light Magic Events +### 1000 - 1100 Salvation Events +########### 2000 - 2999 Shadow Magic Events +### 2000 - 2199 Void Leader Events +### 2200 - 2399 Voidborne Events +### 2400 - 2599 Ascension Events +### 2600 - 2799 Whispers of the Old ones Events +########### 3000 - 3999 Death Magic Events +########### 4000 - 4999 Life Magic Events +########### 5000 - 5999 Fel Magic Events +########### 6000 - 8999 Elemental Magic Events +########### 9000 - 9999 Random Magic Events +### 9000 - Remove Incapable Event + +# Add Ice Block +wc_magic_spell_events.0001 = { + title = wc_magic_spell_events.0001.title + desc = wc_magic_spell_events.0001.desc + theme = order + + left_portrait = { + character = root + } + + right_portrait = { + character = scope:ice_caster + animation = disapproval + } + + immediate = { + remove_character_modifier = wc_frost_armor_modifier + add_trait = ice_block + } + + option = { + name = wc_magic_spell_events.0001.a + + trigger_event = { + id = wc_magic_spell_events.0002 + months = 6 + } + } +} + +# Remove Ice Block +wc_magic_spell_events.0002 = { + hidden = yes + immediate = { + remove_trait = ice_block + } +} + +# Remove Polymorph +wc_magic_spell_events.0100 = { + hidden = yes + immediate = { + remove_trait = polymorph + add_prowess_skill = { + value = scope:polymorph_prowess + multiply = -1 + } + } +} + +# Conjure Refreshment Events +wc_magic_spell_events.0200 = { + type = character_event + title = wc_magic_spell_events.0200.title + desc = wc_magic_spell_events.0200.desc + theme = order + + left_portrait = { + character = root + animation = toast + } + + option = { + name = wc_magic_spell_events.0200.a + + custom_tooltip = wc_magic_spell_events.0200.a.tt + set_variable = { + name = selected_refreshment + value = flag:food + } + } + + option = { + name = wc_magic_spell_events.0200.b + + custom_tooltip = wc_magic_spell_events.0200.b.tt + set_variable = { + name = selected_refreshment + value = flag:drink + } + } +} + +wc_magic_spell_events.0300 = { + type = activity_event + title = wc_magic_spell_events.0300.title + desc = wc_magic_spell_events.0300.desc + theme = feast_activity + override_icon = { + reference = "gfx/interface/icons/icon_order_magic.dds" + } + + left_portrait = { + character = root + animation = toast_goblet + } + + immediate = { + remove_character_modifier = wc_conjure_feast_modifier + if = { + limit = { + has_variable = conjure_feast_duration + } + var:conjure_feast_duration = { + save_scope_as = duration + } + remove_variable = conjure_feast_duration + } + else = { + save_scope_value_as = { + name = duration + value = wc_spell_conjure_refreshment_duration_days_value + } + } + scope:activity = { + set_variable = { + name = duration + value = scope:duration + } + } + } + + option = { + name = wc_magic_spell_events.0300.a + + custom_tooltip = wc_magic_spell_events.0300.a.tt + scope:activity = { + set_variable = { + name = selected_refreshment + value = flag:food + } + hidden_effect = { + every_attending_character = { + add_character_modifier = { + modifier = wc_conjure_food_modifier + days = wc_current_spell_duration + } + } + } + } + } + + option = { + name = wc_magic_spell_events.0300.b + + custom_tooltip = wc_magic_spell_events.0300.b.tt + scope:activity = { + set_variable = { + name = selected_refreshment + value = flag:drink + } + hidden_effect = { + every_attending_character = { + add_character_modifier = { + modifier = wc_conjure_drink_modifier + days = wc_current_spell_duration + } + } + } + } + } + + after = { + trigger_event = feast.7002 + } +} + +# Chronomancy Event +wc_magic_spell_events.0400 = { + hidden = yes + + trigger = { + has_character_flag = chronomancy_active + OR = { + has_variable_list = chronomancy_trait_list + has_variable_list = chronomancy_modifier_list + } + } + + immediate = { + save_scope_as = chronomancer + every_character_trait = { + limit = { + NOT = { + has_trait_category = lifestyle + } + } + save_scope_as = this_trait + root = { + remove_trait = scope:this_trait + } + } + every_in_list = { + variable = chronomancy_trait_list + save_scope_as = this_trait + root = { + add_trait = scope:this_trait + } + } + clear_variable_list = chronomancy_trait_list + + set_local_variable = { name = modifier_counter value = 0 } + + while = { + limit = { + variable_list_size = { + name = chronomancy_modifier_list + value > local_var:modifier_counter + } + } + + ordered_in_list = { + variable = chronomancy_modifier_list + position = local_var:modifier_counter + save_scope_as = modifier + } + ordered_in_list = { + variable = chronomancy_modifier_duration_list + position = local_var:modifier_counter + save_scope_as = duration + } + + every_spell_modifier_effect = { EFFECT = chronomancy_restore_modifier_effect } + + change_local_variable = { + name = modifier_counter + add = 1 + } + } + + send_interface_toast = { + title = chronomancy.toast + desc = chronomancy.toast.desc + left_icon = root + } + + clear_variable_list = chronomancy_modifier_list + clear_variable_list = chronomancy_modifier_duration_list + remove_character_flag = chronomancy_active + } +} + +# Salvation Events +# You are saved by Salvation +wc_magic_spell_events.1000 = { + type = character_event + theme = light + override_background = { + reference = bp1_bonfire + } + title = wc_magic_spell_events.1000.title + desc = { + desc = wc_magic_spell_events.1000.desc + first_valid = { # How did I die? + triggered_desc = { + trigger = { + scope:death_reason = flag:death_childbirth + } + desc = wc_magic_spell_events.1000.desc.death_childbirth + } + triggered_desc = { + trigger = { + scope:death_reason = flag:death_duel + } + desc = wc_magic_spell_events.1000.desc.death_duel + } + triggered_desc = { + trigger = { + scope:death_reason = flag:death_execution + } + desc = wc_magic_spell_events.1000.desc.death_execution + } + triggered_desc = { + trigger = { + scope:death_reason = flag:death_dungeon + } + desc = wc_magic_spell_events.1000.desc.death_dungeon + } + triggered_desc = { + trigger = { + scope:death_reason = flag:death_battle + } + desc = wc_magic_spell_events.1000.desc.death_battle + } + triggered_desc = { + trigger = { + scope:death_reason = flag:death_stress + } + desc = wc_magic_spell_events.1000.desc.death_stress + } + triggered_desc = { + trigger = { + OR = { + target_has_magic_illness_trigger = yes + target_has_illness_trigger = yes + target_has_major_illness_trigger = yes + target_has_injury_trigger = yes + target_has_major_injury_trigger = yes + target_has_magic_injury_trigger = yes + scope:death_reason = flag:death_wounds + } + } + desc = wc_magic_spell_events.1000.desc.death_illness + } + desc = wc_magic_spell_events.1000.desc.death_none + } + first_valid = { # Acknowledge the caster if they are alive + triggered_desc = { + trigger = { + scope:salvation_caster ?= { + is_alive = yes + } + } + desc = wc_magic_spell_events.1000.desc.caster_alive + } + desc = wc_magic_spell_events.1000.desc.caster_dead + } + desc = wc_magic_spell_events.1000.desc.middle + first_valid = { # Do you believe in the light or not? + triggered_desc = { + trigger = { + faith = { has_doctrine = doctrine_light_magic_approved } + } + desc = wc_magic_spell_events.1000.desc.light_idolised + } + triggered_desc = { + trigger = { + faith = { has_doctrine = doctrine_light_magic_accepted } + } + desc = wc_magic_spell_events.1000.desc.light_ok + } + triggered_desc = { + trigger = { + faith = { has_doctrine = doctrine_light_magic_ignored } + } + desc = wc_magic_spell_events.1000.desc.nonbeliever + } + triggered_desc = { + trigger = { + OR = { + faith = { has_doctrine = doctrine_light_magic_shunned } + faith = { has_doctrine = doctrine_light_magic_crime } + } + } + desc = wc_magic_spell_events.1000.desc.bad + } + desc = wc_magic_spell_events.1000.desc.none + } + } + + immediate = { + var:salvation_caster = { + save_scope_as = salvation_caster + } + } + + lower_center_portrait = { + character = scope:salvation_caster + animation = idle + } + + left_portrait = { + character = root + animation = happiness + } + + option = { + name = wc_magic_spell_events.1000.a + proc_salvation_effect = yes + + if = { + limit = { # Don't double notify + exists = scope:killer + NOT = { scope:killer = scope:salvation_caster } + } + scope:killer = { + root = { save_scope_as = saved_character } + trigger_event = { + id = wc_magic_spell_events.1002 + days = { 2 5 } + } + } + } + + if = { + limit = { + scope:salvation_caster = { is_alive = yes } + } + scope:salvation_caster = { + root = { save_scope_as = saved_character } + trigger_event = { + id = wc_magic_spell_events.1001 + days = { 2 5 } + } + } + } + + ai_chance = { + base = 100 + } + } + + option = { + name = wc_magic_spell_events.1000.b + if = { + limit = { exists = scope:killer } + death = { death_reason = death_salvation_killer killer = scope:killer } + } + else = { + death = { death_reason = death_salvation } + } + + if = { + limit = { + scope:salvation_caster = { is_alive = yes } + } + scope:salvation_caster = { + root = { save_scope_as = saved_character } + trigger_event = { + id = wc_magic_spell_events.1003 + days = { 2 5 } + } + } + } + + ai_chance = { + base = 25 + } + } +} + +# You saved someone with Salvation +wc_magic_spell_events.1001 = { + title = wc_magic_spell_events.1000.title + desc = wc_magic_spell_events.1001.desc + type = character_event + theme = light + + immediate = { + show_as_tooltip = { + root = { save_scope_as = salvation_caster } + scope:saved_character = { + proc_salvation_effect = yes + } + } + } + + left_portrait = { + character = root + animation = happiness + } + + lower_center_portrait = { + character = scope:saved_character + animation = idle + } + + option = { + name = wc_magic_spell_events.1001.a + } +} + +# Someone you tried to kill was saved by Salvation +wc_magic_spell_events.1002 = { + title = wc_magic_spell_events.1000.title + desc = wc_magic_spell_events.1002.desc + type = character_event + theme = light + + immediate = { + stress_impact = { + base = major_stress_impact_gain + } + show_as_tooltip = { + root = { save_scope_as = killer } + scope:saved_character = { + proc_salvation_effect = yes + } + } + } + + left_portrait = { + character = root + animation = anger + } + + lower_center_portrait = { + character = scope:saved_character + animation = idle + } + + option = { + name = wc_magic_spell_events.1002.a + } +} + +# You saved someone with Salvation, but they chose to die anyways +wc_magic_spell_events.1003 = { + title = wc_magic_spell_events.1000.title + desc = wc_magic_spell_events.1003.desc + type = character_event + theme = light + + immediate = { + stress_impact = { + base = medium_stress_impact_gain + } + show_as_tooltip = { + scope:saved_character = { + if = { + limit = { exists = scope:killer } + death = { death_reason = death_salvation_killer killer = scope:killer } + } + else = { + death = { death_reason = death_salvation } + } + } + } + } + + left_portrait = { + character = root + animation = sadness + } + + lower_center_portrait = { + character = scope:saved_character + animation = idle + } + + option = { + name = wc_magic_spell_events.1003.a + } +} + +# You are saved by Salvation, but you were undead +wc_magic_spell_events.1004 = { + title = wc_magic_spell_events.1000.title + desc = wc_magic_spell_events.1004.desc + type = character_event + theme = light + + immediate = { + remove_trait = being_undead + proc_salvation_effect = yes + } + + left_portrait = { + character = root + animation = happiness + } + + lower_center_portrait = { + character = scope:salvation_caster + animation = idle + } + + option = { + name = { + text = { + first_valid = { + triggered_desc = { + trigger = { + OR = { + has_trait = paranoid + faith = { has_doctrine = doctrine_light_magic_shunned } + faith = { has_doctrine = doctrine_light_magic_crime } + culture = { has_same_culture_heritage = culture:scourge } + } + } + desc = wc_magic_spell_events.1004.a_sus + } + desc = wc_magic_spell_events.1004.a + } + } + } + + if = { + limit = { + OR = { + has_trait = paranoid + faith = { has_doctrine = doctrine_light_magic_shunned } + faith = { has_doctrine = doctrine_light_magic_crime } + culture = { has_same_culture_heritage = culture:scourge } + } + } + stress_impact = { + base = medium_stress_impact_gain + } + } + } +} + +# You saved someone with Salvation, but they were undead +wc_magic_spell_events.1005 = { + title = wc_magic_spell_events.1000.title + desc = wc_magic_spell_events.1005.desc + type = character_event + theme = light + + immediate = { + show_as_tooltip = { + root = { save_scope_as = salvation_caster } + scope:saved_character = { + remove_trait = being_undead + proc_salvation_effect = yes + } + } + } + + left_portrait = { + character = root + animation = happiness + } + + lower_center_portrait = { + character = scope:saved_character + animation = idle + } + + option = { + name = wc_magic_spell_events.1005.a + } +} + +# You summon your void leader +wc_magic_spell_events.2000 = { + title = wc_magic_spell_events.2000.title + desc = { + first_valid = { + triggered_desc = { + trigger = { NOT = { scope:void_leader_caster ?= root } } + desc = wc_magic_spell_events.2000.desc_caster + } + desc = wc_magic_spell_events.2000.desc + } + } + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = thinking + } + + lower_center_portrait = { + character = scope:void_leader_caster + trigger = { exists = scope:void_leader_caster } + animation = idle + } + + right_portrait = { + character = scope:void_leader + animation = war_defender + } + + immediate = { + create_character = { + template = void_leader_character + location = root.location + save_scope_as = void_leader + } + } + + # Yass + option = { + name = wc_magic_spell_events.2000.a + scope:void_leader = { add_character_modifier = wc_void_leader_modifier } + trigger_event = { + id = wc_magic_spell_events.2100 + days = wc_spell_summon_void_leader_duration_days_value + } + add_courtier = scope:void_leader + save_scope_as = void_recipient + hidden_effect = { + if = { + limit = { + NOT = { scope:void_leader_caster ?= root } + } + scope:void_leader_caster = { + send_interface_toast = { + title = void_leader_accepted + left_icon = root + right_icon = scope:void_leader_caster + custom_tooltip = void_leader_accepted_desc + scope:void_recipient = { + add_opinion = { + target = scope:actor + modifier = grateful_opinion + opinion = 15 + } + } + } + } + } + } + + ai_chance = { + base = 150 + opinion_modifier = { + opinion_target = scope:void_leader + multiplier = 1 + } + } + } + + + # Nooo + option = { + name = wc_magic_spell_events.2000.b + + save_scope_as = void_recipient + + hidden_effect = { + if = { + limit = { + NOT = { scope:void_leader_caster ?= root } + } + scope:void_leader_caster = { + send_interface_toast = { + title = void_leader_rejected + left_icon = root + right_icon = scope:void_leader_caster + custom_tooltip = void_leader_rejected_desc + scope:void_recipient = { + add_opinion = { + target = scope:actor + modifier = insult_opinion + opinion = -15 + } + } + } + } + } + } + + ai_chance = { + base = 0 + modifier = { + add = 50 + NOT = { scope:void_leader_caster ?= root } + } + } + } +} + +# Void leader leaves +wc_magic_spell_events.2100 = { + title = wc_magic_spell_events.2000.title + desc = wc_magic_spell_events.2100.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + right_portrait = { + character = scope:void_leader + animation = war_defender + } + + trigger = { + scope:void_leader = { is_alive = yes } + } + + option = { + name = wc_magic_spell_events.2100.a + + scope:void_leader = { + death = { + death_reason = death_twisting_nether + } + } + } +} + +# You become Voidborne, for the caster +wc_magic_spell_events.2200 = { + title = wc_magic_spell_events.2200.title + desc = wc_magic_spell_events.2200.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = root + animation = personality_bold + } + + lower_center_portrait = var:voidborne_person + + immediate = { + add_character_modifier = wc_voidborne_modifier + show_as_tooltip = { var:voidborne_person = { add_trait = in_twisting_nether } } + var:voidborne_person = { save_scope_as = voidborne_person } + } + + option = { + name = wc_magic_spell_events.2201.opt + } + + after = { + var:voidborne_person = { + set_variable = { name = voidborne_tormentor value = root } + trigger_event = { + id = wc_magic_spell_events.2201 + days = 2 + } + } + } +} + +# You are now in the twisting nether because of the voidborne +wc_magic_spell_events.2201 = { + title = wc_magic_spell_events.2200.title + desc = wc_magic_spell_events.2202.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = var:voidborne_tormentor + animation = personality_bold + } + + immediate = { + add_trait = in_twisting_nether + } + + option = { + name = wc_magic_spell_events.2201.opt + } + + after = { + trigger_event = { + id = wc_magic_spell_events.2202 + days = { 28 30 } + } + } +} + +# You get to make a choice to get a strong hook or the voidborne or make them your rival +wc_magic_spell_events.2202 = { + title = wc_magic_spell_events.2200.title + desc = wc_magic_spell_events.2202.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + trigger = { + var:voidborne_tormentor = { is_alive = yes } + } + + on_trigger_fail = { + trigger_event = wc_magic_spell_events.2203 + } + + immediate = { + var:voidborne_tormentor = { save_scope_as = voidborne_tormentor } + } + + left_portrait = { + character = var:voidborne_tormentor + animation = personality_bold + } + + right_portrait = { + character = root + animation = thinking + } + + option = { # Strong Hook + name = wc_magic_spell_events.2202.a + trigger = { + NOT = { has_strong_hook = var:voidborne_tormentor } + } + + add_hook = { + type = voidborne_hook + target = var:voidborne_tormentor + } + } + + option = { # Give stress + name = wc_magic_spell_events.2202.b + + scope:voidborne_tormentor = { + add_stress = major_stress_gain + } + } + + option = { # Try and escape earlier + name = wc_magic_spell_events.2202.c + trigger = { + wc_mp_value >= 25 + } + show_as_unavailable = { + always = yes + } + custom_tooltip = wc_magic_spell_events.2202.c.tt + + random_list = { + 50 = { + desc = wc_magic_spell_events.2202.c.a + send_interface_toast = { + title = wc_magic_spell_events.2202.c.a + type = event_toast_effect_bad + left_icon = root + } + } + 30 = { + desc = wc_magic_spell_events.2202.c.a + send_interface_toast = { + title = wc_magic_spell_events.2202.c.a + type = event_toast_effect_bad + left_icon = root + increase_wounds_effect = { REASON = magic } + } + } + 20 = { + desc = wc_magic_spell_events.2202.c.b + send_interface_toast = { + title = wc_magic_spell_events.2202.c.b + type = event_toast_effect_good + left_icon = root + custom_tooltip = wc_magic_spell_events.2202.c.b.tt + add_character_flag = { flag = returning_from_nether_higher days = 100 } + } + } + 1 = { + send_interface_toast = { + title = wc_magic_spell_events.2202.c.d + type = event_toast_effect_good + left_icon = root + custom_tooltip = wc_magic_spell_events.2202.c.d.tt + add_character_flag = { flag = returning_from_nether days = 10 } + trigger_event = { + id = wc_magic_spell_events.2203 + days = { 90 95 } + } + } + } + } + } + + after = { + if = { + limit = { + NOT = { has_character_flag = returning_from_nether } + } + custom_tooltip = wc_magic_spell_events.2202.tt + trigger_event = { + id = wc_magic_spell_events.2203 + days = { 90 95 } + } + } + } +} + +# You are either let out of the twisting nether or not, naturally or tormentor died +wc_magic_spell_events.2203 = { + title = wc_magic_spell_events.2203.title + desc = { + first_valid = { + triggered_desc = { + trigger = { + var:voidborne_tormentor = { is_alive = no } + has_character_flag = returning_from_nether + } + desc = wc_magic_spell_events.2203.desc_return_dead + } + triggered_desc = { + trigger = { + has_character_flag = returning_from_nether + } + desc = wc_magic_spell_events.2203.desc_return + } + desc = wc_magic_spell_events.2203.desc_stuck + } + } + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = var:voidborne_tormentor + animation = personality_bold + } + + trigger = { + is_alive = yes + has_trait = in_twisting_nether + } + + on_trigger_fail = { + var:voidborne_tormentor = { trigger_event = wc_magic_spell_events.2204 } + } + + immediate = { + if = { + limit = { + var:voidborne_tormentor = { is_alive = no } + } + add_character_flag = { flag = returning_from_nether days = 1 } + } + else = { + random_list = { + 50 = { + modifier = { + add = -25 + has_character_flag = returning_from_nether_higher + } + } + 50 = { add_character_flag = { flag = returning_from_nether days = 1 } } + } + } + } + + # Still stuck + option = { + name = wc_magic_spell_events.2203.a + trigger = { + NOT = { has_character_flag = returning_from_nether } + } + custom_tooltip = wc_magic_spell_events.2202.tt + add_stress = miniscule_stress_gain + trigger_event = { + id = wc_magic_spell_events.2203 + days = { 90 95 } + } + } + + # I'm free! + option = { + name = wc_magic_spell_events.2203.b + trigger = { has_character_flag = returning_from_nether } + remove_trait = in_twisting_nether + if = { + limit = { + var:voidborne_tormentor = { is_alive = yes } + } + var:voidborne_tormentor = { + trigger_event = { + id = wc_magic_spell_events.2204 + } + } + } + remove_variable = voidborne_tormentor + } +} + +# Your prisoner has been let free or died +wc_magic_spell_events.2204 = { + title = wc_magic_spell_events.2204.title + desc = wc_magic_spell_events.2204.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = root + animation = stress + } + + lower_center_portrait = var:voidborne_person + + immediate = { + remove_character_modifier = wc_voidborne_modifier + remove_variable = voidborne_prowess + remove_variable = voidborne_person + } + + option = { + name = wc_magic_spell_events.2203.a + } +} + +# Your Ascension cycle begins +wc_magic_spell_events.2400 = { + title = wc_magic_spell_events.2400.title + desc = wc_magic_spell_events.2400.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = root + animation = personality_bold + } + + immediate = { + set_variable = { + name = wc_ascension_points + value = 0 + } + set_variable = { + name = wc_ascends + value = 0 + } + add_character_modifier = { + modifier = wc_ascension_modifier + days = wc_spell_ascension_duration_days_value + } + } + + option = { + name = wc_magic_spell_events.2400.opt + } + + after = { + save_scope_as = master + every_vassal_or_below = { + trigger_event = { + id = wc_magic_spell_events.2401 + days = { 1 10 } + } + } + } +} + +# Ascension Event for vassals +wc_magic_spell_events.2401 = { + title = wc_magic_spell_events.2400.title + desc = wc_magic_spell_events.2401.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + immediate = { + show_as_tooltip = { + scope:master = { + add_character_modifier = { + modifier = wc_ascension_modifier + days = wc_spell_ascension_duration_days_value + } + } + } + } + + left_portrait = { + character = scope:master + animation = personality_bold + } + + option = { + name = wc_magic_spell_events.2401.opt + } +} + +# A person in your realm has ascended +wc_magic_spell_events.2410 = { + title = wc_magic_spell_events.2410.title + desc = { + triggered_desc = { + trigger = { + var:wc_ascends = 1 + } + desc = wc_magic_spell_events.2410.desc_first + } + desc = wc_magic_spell_events.2410.desc + } + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = root + animation = personality_bold + } + + right_portrait = { + character = scope:ascended + animation = personality_bold + } + + trigger = { + scope:ascended = { is_alive = yes } + } + + immediate = { + change_variable = { + name = wc_ascends + add = 1 + } + scope:ascended = { + add_character_flag = wc_ascendant + } + } + + # Grant them some magical prowess + option = { + name = wc_magic_spell_events.2410.a + scope:ascended = { + send_interface_toast = { + title = wc_magic_spell_events.2410 + type = event_toast_effect_good + left_icon = root + right_icon = scope:ascended + wc_change_amount_mp_effect = { + CHANGE = add + VALUE = 5 + } + } + } + ai_chance = { + base = 100 + modifier = { + factor = 0 + scope:ascended = { + is_magic_user_trigger = no + } + } + } + } + + # Grant them a phys trait + option = { + name = wc_magic_spell_events.2410.b + scope:ascended = { + send_interface_toast = { + title = wc_magic_spell_events.2410 + type = event_toast_effect_good + left_icon = root + right_icon = scope:ascended + random_list = { + 10 = { + trigger = { + scope:ascended = { NOT = { has_trait = pure_blooded } } + } + scope:ascended = { add_trait = pure_blooded } + } + 10 = { + trigger = { + scope:ascended = { NOR = { has_trait = strong has_trait = physique_bad has_trait = weak } } + } + scope:ascended = { add_trait = strong } + } + 10 = { + trigger = { + scope:ascended = { NOR = { has_trait = shrewd has_trait = intellect_bad has_trait = dull } } + } + scope:ascended = { add_trait = shrewd } + } + 5 = { + trigger = { + scope:ascended = { NOT = { has_trait = fecund } } + } + scope:ascended = { add_trait = fecund } + } + 5 = { + trigger = { + scope:ascended = { NOR = { has_trait = magic_good has_trait = magic_bad } } + } + modifier = { + add = 3 + scope:ascended = { is_magic_user_trigger = yes } + } + scope:ascended = { add_trait = magic_good_noninheritable } + } + } + } + } + + ai_chance = { + base = 100 + modifier = { + factor = 0.5 + scope:ascended = { + positive_genetic_trait_count >= 3 + } + } + modifier = { + factor = 0 + scope:ascended = { + positive_genetic_trait_count >= 3 + } + } + } + } + + # Turn them into a void being + option = { + name = wc_magic_spell_events.2410.c + trigger = { + scope:ascended = { NOT = { has_trait = being_void } } + } + show_as_unavailable = { + always = yes + } + + scope:ascended = { + send_interface_toast = { + title = wc_magic_spell_events.2410 + type = event_toast_effect_good + left_icon = root + right_icon = scope:ascended + add_trait = being_void + } + } + + dynasty = { add_dynasty_prestige = medium_dynasty_prestige_gain } + + ai_chance = { + base = 100 + modifier = { + factor = 1.25 + scope:ascended = { + is_magic_user_trigger = yes + } + } + modifier = { + factor = 0 + scope:ascended = { + is_ai = no + } + } + } + } + + # Honor them + option = { + name = wc_magic_spell_events.2410.d + scope:ascended = { + send_interface_toast = { + title = wc_magic_spell_events.2410 + type = event_toast_effect_good + left_icon = root + right_icon = scope:ascended + add_prestige = major_prestige_gain + } + } + + ai_chance = { + base = 100 + } + } + + # Give them some money + option = { + name = wc_magic_spell_events.2410.e + + scope:ascended = { + send_interface_toast = { + title = wc_magic_spell_events.2410 + type = event_toast_effect_good + left_icon = root + right_icon = scope:ascended + add_short_term_gold = major_gold_value + } + } + + stress_impact = { + greedy = minor_stress_impact_gain + generous = minor_stress_impact_loss + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_greed = -1 + } + } + } + + after = { + reverse_add_opinion = { + target = scope:ascended + modifier = grateful_opinion + opinion = 15 + } + } +} + +# Cycle Ends +wc_magic_spell_events.2420 = { + title = wc_magic_spell_events.2420.title + desc = wc_magic_spell_events.2420.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + left_portrait = { + character = root + animation = personality_bold + } + + lower_center_portrait = var:top_ascendant + + option = { + name = wc_magic_spell_events.2420.opt + + wc_change_amount_mp_effect = { + CHANGE = add + VALUE = wc_mp_gain_ascension + } + + wc_change_amount_max_mana_effect = { + CHANGE = add + VALUE = wc_max_mana_gain_ascension + } + + add_prestige = wc_prestige_gain_ascension + + var:top_ascendant = { + send_interface_toast = { + title = wc_magic_spell_events.2420 + type = event_toast_effect_good + left_icon = root + right_icon = var:top_ascendant + add_prestige = root.wc_prestige_gain_ascension_top + } + } + + if = { + limit = { + faith.religion = { is_in_family = rf_shadow } + } + add_piety = wc_prestige_gain_ascension + } + } + + after = { + every_in_list = { + variable = ascendants + remove_variable = wc_evolution_points + remove_variable = wc_evolution_master + } + clear_variable_list = ascendants + # Remove variables + remove_variable = wc_ascension_points + remove_variable = wc_ascends + remove_variable = top_ascendant + remove_variable = top_ascendant_points + remove_variable = wc_eps_from_birth + remove_variable = wc_eps_from_death + remove_variable = wc_eps_from_level_gain + remove_variable = wc_eps_from_trait_gain + remove_variable = wc_eps_from_age_up + remove_variable = wc_eps_from_culture_change + remove_variable = wc_eps_from_faith_change + remove_variable = wc_eps_from_prison + remove_variable = wc_eps_from_hook_used + remove_variable = wc_eps_from_stress + remove_variable = wc_eps_from_title_gain + remove_variable = wc_eps_from_war + remove_variable = wc_eps_from_scheme + remove_variable = wc_eps_from_lifestyle + remove_variable = wc_eps_from_travel + remove_variable = wc_eps_from_spell + remove_variable = wc_eps_from_marriage + } +} + + +scripted_effect please_old_ones_effect = { + custom_tooltip = please_old_ones_effect.tt + change_variable = { + name = whispers_weakness + subtract = { 10 25 } + } +} + +scripted_effect displease_old_ones_effect = { + custom_tooltip = displease_old_ones_effect_tt + change_variable = { + name = whispers_weakness + add = { 5 10 } + } +} + +# Whispers of the Old Ones: The Old Gods tell you to kill a loved one +wc_magic_spell_events.2600 = { + title = wc_magic_spell_events.2600.title + desc = wc_magic_spell_events.2600.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = wc_fullscreen_dark_gods } + + cooldown = { years = 2 } + + left_portrait = { + character = root + animation = stress + } + + right_portrait = { + character = scope:whispers_target + animation = fear + } + + immediate = { + ordered_close_or_extended_family_member = { + order_by = { + value = "opinion(root)" + multiply = -1 + } + save_scope_as = whispers_target + } + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + } + + trigger = { + any_close_or_extended_family_member = { + is_alive = yes + } + } + + # Just do it + option = { + name = wc_magic_spell_events.2600.a + trigger = { + NOR = { + has_trait = torturer + has_trait_malicious_trigger = yes + } + } + + please_old_ones_effect = yes + + unknown_murder_effect = { #You kill them + VICTIM = scope:whispers_target + MURDERER = root + REASON = death_mysterious + } + + save_scope_as = victim + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2600.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2600.report_tt + root = { + every_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:whispers_target + } + reveal_to = scope:tormentor + } + } + add_character_modifier = { + modifier = wc_whispers_murder_modifier + years = 1 + } + } + } + } + + ai_chance = { + base = 75 + ai_value_modifier = { + ai_compassion = -1 + } + opinion_modifier = { + opinion_target = scope:whispers_target + multiplier = -2 + } + } + } + + # Try and resist + option = { + name = wc_magic_spell_events.2600.b + + duel = { + skill = intrigue + value = decent_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + left_icon = scope:whispers_target + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + left_icon = scope:whispers_target + unknown_murder_effect = { #You kill them + VICTIM = scope:whispers_target + MURDERER = root + REASON = death_mysterious + } + } + save_scope_as = victim + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2600.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2600.report_tt + root = { + every_secret = { + limit = { + secret_type = secret_murder + secret_target = scope:whispers_target + } + save_scope_as = murder_secret + reveal_to = scope:tormentor + } + } + add_character_modifier = { + modifier = wc_whispers_murder_modifier + years = 1 + } + } + } + random = { + chance = 25 + scope:murder_secret = { + expose_secret = root + } + } + } + } + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_compassion = 1 + } + opinion_modifier = { + opinion_target = scope:whispers_target + multiplier = 2 + } + } + } + + # I will do it openly! + option = { + name = wc_magic_spell_events.2600.c + trigger = { + OR = { + has_trait = torturer + has_trait_malicious_trigger = yes + } + } + + please_old_ones_effect = yes + + add_prestige = major_prestige_gain + + save_scope_as = victim + + show_as_tooltip = { + known_murder_effect = { #You kill them + VICTIM = scope:whispers_target + MURDERER = root + EXPOSER = root + } + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2600.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2600.report_tt + root = { + known_murder_effect = { #You kill them + VICTIM = scope:whispers_target + MURDERER = root + EXPOSER = root + } + } + add_character_modifier = { + modifier = wc_whispers_murder_modifier + years = 1 + } + } + } + } + + stress_impact = { + base = minor_stress_impact_loss + } + + ai_chance = { + base = 150 + ai_value_modifier = { + ai_compassion = -1 + } + opinion_modifier = { + opinion_target = scope:whispers_target + multiplier = -2 + } + } + } + + # Revive + option = { + name = wc_magic_spell_events.2600.d + trigger = { + is_magic_class_user_trigger = { MAGIC = death } + scope:whispers_target = { NOT = { has_trait = being_undead } } + } + + please_old_ones_effect = yes + + add_prestige = major_prestige_gain + + save_scope_as = victim + + show_as_tooltip = { + scope:whispers_target = { + become_undead_effect_child = yes + } + } + + reverse_add_opinion = { + target = scope:whispers_target + modifier = wc_raised_me_from_dead + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2600.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2600.report_tt + scope:whispers_target = { + become_undead_effect_child = yes + } + add_character_modifier = { + modifier = wc_whispers_murder_modifier + years = 1 + } + } + } + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_compassion = -0.5 + } + modifier = { + factor = 0 + scope:whispers_target = { + is_ai = no + } + } + opinion_modifier = { + opinion_target = scope:whispers_target + multiplier = -2 + } + } + } +} + +# Whispers of the Old Ones: The Old Gods send a seductress +wc_magic_spell_events.2610 = { + title = wc_magic_spell_events.2610.title + desc = wc_magic_spell_events.2610.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + override_background = { reference = study } + + left_portrait = { + character = root + animation = thinking + } + + right_portrait = { + character = scope:seducer + animation = flirtation + } + + trigger = { + any_courtier_or_guest = { + count >= 1 + can_have_sexual_relation_with_and_attracted_to_trigger = { target = root } + NOT = { is_consort_of = root } + intrigue >= decent_skill_rating + } + } + + cooldown = { years = 2 } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + random_courtier_or_guest = { + limit = { + can_have_sexual_relation_with_and_attracted_to_trigger = { target = root } + NOT = { is_consort_of = root } + intrigue >= decent_skill_rating + } + weight = { + base = 25 + modifier = { + factor = 2 + has_trait = seducer + } + modifier = { + factor = 2 + has_trait = lovers_pox + } + } + save_scope_as = seducer + } + hidden_effect = { + scope:seducer = { + add_trait = cannibal + } + } + } + + # Try and resist their advances + option = { + name = wc_magic_spell_events.2610.a + + duel = { + skill = intrigue + target = scope:seducer + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + left_icon = scope:seducer + stress_impact = { + base = minor_stress_impact_loss + chaste = minor_stress_impact_loss + lustful = minor_stress_impact_gain + } + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + left_icon = scope:seducer + show_as_tooltip = { root = { had_sex_with_effect = { CHARACTER = scope:seducer PREGNANCY_CHANCE = 15 } } } + } + save_scope_as = victim + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2610.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2610.report_tt + root = { had_sex_with_effect = { CHARACTER = scope:seducer PREGNANCY_CHANCE = 15 } } + add_character_modifier = { + modifier = wc_whispers_love_modifier + years = 1 + } + } + } + } + } + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_honor = 1.5 + } + modifier = { + factor = 1.5 + any_consort = { count >= 1 } + NOT = { might_cheat_on_every_partner_trigger = yes } + } + modifier = { + factor = 1.5 + OR = { + has_trait = chaste + has_trait = loyal + has_trait = shy + has_trait = paranoid + } + } + opinion_modifier = { + opinion_target = scope:seducer + multiplier = -0.5 + } + } + } + + # Sleep with them + option = { + name = wc_magic_spell_events.2610.b + show_as_tooltip = { root = { had_sex_with_effect = { CHARACTER = scope:seducer PREGNANCY_CHANCE = 15 } } } + progress_towards_lover_effect = { + CHARACTER = scope:seducer + REASON = lover_distracting_sex + OPINION = default_lover_opinion + } + + please_old_ones_effect = yes + + save_scope_as = victim + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2610.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2610.report_tt + root = { had_sex_with_effect = { CHARACTER = scope:seducer PREGNANCY_CHANCE = 15 } } + add_character_modifier = { + modifier = wc_whispers_love_modifier + years = 1 + } + } + } + } + ai_chance = { + base = 50 + modifier = { + factor = 2 + OR = { + has_trait = lustful + has_trait = rakish + } + } + modifier = { + factor = 1.25 + possibly_interested_in_character_trigger = { CHARACTER = scope:seducer } + } + modifier = { + factor = 1.5 + might_cheat_on_every_partner_trigger = yes + } + opinion_modifier = { + opinion_target = scope:seducer + multiplier = -0.5 + } + } + } +} + +scripted_effect 2620_imprison_effect = { + imprison_character_effect = { + TARGET = scope:courtier + IMPRISONER = root + } + scope:courtier = { + every_close_or_extended_family_member = { + limit = { + is_courtier_of = root + } + save_scope_as = family_member + imprison_character_effect = { + TARGET = scope:family_member + IMPRISONER = root + } + } + every_consort = { + limit = { + is_courtier_of = root + } + save_scope_as = consort + imprison_character_effect = { + TARGET = scope:consort + IMPRISONER = root + } + } + } +} + +# Whispers of the Old Ones: The Old Gods cause you to banish a courtier +wc_magic_spell_events.2620 = { + title = wc_magic_spell_events.2620.title + desc = wc_magic_spell_events.2620.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + right_portrait = { + character = scope:courtier + animation = fear + } + + trigger = { + any_courtier_or_guest = { + count >= 1 + is_adult = yes + NOT = { root = { has_imprisonment_reason = prev } } + OR = { + any_consort = { + count >= 1 + } + any_close_or_extended_family_member = { + count >= 1 + is_courtier_of = root + } + } + } + } + + cooldown = { years = 2 } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + random_courtier_or_guest = { + limit = { + is_adult = yes + NOT = { root = { has_imprisonment_reason = prev } } + OR = { + any_child = { + count >= 1 + } + any_consort = { + count >= 1 + } + any_close_or_extended_family_member = { + count >= 1 + is_courtier_of = root + } + } + } + save_scope_as = courtier + } + } + + # They must be stopped—before they harm me! + option = { + name = wc_magic_spell_events.2620.a + 2620_imprison_effect = yes + please_old_ones_effect = yes + + save_scope_as = victim + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2620.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2620.report_tt + add_legitimacy = minor_legitimacy_gain + add_character_modifier = { + modifier = wc_whispers_tyranny_modifier + years = 1 + } + } + } + } + + ai_chance = { + base = 75 + ai_value_modifier = { + ai_compassion = -1 + } + opinion_modifier = { + opinion_target = scope:courtier + multiplier = -2 + } + } + } + + # No, I will not act without proof! + option = { + name = wc_magic_spell_events.2620.b + + duel = { + skill = intrigue + value = decent_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + left_icon = scope:courtier + stress_impact = { + base = medium_stress_impact_loss + } + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + left_icon = scope:courtier + 2620_imprison_effect = yes + } + save_scope_as = victim + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2620.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2620.report_tt + add_legitimacy = minor_legitimacy_gain + add_character_modifier = { + modifier = wc_whispers_tyranny_modifier + years = 1 + } + } + } + } + } + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_honor = 1.5 + } + opinion_modifier = { + opinion_target = scope:courtier + multiplier = -0.5 + } + } + } +} + +scripted_effect 2630_hurt_effect = { + random_list = { + 20 = { + unknown_murder_effect = { #You kill them + VICTIM = scope:courtier + MURDERER = root + REASON = death_mysterious + } + } + 80 = { + scope:courtier = { + increase_wounds_effect = { REASON = fight } + } + } + } + add_tyranny = medium_tyranny_gain +} + +# Whispers of the Old Ones: The Old Gods cause you to lash out on a relation +wc_magic_spell_events.2630 = { + title = wc_magic_spell_events.2630.title + desc = wc_magic_spell_events.2630.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + right_portrait = { + character = scope:courtier + animation = anger + } + + trigger = { + any_courtier = { + count >= 1 + is_adult = yes + prowess >= decent_skill_rating + OR = { + is_close_or_extended_family_of = root + is_consort_of = root + has_relation_friend = root + has_relation_lover = root + } + } + } + + cooldown = { years = 2 } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + random_courtier_or_guest = { + limit = { + is_adult = yes + prowess >= decent_skill_rating + OR = { + is_close_or_extended_family_of = root + is_consort_of = root + has_relation_friend = root + has_relation_lover = root + } + } + weight = { + base = 25 + modifier = { + factor = 2 + OR = { + has_relation_friend = root + has_relation_lover = root + } + } + } + save_scope_as = courtier + } + } + + # They deserve to feel my wrath! + option = { + name = wc_magic_spell_events.2630.a + please_old_ones_effect = yes + + save_scope_as = victim + + show_as_tooltip = { + 2630_hurt_effect = yes + } + + reverse_add_opinion = { + target = scope:courtier + modifier = hurt_opinion + opinion = -30 + } + + if = { + limit = { + has_relation_friend = scope:courtier + } + remove_relation_friend = scope:courtier + } + if = { + limit = { + has_relation_lover = scope:courtier + } + remove_relation_lover = scope:courtier + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2630.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2630.report_tt + root = { + 2630_hurt_effect = yes + } + add_character_modifier = { + modifier = wc_whispers_hurt_modifier + years = 1 + } + } + } + } + + stress_impact = { + base = medium_stress_impact_gain + callous = minor_stress_impact_loss + } + + ai_chance = { + base = 75 + ai_value_modifier = { + ai_compassion = -1 + } + opinion_modifier = { + opinion_target = scope:courtier + multiplier = -2 + } + } + } + + # I must punish myself for this insolence. + option = { + name = wc_magic_spell_events.2630.b + please_old_ones_effect = yes + + save_scope_as = victim + + show_as_tooltip = { + increase_wounds_effect = { REASON = fight } + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2630.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2630.report_2_tt + root = { + increase_wounds_effect = { REASON = fight } + } + add_character_modifier = { + modifier = wc_whispers_hurt_modifier + years = 1 + } + } + } + } + + if = { + limit = { + NOT = { has_trait = flagellant } + } + random = { + chance = 25 + add_trait = flagellant + } + } + + stress_impact = { + base = medium_stress_impact_gain + flagellant = minor_stress_impact_loss + } + + ai_chance = { + base = 50 + modifier = { + factor = 2 + has_trait = craven + } + modifier = { + factor = 1.5 + has_trait = flagellant + } + } + } + + # I must leave before I lose control. + option = { + name = wc_magic_spell_events.2630.c + + stress_impact = { + craven = medium_stress_impact_gain + } + duel = { + skill = prowess + target = scope:courtier + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + left_icon = scope:courtier + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + left_icon = scope:courtier + show_as_tooltip = { + root = { + 2630_hurt_effect = yes + } + } + } + save_scope_as = victim + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2630.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2630.report_tt + root = { + 2630_hurt_effect = yes + } + add_character_modifier = { + modifier = wc_whispers_hurt_modifier + years = 1 + } + } + } + } + } + } + + ai_chance = { + base = 100 + ai_value_modifier = { + ai_compassion = 1 + } + opinion_modifier = { + opinion_target = scope:courtier + multiplier = 2 + } + } + } +} + +# Whispers of the Old Ones: The Old Gods cause you to destroy an artifact +wc_magic_spell_events.2640 = { + title = wc_magic_spell_events.2640.title + desc = wc_magic_spell_events.2640.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + artifact = { + target = scope:destroyed_artifact + position = lower_center_portrait + } + + trigger = { + has_any_artifact = yes + } + + cooldown = { years = 2 } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + random_character_artifact = { + save_scope_as = destroyed_artifact + } + } + + # Bruh + option = { + name = wc_magic_spell_events.2640.a + destroy_artifact = scope:destroyed_artifact + random_list = { + 50 = { + show_chance = no + desc = wc_magic_spell_events.2640.success + send_interface_toast = { + title = wc_magic_spell_events.2640.success + type = event_toast_effect_good + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 50 = { + show_chance = no + desc = wc_magic_spell_events.2640.failure + please_old_ones_effect = yes + send_interface_toast = { + title = wc_magic_spell_events.2640.failure + type = event_toast_effect_bad + add_stress = minor_stress_gain + } + } + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2640.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2640.report_tt + add_character_modifier = { + modifier = wc_whispers_artifact_modifier + years = 1 + } + } + } + } + + ai_chance = { + base = 50 + modifier = { + factor = 2 + OR = { + has_trait = paranoid + has_trait = craven + } + } + } + } + option = { + name = wc_magic_spell_events.2640.b + trigger = { + NOT = { has_trait = trusting } + } + show_as_unavailable = { always = yes } + + displease_old_ones_effect = yes + + add_stress = major_stress_gain + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2640.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2640.report_2_tt + add_prestige = minor_prestige_gain + } + } + } + + if = { + limit = { + NOT = { has_trait = paranoid } + } + random = { + chance = 15 + add_trait = paranoid + } + } + ai_chance = { + base = 50 + modifier = { + factor = 2 + has_trait = greedy + } + } + } +} + +scripted_effect 2650_lose_money_effect = { + stress_impact = { + base = minor_stress_impact_gain + greedy = minor_stress_impact_loss + improvident = minor_stress_impact_loss + generous = minor_stress_impact_loss + } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2650.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2650.report_tt + add_short_term_gold = root.short_term_gold + } + } + } + remove_short_term_gold = short_term_gold +} + +# Whispers of the Old Ones: The old gods make you give away valuables +wc_magic_spell_events.2650 = { + title = wc_magic_spell_events.2650.title + desc = wc_magic_spell_events.2650.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + trigger = { + short_term_gold >= 15 + } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + } + + weight_multiplier = { + base = 10 + modifier = { + add = 5 + has_trait = greedy + } + } + + cooldown = { years = 3 } + + # Give away you money + option = { + name = wc_magic_spell_events.2650.a + save_scope_as = victim + 2650_lose_money_effect = yes + random_list = { + 75 = { + desc = wc_magic_spell_events.2640.success + send_interface_toast = { + title = wc_magic_spell_events.2640.success + type = event_toast_effect_good + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 25 = { + desc = wc_magic_spell_events.2640.failure + please_old_ones_effect = yes + send_interface_toast = { + title = wc_magic_spell_events.2640.failure + type = event_toast_effect_bad + add_stress = minor_stress_gain + } + } + } + + ai_chance = { + base = 50 + } + } + + # Attempt manage it better + option = { + name = wc_magic_spell_events.2650.b + duel = { + skill = stewardship + value = high_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + save_scope_as = victim + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + 2650_lose_money_effect = yes + } + } + } + ai_chance = { + base = 50 + ai_value_modifier = { + ai_greed = 1 + } + } + } +} + +scripted_effect 2660_disease_effect = { + custom_tooltip = { + text = wc_magic_spell_events.2660.disease + random_list = { + 1 = { + contract_disease_notify_effect = { DISEASE = dysentery } + } + 1 = { + contract_disease_notify_effect = { DISEASE = consumption } + } + 1 = { + contract_disease_notify_effect = { DISEASE = great_pox } + } + 1 = { + contract_disease_notify_effect = { DISEASE = lovers_pox } + } + 1 = { + contract_disease_notify_effect = { DISEASE = leper } + } + 1 = { + contract_disease_notify_effect = { DISEASE = measles } + } + 1 = { + contract_disease_notify_effect = { DISEASE = pneumonic } + } + 1 = { + contract_disease_notify_effect = { DISEASE = smallpox } + } + 1 = { + contract_disease_notify_effect = { DISEASE = typhus } + } + 1 = { + contract_disease_notify_effect = { DISEASE = frost_fever } + } + 1 = { + contract_disease_notify_effect = { DISEASE = blood_plague } + } + 1 = { + contract_disease_notify_effect = { DISEASE = crypt_fever } + } + 1 = { + contract_disease_notify_effect = { DISEASE = void_sickness } + } + } + } +} +# Whispers of the Old Ones: The old gods make you sick +wc_magic_spell_events.2660 = { + title = wc_magic_spell_events.2660.title + desc = wc_magic_spell_events.2660.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + trigger = { + is_healthy = yes + NOT = { has_trait_with_flag = can_not_get_sick } + } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + } + + cooldown = { years = 2 } + + # Give them the disease + option = { + name = wc_magic_spell_events.2660.a + please_old_ones_effect = yes + save_scope_as = victim + show_as_tooltip = { 2660_disease_effect = yes } + + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2660.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2660.report_tt + root = { + 2660_disease_effect = yes + } + add_character_modifier = { + modifier = wc_whispers_health_modifier + years = 1 + } + } + } + } + + ai_chance = { + base = 50 + } + } + + # Try and find a cure + option = { + name = wc_magic_spell_events.2660.b + + duel = { + skill = learning + value = very_high_skill_rating + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = 3.5 + } + desc = wc_magic_spell_events_whispers_success + send_interface_toast = { + title = wc_magic_spell_events_whispers_success + type = event_toast_effect_good + add_stress = minor_stress_loss + } + displease_old_ones_effect = yes + } + 50 = { + compare_modifier = { + value = scope:duel_value + multiplier = -3.5 + } + modifier = { + always = yes + add = var:whispers_weakness + } + desc = wc_magic_spell_events_whispers_failure + save_scope_as = victim + send_interface_toast = { + title = wc_magic_spell_events_whispers_failure + type = event_toast_effect_bad + show_as_tooltip = { 2660_disease_effect = yes } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2660.report + type = event_toast_effect_neutral + left_icon = root + right_icon = scope:tormentor + custom_tooltip = wc_magic_spell_events.2660.report_tt + root = { + 2660_disease_effect = yes + } + add_character_modifier = { + modifier = wc_whispers_health_modifier + years = 1 + } + } + } + } + } + } + + ai_chance = { + base = 100 + } + } +} + +# Whispers of the Old Ones Outcome +wc_magic_spell_events.2798 = { + title = wc_magic_spell_events.2798.title + desc = wc_magic_spell_events.2798.desc + type = character_event + theme = shadow + content_source = dlc_GOA + + left_portrait = { + character = root + animation = stress + } + + immediate = { + every_owned_story = { + limit = { story_type = story_cycle_whispers } + var:tormentor = { save_scope_as = tormentor } + } + } + + # OK + option = { + name = wc_magic_spell_events.2798.a + random_list = { + # The whispers allow you to learn shadow magic - TODO + 15 = { + desc = wc_magic_spell_events.2798.peace + send_interface_toast = { + title = wc_magic_spell_events.2798.peace + left_icon = root + type = event_toast_effect_good + show_as_tooltip = { root = { add_stress = minor_stress_loss } } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.peace_tormentor + left_icon = root + right_icon = scope:tormentor + type = event_toast_effect_neutral + root = { add_stress = minor_stress_loss } + } + } + } + } + 25 = { + desc = wc_magic_spell_events.2798.death + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.death + type = event_toast_effect_neutral + root = { death = { death_reason = death_magic killer = scope:tormentor } } + } + } + } + 75 = { + desc = wc_magic_spell_events.2798.insane + send_interface_toast = { + title = wc_magic_spell_events.2798.insane + left_icon = root + type = event_toast_effect_bad + show_as_tooltip = { + random_list = { + 50 = { + trigger = { + root = { + NOR = { + has_trait = lunatic_1 + has_trait = lunatic_genetic + } + } + } + root = { add_trait = lunatic_1 } + } + 50 = { + trigger = { + root = { + NOR = { + has_trait = possessed_1 + has_trait = possessed_genetic + } + } + } + root = { add_trait = possessed_1 } + } + 50 = { + trigger = { + root = { + NOR = { + has_trait = depressed_1 + has_trait = depressed_genetic + } + } + } + root = { add_trait = depressed_1 } + } + 50 = { + root = { add_stress = massive_stress_gain } + } + } + } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.insane_tormentor + type = event_toast_effect_neutral + random_list = { + 50 = { + trigger = { + root = { + NOR = { + has_trait = lunatic_1 + has_trait = lunatic_genetic + } + } + } + root = { add_trait = lunatic_1 } + } + 50 = { + trigger = { + root = { + NOR = { + has_trait = possessed_1 + has_trait = possessed_genetic + } + } + } + root = { add_trait = possessed_1 } + } + 50 = { + trigger = { + root = { + NOR = { + has_trait = depressed_1 + has_trait = depressed_genetic + } + } + } + root = { add_trait = depressed_1 } + } + 50 = { + root = { add_stress = massive_stress_gain } + } + } + } + } + } + } + 75 = { + trigger = { + NOR = { + has_trait = intellect_bad + has_trait = shrewd + } + } + desc = wc_magic_spell_events.2798.stupid + send_interface_toast = { + title = wc_magic_spell_events.2798.stupid + left_icon = root + type = event_toast_effect_bad + show_as_tooltip = { + root = { + wc_change_amount_mp_effect = { + CHANGE = subtract + VALUE = 5 + } + } + } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.stupid_tormentor + type = event_toast_effect_neutral + root = { + wc_change_amount_mp_effect = { + CHANGE = subtract + VALUE = 5 + } + } + } + } + } + } + 75 = { + trigger = { + is_magic_user_trigger = yes + } + desc = wc_magic_spell_events.2798.magic + send_interface_toast = { + title = wc_magic_spell_events.2798.magic + left_icon = root + type = event_toast_effect_bad + show_as_tooltip = { root = { add_trait = intellect_bad_1 } } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.magic_tormentor + type = event_toast_effect_neutral + root = { add_trait = intellect_bad_1 } + } + } + } + } + 100 = { + trigger = { + NOT = { faith.religion = { is_in_family = rf_shadow } } + } + desc = wc_magic_spell_events.2798.religion + send_interface_toast = { + title = wc_magic_spell_events.2798.religion + left_icon = root + type = event_toast_effect_bad + show_as_tooltip = { + random_list = { + 1 = { set_character_faith = faith:nzothism } + 1 = { set_character_faith = faith:cthunism } + 1 = { set_character_faith = faith:yoggsaronism } + 1 = { set_character_faith = faith:yshaarjism } + 1 = { set_character_faith = faith:ghuunism } + } + } + } + hidden_effect = { + scope:tormentor = { + send_interface_toast = { + title = wc_magic_spell_events.2798.religion_tormentor + type = event_toast_effect_neutral + root = { + random_list = { + 1 = { set_character_faith = faith:nzothism } + 1 = { set_character_faith = faith:cthunism } + 1 = { set_character_faith = faith:yoggsaronism } + 1 = { set_character_faith = faith:yshaarjism } + 1 = { set_character_faith = faith:ghuunism } + } + } + } + } + } + } + } + } +} + +wc_magic_spell_events.9000 = { + hidden = yes + trigger = { + has_trait = incapable + } + immediate = { + remove_trait = incapable + } +} \ No newline at end of file diff --git a/events/marriage_effect_events.txt b/events/marriage_effect_events.txt new file mode 100644 index 0000000000..3c72727082 --- /dev/null +++ b/events/marriage_effect_events.txt @@ -0,0 +1,1128 @@ +#################### +# MARRIAGE EFFECT EVENTS +#################### + +namespace = marriage_effect + +#MOTHER - Bastard secret is removed if you marry the right person +marriage_effect.0001 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + OR = { + AND = { + AND = { + is_pregnant = yes + pregnancy_real_father = { this = scope:new_spouse } + } + exists = scope:illegitimate_child + } + exists = scope:illegitimate_child_2 + } + } + desc = marriage_effect.0001.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0001.desc.child + } + triggered_desc = { + trigger = { + pregnancy_real_father = { this = scope:new_spouse } + } + desc = marriage_effect.0001.desc.pregnancy + } + } + } + theme = marriage + left_portrait = { + character = scope:new_spouse + animation = happiness + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + trigger = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = scope:spouse } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + any_spouse = { this = ROOT } + this = scope:spouse #To make sure it is the new spouse + } + } + } + } + } + + on_trigger_fail = { #If the mother isn't the "major" party in the marriage we need to trigger this for her + if = { + limit = { + scope:spouse = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = root } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + this = root #To make sure it is the new spouse + } + } + } + } + } + } + save_scope_as = spouse_scope + scope:spouse = { + scope:spouse_scope = { + save_scope_as = spouse + } + trigger_event = marriage_effect.0001 + } + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + save_scope_as = real_mother + if = { + limit = { + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { + any_spouse = { this = ROOT } + this = scope:spouse #To make sure it is the new spouse + } + } + } + } + random_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { + any_spouse = { this = ROOT } + this = scope:spouse #To make sure it is the new spouse + } + } + } + secret_target = { + real_father = { + save_scope_as = new_spouse + } + } + } + } + else ={ + pregnancy_real_father = { save_scope_as = new_spouse } + remove_variable = dead_spouse #To make sure the new spouse is set as father + } + + + if = { + limit = { + exists = var:dead_spouse + } + var:dead_spouse ={ + save_scope_as = dead_father + } + } + + #Marks all the children whose corresponding secret should be cleared + every_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { real_father = { this = scope:new_spouse } } + } + secret_target = { + add_character_flag = clear_bastard_secret + save_scope_as = illegitimate_child #Save for portrait and desc + hidden_effect = { + if = { + limit = { + root = { exists = scope:dead_father } + } + set_father = scope:dead_father + } + else = { + set_father = scope:new_spouse + } + } + } + } + + random_child = { #If there is another child, save it as an event target + limit = { + has_character_flag = clear_bastard_secret + NOT = { this = scope:illegitimate_child } + } + save_scope_as = illegitimate_child_2 + hidden_effect = { + if = { + limit = { + root = { exists = scope:dead_father } + } + set_father = scope:dead_father + } + else_if = { + limit = { + root = { + NOT = { + exists = scope:dead_father + } + } + } + set_father = scope:new_spouse + } + } + } + + if = { #To trigger an event for the real_father if he is a secret_knower + limit = { + OR ={ + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + } + any_secret_knower = { + this = scope:new_spouse + } + } + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + } + scope:new_spouse = { + trigger_event = marriage_effect.0002 + } + } + #To inform all secret knowers + random_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + } + } + every_secret_knower = { + limit = { + NOR = { + this = scope:new_spouse + this = root + } + } + trigger_event = marriage_effect.0003 + } + } + + #If it's a pregnancy then unmark it as a bastard pregnancy + if = { + limit = { + has_character_flag = unmarried_bastard_pregnancy + } + remove_character_flag = unmarried_bastard_pregnancy + } + if = { + limit = { + has_character_flag = bastard_pregnancy + } + remove_character_flag = bastard_pregnancy + } + } + + option = { + name = marriage_effect.0001.a + + stress_impact = { + base = medium_stress_loss + } + + every_secret = { + limit = { + OR = { + AND = { + exists = secret_target + secret_target = { has_character_flag = clear_bastard_secret } + } + ROOT = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + } + wc_remove_secret_override = yes # Warcraft + } + every_child = { + remove_character_flag = clear_bastard_secret + } + } +} + + + + + +#FATHER - notification event if you marry the mother and knows the secret +marriage_effect.0002 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + exists = scope:illegitimate_child + exists = scope:illegitimate_child_2 + } + desc = marriage_effect.0002.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0002.desc.child + } + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + OR = { + has_character_flag = pregnancy_real_father_knows + has_character_flag = pregnancy_real_father_of_bastard_is_known_flag + } + } + } + desc = marriage_effect.0002.desc.pregnancy + } + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + desc = marriage_effect.0002.desc.pregnancy_not_knowing + } + } + } + theme = marriage + right_portrait = { + character = scope:real_mother + animation = happiness + } + left_portrait = { + character = scope:new_spouse + animation = personality_compassionate + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + trigger = { + is_male = yes + any_spouse = { + this = scope:real_mother + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + #Marks all the children whose corresponding secret should be cleared + scope:new_spouse = { + every_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + mother = { this = scope:real_mother } + } + } + secret_target = { + add_character_flag = saved_child + save_scope_as = illegitimate_child #Save for portrait and desc + } + } + } + + random_child = { #If there is another child, save it as an event target + limit = { + has_character_flag = saved_child + NOT = { this = scope:illegitimate_child } + } + save_scope_as = illegitimate_child_2 + } + } + + option = { + name = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + NOR = { + has_character_flag = pregnancy_real_father_knows + has_character_flag = pregnancy_real_father_of_bastard_is_known_flag + } + } + } + text = marriage_effect.0001.a_not_knowing + } + name = { + trigger = { always = yes } + text = marriage_effect.0001.a + } + + #To block other events on the subject + scope:real_mother = { + add_character_flag = { + flag = pregnancy_real_father_knows + months = 9 + } + } + + stress_impact = { + base = medium_stress_loss + } + } +} + + +#Notification event for every other secret knower +marriage_effect.0003 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + desc = marriage_effect.0003.desc.pregnancy + } + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + exists = scope:illegitimate_child + exists = scope:illegitimate_child_2 + } + desc = marriage_effect.0003.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0003.desc + } + } + } + theme = marriage + right_portrait = { + character = scope:real_mother + animation = happiness + } + left_portrait = { + character = scope:new_spouse + animation = personality_compassionate + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + immediate = { play_music_cue_once = { TRACK = mx_cue_marriage } } + + option = { + name = marriage_effect.0001.a + } +} + + +#MOTHER - Bastard secret is removed if you become the concubine of the right person +marriage_effect.0011 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + OR = { + AND = { + AND = { + is_pregnant = yes + pregnancy_real_father = { this = scope:new_spouse } + } + exists = scope:illegitimate_child + } + exists = scope:illegitimate_child_2 + } + } + desc = marriage_effect.0011.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0011.desc.child + } + triggered_desc = { + trigger = { + pregnancy_real_father = { this = scope:new_spouse } + } + desc = marriage_effect.0011.desc.pregnancy + } + } + } + theme = marriage + left_portrait = { + character = scope:new_spouse + animation = happiness + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + trigger = { + is_female = yes + OR = { + AND = { + OR = { + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + pregnancy_real_father = { this = scope:consort } + } + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + exists = real_father + real_father = { + any_consort = { this = ROOT } + this = scope:consort #To make sure it is the new partner + } + } + } + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + save_scope_as = real_mother + if = { + limit = { + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { + any_spouse = { this = ROOT } + this = scope:consort #To make sure it is the new partner + } + } + } + } + random_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { + any_spouse = { this = ROOT } + this = scope:consort #To make sure it is the new partner + } + } + } + secret_target = { + real_father = { + save_scope_as = new_spouse + } + } + } + } + else ={ + pregnancy_real_father = { save_scope_as = new_spouse } + remove_variable = dead_spouse #To make sure the new spouse is set as father + } + + if = { + limit = { + exists = var:dead_spouse + } + var:dead_spouse ={ + save_scope_as = dead_father + } + } + + #Marks all the children whose corresponding secret should be cleared + every_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { real_father = { this = scope:new_spouse } } + } + secret_target = { + add_character_flag = clear_bastard_secret + save_scope_as = illegitimate_child #Save for portrait and desc + hidden_effect = { + if = { + limit = { + root = { exists = scope:dead_father } + } + set_father = scope:dead_father + } + else = { + set_father = scope:new_spouse + } + } + } + } + + random_child = { #If there is another child, save it as an event target + limit = { + has_character_flag = clear_bastard_secret + NOT = { this = scope:illegitimate_child } + } + save_scope_as = illegitimate_child_2 + hidden_effect = { + if = { + limit = { + root = { exists = scope:dead_father } + } + set_father = scope:dead_father + } + else_if = { + limit = { + root = { + NOT = { + exists = scope:dead_father + } + } + } + set_father = scope:new_spouse + } + } + } + + if = { #To trigger an event for the real_father if he is a secret_knower + limit = { + OR ={ + any_secret = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + } + any_secret_knower = { + this = scope:new_spouse + } + } + has_character_flag = unmarried_bastard_pregnancy + has_character_flag = bastard_pregnancy + } + } + scope:new_spouse = { + trigger_event = marriage_effect.0012 + } + } + + #To inform all secret knowers + random_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + } + } + every_secret_knower = { + limit = { + NOR = { + this = scope:new_spouse + this = root + } + } + trigger_event = marriage_effect.0013 + } + } + + #If it's a pregnancy then unmark it as a bastard pregnancy + if = { + limit = { + has_character_flag = unmarried_bastard_pregnancy + } + remove_character_flag = unmarried_bastard_pregnancy + } + if = { + limit = { + has_character_flag = bastard_pregnancy + } + remove_character_flag = bastard_pregnancy + } + } + + option = { + name = marriage_effect.0001.a + + stress_impact = { + base = medium_stress_loss + } + + every_secret = { + limit = { + exists = secret_target + OR = { + secret_target = { has_character_flag = clear_bastard_secret } + ROOT = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + } + wc_remove_secret_override = yes # Warcraft + } + every_child = { + remove_character_flag = clear_bastard_secret + } + } +} + + +#FATHER - Concubine - notification event if you marry the mother and knows the secret (basically a copy of marriage_effect.0002) +marriage_effect.0012 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + exists = scope:illegitimate_child + exists = scope:illegitimate_child_2 + } + desc = marriage_effect.0012.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0012.desc.child + } + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + OR = { + has_character_flag = pregnancy_real_father_knows + has_character_flag = pregnancy_real_father_of_bastard_is_known_flag + } + } + } + desc = marriage_effect.0012.desc.pregnancy + } + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + desc = marriage_effect.0012.desc.pregnancy_not_knowing + } + } + } + theme = marriage + right_portrait = { + character = scope:real_mother + animation = happiness + } + left_portrait = { + character = scope:new_spouse + animation = personality_compassionate + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + trigger = { + is_male = yes + any_consort = { + this = scope:real_mother + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + #Marks all the children whose corresponding secret should be cleared + scope:new_spouse = { + every_secret = { + limit = { + secret_type = secret_unmarried_illegitimate_child + secret_target = { + real_father = { this = scope:new_spouse } + mother = { this = scope:real_mother } + } + } + secret_target = { + add_character_flag = saved_child + save_scope_as = illegitimate_child #Save for portrait and desc + } + } + } + + random_child = { #If there is another child, save it as an event target + limit = { + has_character_flag = saved_child + NOT = { this = scope:illegitimate_child } + } + save_scope_as = illegitimate_child_2 + } + } + + option = { + name = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + NOR = { + has_character_flag = pregnancy_real_father_knows + has_character_flag = pregnancy_real_father_of_bastard_is_known_flag + } + } + } + text = marriage_effect.0001.a_not_knowing + } + name = { + trigger = { always = yes } + text = marriage_effect.0001.a + } + + #To block other events on the subject + scope:real_mother = { + add_character_flag = { + flag = pregnancy_real_father_knows + months = 9 + } + } + + stress_impact = { + base = medium_stress_loss + } + } +} + + +#Concubine - Notification event for every other secret knower (basically a copy of marriage_effect.0003) +marriage_effect.0013 = { + type = character_event + title = marriage_effect.0001.t + desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:real_mother = { + is_pregnant = yes + pregnancy_real_father = { + this = scope:new_spouse + } + } + } + desc = marriage_effect.0013.desc.pregnancy + } + triggered_desc = { #Multiple illegitimate children now legitimate + trigger = { + exists = scope:illegitimate_child + exists = scope:illegitimate_child_2 + } + desc = marriage_effect.0013.desc.multiple + } + triggered_desc = { + trigger = { exists = scope:illegitimate_child } + desc = marriage_effect.0013.desc + } + } + } + theme = marriage + right_portrait = { + character = scope:real_mother + animation = happiness + } + left_portrait = { + character = scope:new_spouse + animation = personality_compassionate + } + lower_left_portrait = scope:illegitimate_child #Only appears if child is already born + lower_center_portrait = scope:illegitimate_child_2 #Only appears if there are multiple bastards already born + + immediate = { play_music_cue_once = { TRACK = mx_cue_marriage } } + + option = { + name = marriage_effect.0001.a + } +} + + + +#If you marry your lover - root +marriage_effect.1001 = { + type = character_event + title = marriage_effect.1001.t + desc = marriage_effect.1001.desc + theme = marriage + left_portrait = { + character = scope:spouse + animation = happiness + } + + trigger = { + any_relation = { + type = lover + this = scope:spouse + } + # We don't want regular events concerning weddings to popup outside the wedding activity + OR = { + NOT = { exists = involved_activity } + involved_activity = { + NOT = { has_activity_type = activity_wedding } + } + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + #If the marriage was set via event, configure scopes for the description correctly. + if = { + limit = { + NOT = { exists = scope:spouse } + } + random_relation = { + type = lover + limit = { is_spouse_of = root } + save_scope_as = spouse + } + } + } + + option = { + name = marriage_effect.1001.a + save_scope_as = spouse_2 + + scope:spouse = { + trigger_event = marriage_effect.1002 + } + } +} + +#If you marry your lover - spouse +marriage_effect.1002 = { + type = character_event + title = marriage_effect.1001.t + desc = marriage_effect.1002.desc + theme = marriage + left_portrait = { + character = scope:spouse_2 + animation = happiness + } + + immediate = { play_music_cue_once = { TRACK = mx_cue_marriage } } + + option = { + name = marriage_effect.1002.a + + } +} + +# Monogamous wedding event +marriage_effect.2001 = { + type = character_event + title = marriage_effect.2001.t + desc = { + first_valid = { + triggered_desc = { + trigger = { + scope:new_spouse = { + is_imprisoned = yes + } + } + desc = marriage_effect.2001.desc.start_prison + } + triggered_desc = { + trigger = { + faith = { + has_doctrine_parameter = divine_marriage_piety_gain_active + } + scope:new_spouse = { + is_close_family_of = root + } + } + desc = marriage_effect.2001.desc.start_divine_marriage + } + desc = marriage_effect.2001.desc.start_normal + } + desc = marriage_effect.2001.desc.end + } + theme = marriage + left_portrait = { + character = root + triggered_animation = { + trigger = { + scope:new_spouse = { + is_imprisoned = yes + } + } + animation = shame + } + triggered_animation = { + trigger = { always = yes } + animation = happiness + } + } + right_portrait = { + character = scope:new_spouse + triggered_animation = { + trigger = { is_imprisoned = yes } + animation = shame + } + triggered_animation = { + trigger = { always = yes } + animation = flirtation_left + } + } + + trigger = { + # Only rulers are important enough for people to care about their marriage. + is_ruler = yes + + # Only monogamous faiths care enough about a single marriage for the event. + faith = { + has_doctrine_parameter = marriage_event + } + + # Only a character's first spouse counts. + NOT ={ + any_spouse = { + even_if_dead = yes + NOT = { this = scope:spouse } + } + } + + # Spouse also needs to be alive + scope:spouse = { + is_alive = yes + } + + # If a family was previously generated for us, don't fire the marriage event (we were presumably married before the game started). + # This flag is also used for divorce cases + NOT = { has_character_flag = ignore_marriage_event } + + # We don't want regular events concerning weddings to popup outside the wedding activity + OR = { + NOT = { exists = involved_activity } + involved_activity = { + NOT = { has_activity_type = activity_wedding } + } + } + } + + immediate = { + play_music_cue_once = { TRACK = mx_cue_marriage } + scope:spouse = { + save_scope_as = new_spouse + } + } + + option = { + name = marriage_effect.2001.a + add_gold = major_gold_value + } + + option = { + name = marriage_effect.2001.b + add_prestige = major_prestige_value + } + + after = { + if = { + limit = { + faith = { + has_doctrine_parameter = divine_marriage_piety_gain_active + } + scope:new_spouse = { + is_close_family_of = root + } + } + add_piety = massive_piety_value + } + save_scope_as = spouse_scope + scope:spouse = { + scope:spouse_scope = { + save_scope_as = spouse + } + trigger_event = marriage_effect.0001 + } + + hidden_effect = { + # To disable prestige & gold remarrying exploit + add_character_flag = ignore_marriage_event + } + } +} + + +#Your spouse that you loved divorced you +marriage_effect.3001 = { + hidden = yes + + trigger = { + opinion = { + target = scope:spouse_2 + value >= 30 + } + OR = { + has_relation_lover = scope:spouse_2 + has_opinion_modifier = { + modifier = love_opinion + target = scope:spouse_2 + } + opinion = { + target = scope:spouse_2 + value >= 60 + } + } + } + + immediate = { + add_character_flag = { + flag = make_suicide_available + years = 10 + } + set_variable = { + name = messy_divorce + value = yes + } + } +} diff --git a/events/prison_events/prison_events.txt b/events/prison_events/prison_events.txt index 29cadae773..3ea9554046 100644 --- a/events/prison_events/prison_events.txt +++ b/events/prison_events/prison_events.txt @@ -68,6 +68,12 @@ prison.1001 = { #by Mathilda Bjarnehed trigger = { scope:torture_method = flag:poetry } desc = prison.1001.poetry.desc } + # Warcraft + triggered_desc = { + trigger = { scope:torture_method = flag:magic } + desc = prison.1001.magic.desc + } + # End Warcraft } #My or someone else's secret first_valid = { @@ -269,6 +275,12 @@ prison.1002 = { #by Mathilda Bjarnehed trigger = { scope:torture_method = flag:poetry } desc = prison.1002.poetry.desc } + # Warcraft + triggered_desc = { + trigger = { scope:torture_method = flag:magic } + desc = prison.1002.magic.desc + } + # End Warcraft } #Theirs or someone else's secret first_valid = { @@ -303,6 +315,25 @@ prison.1002 = { #by Mathilda Bjarnehed immediate = { play_music_cue = "mx_cue_prison" + + # Warcraft + if = { + limit = { + scope:torture_method = flag:magic + scope:recipient = { + eternal_suffering_value < 5 + } + } + custom_tooltip = { + text = wc_eternal_suffering_torture_effect + scope:recipient = { + hidden_effect = { + increment_eternal_suffering_effect = yes + } + } + } + } + # End Warcraft } option = { @@ -377,6 +408,12 @@ prison.1003 = { #by Mathilda Bjarnehed trigger = { scope:torture_method = flag:poetry } desc = prison.1003.poetry.desc } + # Warcraft + triggered_desc = { + trigger = { scope:torture_method = flag:magic } + desc = prison.1003.magic.desc + } + # End Warcraft } } theme = prison @@ -403,6 +440,25 @@ prison.1003 = { #by Mathilda Bjarnehed immediate = { play_music_cue = "mx_cue_prison" + + # Warcraft + if = { + limit = { + scope:torture_method = flag:magic + scope:recipient = { + eternal_suffering_value < 5 + } + } + custom_tooltip = { + text = wc_eternal_suffering_torture_effect + scope:recipient = { + hidden_effect = { + increment_eternal_suffering_effect = yes + } + } + } + } + # End Warcraft } option = { @@ -454,6 +510,12 @@ prison.1010 = { #by Mathilda Bjarnehed trigger = { scope:torture_method = flag:poetry } desc = prison.1003.poetry.desc } + # Warcraft + triggered_desc = { + trigger = { scope:torture_method = flag:magic } + desc = prison.1003.magic.desc + } + # End Warcraft } } theme = prison @@ -480,6 +542,25 @@ prison.1010 = { #by Mathilda Bjarnehed immediate = { play_music_cue = "mx_cue_prison" + + # Warcraft + if = { + limit = { + scope:torture_method = flag:magic + scope:recipient = { + eternal_suffering_value < 5 + } + } + custom_tooltip = { + text = wc_eternal_suffering_torture_effect + scope:recipient = { + hidden_effect = { + increment_eternal_suffering_effect = yes + } + } + } + } + # End Warcraft } option = { @@ -531,6 +612,12 @@ prison.1011 = { #by Mathilda Bjarnehed trigger = { scope:torture_method = flag:poetry } desc = prison.1010.poetry.desc } + # Warcraft + triggered_desc = { + trigger = { scope:torture_method = flag:magic } + desc = prison.1010.magic.desc + } + # End Warcraft } } theme = prison @@ -1299,6 +1386,168 @@ prison.1042 = { } +#################### +# LOBOTOMY EVENTS # +#################### + +# I lobotomize someone +## 100% fresh original not-stolen-from-Chad's-events content right here +prison.1050 = { + type = character_event + title = prison.1050.t + desc = { + desc = prison.1020.start.desc + first_valid = { + triggered_desc = { + trigger = { + OR = { + ai_compassion < 0 + has_relation_rival = scope:recipient + } + } + desc = prison.1050.cruel.desc + } + desc = prison.1041.compassionate.desc + } + } + theme = prison + + left_portrait = { + character = root + animation = schadenfreude + } + right_portrait = { + character = scope:recipient + animation = fear + override_imprisonment_visuals = yes + } + + trigger = { scope:recipient = { is_imprisoned_by = scope:actor } } + + on_trigger_fail = { + scope:recipient = { + if = { + limit = { has_character_flag = is_being_tortured } + remove_character_flag = is_being_tortured + } + } + } + + immediate = { + play_music_cue = "mx_cue_prison" + + hidden_effect = { + #For the text + save_court_physician_as_effect = { SCOPE_NAME = physician } + if = { + limit = { NOT = { exists = scope:physician } } + random_dummy_gender_physician_effect = yes + scope:dummy_physician_gender = { save_scope_as = physician } + } + } + + show_as_tooltip = { maiming_destroy_diarchy_effect = yes } + } + + option = { + name = { + trigger = { + OR = { + ai_compassion < 0 + has_relation_rival = scope:recipient + } + } + text = prison.1020.a + } + name = { + trigger = { + NOR = { + ai_compassion < 0 + has_relation_rival = scope:recipient + } + } + text = prison.1020.b + } + show_as_tooltip = { add_trait_force_tooltip = incapable } + scope:recipient = { + trigger_event = prison.1051 + } + } +} + +# I am maimed +## 100% fresh original not-stolen-from-Chad's-events content right here +prison.1051 = { + type = character_event + title = prison.1041.t + desc = { + desc = prison.1021.start.desc + first_valid = { + triggered_desc = { + trigger = { + scope:actor = { + OR = { + ai_compassion < 0 + has_relation_rival = scope:recipient + } + } + } + desc = prison.1051.cruel.desc + } + desc = prison.1050.compassionate.desc + } + } + theme = prison + + left_portrait = { + character = root + animation = fear + override_imprisonment_visuals = yes + } + right_portrait = { + character = scope:actor + animation = schadenfreude + } + + trigger = { scope:recipient = { is_imprisoned_by = scope:actor } } + + on_trigger_fail = { + scope:recipient = { + if = { + limit = { has_character_flag = is_being_tortured } + remove_character_flag = is_being_tortured + } + } + } + + immediate = { + play_music_cue = "mx_cue_prison" + + maiming_destroy_diarchy_effect = yes + } + + option = { + name = { + trigger = { is_adult = yes } + text = prison.1041.a + } + name = { + trigger = { is_adult = no } + text = prison.1021.b + } + add_trait_force_tooltip = incapable + custom_tooltip = prison.1051.tt + } + + after = { + trigger_event = { + id = wc_magic_spell_events.9000 + months = { 3 12 } + } + } +} + + ############################################# # # Attempt Escape diff --git a/events/wc_events/wc_race_events.txt b/events/wc_events/wc_race_events.txt index e5e5569ad8..2dfde5f93a 100644 --- a/events/wc_events/wc_race_events.txt +++ b/events/wc_events/wc_race_events.txt @@ -69,7 +69,27 @@ WCRAC.30 = { limit = { can_be_impotent_trigger = yes } add_trait = impotent } + # Give perks to characters + #add_perks_in_physical_lifestyle_effect = yes + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = light } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = shadow } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = disorder } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = order } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = life } + add_perks_in_nonelemental_MAGIC_lifestyle_effect = { MAGIC = death } + add_perks_in_elemental_MAGIC_lifestyle_effect = { MAGIC = elemental_fire } + add_perks_in_elemental_MAGIC_lifestyle_effect = { MAGIC = elemental_water } + add_perks_in_elemental_MAGIC_lifestyle_effect = { MAGIC = elemental_air } + add_perks_in_elemental_MAGIC_lifestyle_effect = { MAGIC = elemental_earth } # Long-lived races slow down their XP set_long_lived_lifestyle_xp_slowdown_event_effect = yes + # Starts mana regeneration loop + wc_start_mana_regeneration_loop_effect = yes + # if = { + # limit = { + # has_game_rule = wc_dangerous_magic_on + # } + # wc_start_hp_regeneration_loop_effect = yes + # } } } \ No newline at end of file diff --git a/events/wc_events/wc_scourge_quelthalas_events.txt b/events/wc_events/wc_scourge_quelthalas_events.txt index bdd760332e..5dec7efb9b 100644 --- a/events/wc_events/wc_scourge_quelthalas_events.txt +++ b/events/wc_events/wc_scourge_quelthalas_events.txt @@ -315,15 +315,15 @@ scourgequel.0006 = { name = raised_scourge_lordaeron_army levies = 2000 men_at_arms = { - type = ghoul + type = ghoul_maa stacks = 20 } men_at_arms = { - type = abomination + type = abomination_maa stacks = 16 } men_at_arms = { - type = banshee + type = banshee_maa stacks = 8 } men_at_arms = { diff --git a/events/wc_events/wc_suramar_events.txt b/events/wc_events/wc_suramar_events.txt index 3b06da7d41..af834d455b 100644 --- a/events/wc_events/wc_suramar_events.txt +++ b/events/wc_events/wc_suramar_events.txt @@ -3821,7 +3821,10 @@ wc_suramar_events.0080 = { years = 3 } - #TODO_WARCRAFT gain mana + wc_change_mana_by_value_effect = { + CHANGE = add + VALUE = 40 + } ai_chance = { base = 75 diff --git a/events/yearly_events/yearly_events_5.txt b/events/yearly_events/yearly_events_5.txt index d6caf3a98b..9d9c8a0979 100644 --- a/events/yearly_events/yearly_events_5.txt +++ b/events/yearly_events/yearly_events_5.txt @@ -991,7 +991,7 @@ yearly.5003 = { secret_type = secret_murder secret_target = scope:bickering_loser } - remove_secret = yes + wc_remove_secret_override = yes # Warcraft } } } diff --git a/gfx/FX/court_scene.shader b/gfx/FX/court_scene.shader index 614326ca08..4d6be8d8af 100644 --- a/gfx/FX/court_scene.shader +++ b/gfx/FX/court_scene.shader @@ -1,4 +1,4 @@ -Includes = { +Includes = { "cw/pdxmesh_blendshapes.fxh" "cw/pdxmesh.fxh" "cw/utility.fxh" @@ -1076,6 +1076,60 @@ PixelShader = ]] } + MainCode PS_wc_ice + { + Input = "VS_OUTPUT_PDXMESHPORTRAIT" + Output = "PS_COLOR_SSAO" + Code + [[ + PDX_MAIN + { + PS_COLOR_SSAO Out; + + float2 UV0 = Input.UV0; + float4 Diffuse = PdxTex2D( DiffuseMap, UV0 ); + float4 Properties = PdxTex2D( PropertiesMap, UV0 ); + Properties *= vHairPropertyMult; + float4 NormalSampleRaw = PdxTex2D( NormalMap, UV0 ); + float3 NormalSample = UnpackRRxGNormal( NormalSampleRaw ) * ( PDX_IsFrontFace ? 1 : -1 ); + + float ColorMaskStrength = NormalSampleRaw.b; + Diffuse.rgb = GetColorMaskColorBLend( Diffuse.rgb, vPaletteColorHair.rgb, Input.InstanceIndex, ColorMaskStrength ); + + // MOD(godherja) + GH_SPortraitEffect PortraitEffect = GH_ScanMarkerDecals(DecalCount); + // END MOD + + + float3 Color = CommonPixelShader( Diffuse, Properties, NormalSample, Input, PortraitEffect, HoverMult ); + + #ifdef ALPHA_TO_COVERAGE + Diffuse.a = RescaleAlphaByMipLevel( Diffuse.a, UV0, DiffuseMap ); + + const float CUTOFF = 0.5f; + Diffuse.a = SharpenAlpha( Diffuse.a, CUTOFF ); + #endif + + #ifdef WRITE_ALPHA_ONE + Out.Color = float4( Color, 1.0f ); + #else + #ifdef HAIR_TRANSPARENCY_HACK + // TODO [HL]: Hack to stop clothing fragments from being discarded by transparent hair, + // proper fix is to ensure that hair is drawn after clothes + // https://beta.paradoxplaza.com/browse/PSGE-3103 + clip( Diffuse.a - 0.5f ); + #endif + + Out.Color = float4( Color, Diffuse.a ); + #endif + + Out.SSAOColor = float4( vec3( 0.0f ), 1.0f ); + + return Out; + } + ]] + } + MainCode PS_hair_double_sided { Input = "VS_OUTPUT_PDXMESHPORTRAIT" @@ -1278,6 +1332,16 @@ BlendState hair_alpha_blend WriteMask = "RED|GREEN|BLUE|ALPHA" } +BlendState ice_alpha_blend +{ + BlendEnable = yes + SourceBlend = "SRC_ALPHA" + DestBlend = "INV_SRC_ALPHA" + SourceAlpha = "ONE" + DestAlpha = "INV_SRC_ALPHA" + WriteMask = "RED|GREEN|BLUE|ALPHA" +} + DepthStencilState hair_alpha_blend { DepthWriteEnable = no @@ -1435,6 +1499,20 @@ Effect portrait_attachment_selection Defines = { "PDX_MESH_BLENDSHAPES" } } +Effect wc_portrait_attachment_ice +{ + VertexShader = "VS_standard" + PixelShader = "PS_wc_ice" + BlendState = "ice_alpha_blend" +} + +Effect wc_portrait_attachment_ice_selection +{ + VertexShader = "VS_standard" + PixelShader = "PS_court_selection" + BlendState = "ice_alpha_blend" +} + Effect wc_portrait_attachment_emissive { VertexShader = "VS_standard" diff --git a/gfx/FX/jomini/portrait.shader b/gfx/FX/jomini/portrait.shader index aee46da78a..941337d801 100644 --- a/gfx/FX/jomini/portrait.shader +++ b/gfx/FX/jomini/portrait.shader @@ -1,4 +1,4 @@ -Includes = { +Includes = { "cw/pdxmesh_blendshapes.fxh" "cw/pdxmesh.fxh" "cw/utility.fxh" @@ -702,6 +702,59 @@ PixelShader = } ]] } + MainCode PS_wc_ice + { + Input = "VS_OUTPUT_PDXMESHPORTRAIT" + Output = "PS_COLOR_SSAO" + Code + [[ + PDX_MAIN + { + PS_COLOR_SSAO Out; + + float2 UV0 = Input.UV0; + float4 Diffuse = PdxTex2D( DiffuseMap, UV0 ); + float4 Properties = PdxTex2D( PropertiesMap, UV0 ); + Properties *= vHairPropertyMult; + float4 NormalSampleRaw = PdxTex2D( NormalMap, UV0 ); + float3 NormalSample = UnpackRRxGNormal( NormalSampleRaw ) * ( PDX_IsFrontFace ? 1 : -1 ); + + float ColorMaskStrength = NormalSampleRaw.b; + Diffuse.rgb = GetColorMaskColorBLend( Diffuse.rgb, vPaletteColorHair.rgb, Input.InstanceIndex, ColorMaskStrength ); + + // MOD(godherja) + GH_SPortraitEffect PortraitEffect = GH_ScanMarkerDecals(DecalCount); + // END MOD + + float3 Color = CommonPixelShader( Diffuse, Properties, NormalSample, Input, PortraitEffect ); + + #ifdef ALPHA_TO_COVERAGE + Diffuse.a = RescaleAlphaByMipLevel( Diffuse.a, UV0, DiffuseMap ); + + const float CUTOFF = 0.5f; + Diffuse.a = SharpenAlpha( Diffuse.a, CUTOFF ); + #endif + + #ifdef WRITE_ALPHA_ONE + Out.Color = float4( Color, 1.0f ); + #else + #ifdef HAIR_TRANSPARENCY_HACK + // TODO [HL]: Hack to stop clothing fragments from being discarded by transparent hair, + // proper fix is to ensure that hair is drawn after clothes + // https://beta.paradoxplaza.com/browse/PSGE-3103 + clip( Diffuse.a - 0.5f ); + #endif + + Out.Color = float4( Color, Diffuse.a ); + #endif + + Out.SSAOColor = PdxTex2D( SSAOColorMap, UV0 ); + Out.SSAOColor.rgb *= vPaletteColorHair.rgb; + + return Out; + } + ]] + } MainCode PS_hair_double_sided { Input = "VS_OUTPUT_PDXMESHPORTRAIT" @@ -751,6 +804,16 @@ BlendState hair_alpha_blend WriteMask = "RED|GREEN|BLUE|ALPHA" } +BlendState ice_alpha_blend +{ + BlendEnable = yes + SourceBlend = "SRC_ALPHA" + DestBlend = "INV_SRC_ALPHA" + SourceAlpha = "ONE" + DestAlpha = "INV_SRC_ALPHA" + WriteMask = "RED|GREEN|BLUE|ALPHA" +} + DepthStencilState hair_alpha_blend { DepthWriteEnable = no @@ -866,6 +929,13 @@ Effect portrait_attachment PixelShader = "PS_attachment" Defines = { "EMISSIVE_NORMAL_BLUE" "PDX_MESH_BLENDSHAPES" } } + +Effect wc_portrait_attachment_ice +{ + VertexShader = "VS_standard" + PixelShader = "PS_wc_ice" + BlendState = "ice_alpha_blend" +} Effect wc_portrait_attachment_emissive { VertexShader = "VS_standard" @@ -1065,6 +1135,7 @@ Effect portrait_attachment_alpha PixelShader = "PS_attachment" BlendState = "hair_alpha_blend" DepthStencilState = "hair_alpha_blend" + } Effect portrait_attachment_alphaShadow diff --git a/gfx/interface/icons/alerts/action_lifestyle_death_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_death_magic.dds new file mode 100644 index 0000000000..da754fde68 Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_death_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_disorder_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_disorder_magic.dds new file mode 100644 index 0000000000..cee1aed2df Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_disorder_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_elemental_air_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_elemental_air_magic.dds new file mode 100644 index 0000000000..ae88527f8f Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_elemental_air_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_elemental_earth_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_elemental_earth_magic.dds new file mode 100644 index 0000000000..4319fe7cfd Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_elemental_earth_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_elemental_fire_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_elemental_fire_magic.dds new file mode 100644 index 0000000000..f373eae9d2 Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_elemental_fire_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_elemental_water_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_elemental_water_magic.dds new file mode 100644 index 0000000000..118c8f1cfa Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_elemental_water_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_life_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_life_magic.dds new file mode 100644 index 0000000000..9622efc2c0 Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_life_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_light_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_light_magic.dds new file mode 100644 index 0000000000..d1a08e619a Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_light_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_order_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_order_magic.dds new file mode 100644 index 0000000000..ddc34be2bf Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_order_magic.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_physical.dds b/gfx/interface/icons/alerts/action_lifestyle_physical.dds new file mode 100644 index 0000000000..004b51b331 Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_physical.dds differ diff --git a/gfx/interface/icons/alerts/action_lifestyle_shadow_magic.dds b/gfx/interface/icons/alerts/action_lifestyle_shadow_magic.dds new file mode 100644 index 0000000000..5e5bf935e9 Binary files /dev/null and b/gfx/interface/icons/alerts/action_lifestyle_shadow_magic.dds differ diff --git a/gfx/interface/icons/character_interactions/icon_spellbook.dds b/gfx/interface/icons/character_interactions/icon_spellbook.dds new file mode 100644 index 0000000000..af9f4fc667 Binary files /dev/null and b/gfx/interface/icons/character_interactions/icon_spellbook.dds differ diff --git a/gfx/interface/icons/character_interactions/order_arcane_intellect_interaction.dds b/gfx/interface/icons/character_interactions/order_arcane_intellect_interaction.dds new file mode 100644 index 0000000000..930eb9998c Binary files /dev/null and b/gfx/interface/icons/character_interactions/order_arcane_intellect_interaction.dds differ diff --git a/gfx/interface/icons/currencies/icon_empty_mana_crystal.dds b/gfx/interface/icons/currencies/icon_empty_mana_crystal.dds new file mode 100644 index 0000000000..c07099af64 Binary files /dev/null and b/gfx/interface/icons/currencies/icon_empty_mana_crystal.dds differ diff --git a/gfx/interface/icons/currencies/icon_full_mana_crystal.dds b/gfx/interface/icons/currencies/icon_full_mana_crystal.dds new file mode 100644 index 0000000000..b12d8c9c66 Binary files /dev/null and b/gfx/interface/icons/currencies/icon_full_mana_crystal.dds differ diff --git a/gfx/interface/icons/currencies/icon_half_mana_crystal.dds b/gfx/interface/icons/currencies/icon_half_mana_crystal.dds new file mode 100644 index 0000000000..600a854667 Binary files /dev/null and b/gfx/interface/icons/currencies/icon_half_mana_crystal.dds differ diff --git a/gfx/interface/icons/currencies/icon_stat_mana_crystal.dds b/gfx/interface/icons/currencies/icon_stat_mana_crystal.dds new file mode 100644 index 0000000000..b43dfb2fe0 Binary files /dev/null and b/gfx/interface/icons/currencies/icon_stat_mana_crystal.dds differ diff --git a/gfx/interface/icons/focuses/death_magic_focus_1.dds b/gfx/interface/icons/focuses/death_magic_focus_1.dds new file mode 100644 index 0000000000..730e5dcf9e Binary files /dev/null and b/gfx/interface/icons/focuses/death_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/death_magic_focus_2.dds b/gfx/interface/icons/focuses/death_magic_focus_2.dds new file mode 100644 index 0000000000..1e194dbe20 Binary files /dev/null and b/gfx/interface/icons/focuses/death_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/death_magic_focus_3.dds b/gfx/interface/icons/focuses/death_magic_focus_3.dds new file mode 100644 index 0000000000..64b247c25f Binary files /dev/null and b/gfx/interface/icons/focuses/death_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/disorder_magic_focus_1.dds b/gfx/interface/icons/focuses/disorder_magic_focus_1.dds new file mode 100644 index 0000000000..e0c1a0f0a3 Binary files /dev/null and b/gfx/interface/icons/focuses/disorder_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/disorder_magic_focus_2.dds b/gfx/interface/icons/focuses/disorder_magic_focus_2.dds new file mode 100644 index 0000000000..7af818f2a0 Binary files /dev/null and b/gfx/interface/icons/focuses/disorder_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/disorder_magic_focus_3.dds b/gfx/interface/icons/focuses/disorder_magic_focus_3.dds new file mode 100644 index 0000000000..eb5904a5f4 Binary files /dev/null and b/gfx/interface/icons/focuses/disorder_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/elemental_air_magic_focus_1.dds b/gfx/interface/icons/focuses/elemental_air_magic_focus_1.dds new file mode 100644 index 0000000000..ca0e7b9be9 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_air_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/elemental_air_magic_focus_2.dds b/gfx/interface/icons/focuses/elemental_air_magic_focus_2.dds new file mode 100644 index 0000000000..12027f5e97 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_air_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/elemental_air_magic_focus_3.dds b/gfx/interface/icons/focuses/elemental_air_magic_focus_3.dds new file mode 100644 index 0000000000..85db5aaffa Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_air_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/elemental_earth_magic_focus_1.dds b/gfx/interface/icons/focuses/elemental_earth_magic_focus_1.dds new file mode 100644 index 0000000000..3fb0becead Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_earth_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/elemental_earth_magic_focus_2.dds b/gfx/interface/icons/focuses/elemental_earth_magic_focus_2.dds new file mode 100644 index 0000000000..6f3405e292 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_earth_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/elemental_earth_magic_focus_3.dds b/gfx/interface/icons/focuses/elemental_earth_magic_focus_3.dds new file mode 100644 index 0000000000..71c10942f2 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_earth_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/elemental_fire_magic_focus_1.dds b/gfx/interface/icons/focuses/elemental_fire_magic_focus_1.dds new file mode 100644 index 0000000000..49e3d46abe Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_fire_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/elemental_fire_magic_focus_2.dds b/gfx/interface/icons/focuses/elemental_fire_magic_focus_2.dds new file mode 100644 index 0000000000..b08f6db66d Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_fire_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/elemental_fire_magic_focus_3.dds b/gfx/interface/icons/focuses/elemental_fire_magic_focus_3.dds new file mode 100644 index 0000000000..f76abdd587 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_fire_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/elemental_water_magic_focus_1.dds b/gfx/interface/icons/focuses/elemental_water_magic_focus_1.dds new file mode 100644 index 0000000000..184707b368 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_water_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/elemental_water_magic_focus_2.dds b/gfx/interface/icons/focuses/elemental_water_magic_focus_2.dds new file mode 100644 index 0000000000..27de8eeab2 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_water_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/elemental_water_magic_focus_3.dds b/gfx/interface/icons/focuses/elemental_water_magic_focus_3.dds new file mode 100644 index 0000000000..df7cbd7f54 Binary files /dev/null and b/gfx/interface/icons/focuses/elemental_water_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/life_magic_focus_1.dds b/gfx/interface/icons/focuses/life_magic_focus_1.dds new file mode 100644 index 0000000000..ebba687508 Binary files /dev/null and b/gfx/interface/icons/focuses/life_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/life_magic_focus_2.dds b/gfx/interface/icons/focuses/life_magic_focus_2.dds new file mode 100644 index 0000000000..89e293d714 Binary files /dev/null and b/gfx/interface/icons/focuses/life_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/life_magic_focus_3.dds b/gfx/interface/icons/focuses/life_magic_focus_3.dds new file mode 100644 index 0000000000..b032fd144e Binary files /dev/null and b/gfx/interface/icons/focuses/life_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/light_magic_focus_1.dds b/gfx/interface/icons/focuses/light_magic_focus_1.dds new file mode 100644 index 0000000000..f9be8f6bc7 Binary files /dev/null and b/gfx/interface/icons/focuses/light_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/light_magic_focus_2.dds b/gfx/interface/icons/focuses/light_magic_focus_2.dds new file mode 100644 index 0000000000..bb74595b61 Binary files /dev/null and b/gfx/interface/icons/focuses/light_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/light_magic_focus_3.dds b/gfx/interface/icons/focuses/light_magic_focus_3.dds new file mode 100644 index 0000000000..15c492e74f Binary files /dev/null and b/gfx/interface/icons/focuses/light_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/order_magic_focus_1.dds b/gfx/interface/icons/focuses/order_magic_focus_1.dds new file mode 100644 index 0000000000..46db59191c Binary files /dev/null and b/gfx/interface/icons/focuses/order_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/order_magic_focus_2.dds b/gfx/interface/icons/focuses/order_magic_focus_2.dds new file mode 100644 index 0000000000..17c83e87d6 Binary files /dev/null and b/gfx/interface/icons/focuses/order_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/order_magic_focus_3.dds b/gfx/interface/icons/focuses/order_magic_focus_3.dds new file mode 100644 index 0000000000..d80aeda28e Binary files /dev/null and b/gfx/interface/icons/focuses/order_magic_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/physical_focus_1.dds b/gfx/interface/icons/focuses/physical_focus_1.dds new file mode 100644 index 0000000000..a44f20e94b Binary files /dev/null and b/gfx/interface/icons/focuses/physical_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/physical_focus_2.dds b/gfx/interface/icons/focuses/physical_focus_2.dds new file mode 100644 index 0000000000..352f3288a3 Binary files /dev/null and b/gfx/interface/icons/focuses/physical_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/physical_focus_3.dds b/gfx/interface/icons/focuses/physical_focus_3.dds new file mode 100644 index 0000000000..c8a9f4734c Binary files /dev/null and b/gfx/interface/icons/focuses/physical_focus_3.dds differ diff --git a/gfx/interface/icons/focuses/shadow_magic_focus_1.dds b/gfx/interface/icons/focuses/shadow_magic_focus_1.dds new file mode 100644 index 0000000000..3f67d40e4b Binary files /dev/null and b/gfx/interface/icons/focuses/shadow_magic_focus_1.dds differ diff --git a/gfx/interface/icons/focuses/shadow_magic_focus_2.dds b/gfx/interface/icons/focuses/shadow_magic_focus_2.dds new file mode 100644 index 0000000000..769ec1cb06 Binary files /dev/null and b/gfx/interface/icons/focuses/shadow_magic_focus_2.dds differ diff --git a/gfx/interface/icons/focuses/shadow_magic_focus_3.dds b/gfx/interface/icons/focuses/shadow_magic_focus_3.dds new file mode 100644 index 0000000000..1717531397 Binary files /dev/null and b/gfx/interface/icons/focuses/shadow_magic_focus_3.dds differ diff --git a/gfx/interface/icons/icon_death_magic.dds b/gfx/interface/icons/icon_death_magic.dds new file mode 100644 index 0000000000..4467c1d896 Binary files /dev/null and b/gfx/interface/icons/icon_death_magic.dds differ diff --git a/gfx/interface/icons/icon_disorder_magic.dds b/gfx/interface/icons/icon_disorder_magic.dds new file mode 100644 index 0000000000..9304cfa7b0 Binary files /dev/null and b/gfx/interface/icons/icon_disorder_magic.dds differ diff --git a/gfx/interface/icons/icon_elemental_air_magic.dds b/gfx/interface/icons/icon_elemental_air_magic.dds new file mode 100644 index 0000000000..ee44829972 Binary files /dev/null and b/gfx/interface/icons/icon_elemental_air_magic.dds differ diff --git a/gfx/interface/icons/icon_elemental_earth_magic.dds b/gfx/interface/icons/icon_elemental_earth_magic.dds new file mode 100644 index 0000000000..7b366db2ae Binary files /dev/null and b/gfx/interface/icons/icon_elemental_earth_magic.dds differ diff --git a/gfx/interface/icons/icon_elemental_fire_magic.dds b/gfx/interface/icons/icon_elemental_fire_magic.dds new file mode 100644 index 0000000000..cdbf6c18a4 Binary files /dev/null and b/gfx/interface/icons/icon_elemental_fire_magic.dds differ diff --git a/gfx/interface/icons/icon_elemental_water_magic.dds b/gfx/interface/icons/icon_elemental_water_magic.dds new file mode 100644 index 0000000000..417d861a39 Binary files /dev/null and b/gfx/interface/icons/icon_elemental_water_magic.dds differ diff --git a/gfx/interface/icons/icon_life_magic.dds b/gfx/interface/icons/icon_life_magic.dds new file mode 100644 index 0000000000..25bd9d20d2 Binary files /dev/null and b/gfx/interface/icons/icon_life_magic.dds differ diff --git a/gfx/interface/icons/icon_light_magic.dds b/gfx/interface/icons/icon_light_magic.dds new file mode 100644 index 0000000000..6336bb1aed Binary files /dev/null and b/gfx/interface/icons/icon_light_magic.dds differ diff --git a/gfx/interface/icons/icon_magical_prowess.dds b/gfx/interface/icons/icon_magical_prowess.dds new file mode 100644 index 0000000000..930eb9998c Binary files /dev/null and b/gfx/interface/icons/icon_magical_prowess.dds differ diff --git a/gfx/interface/icons/icon_order_magic.dds b/gfx/interface/icons/icon_order_magic.dds new file mode 100644 index 0000000000..a3e096e739 Binary files /dev/null and b/gfx/interface/icons/icon_order_magic.dds differ diff --git a/gfx/interface/icons/icon_physical.dds b/gfx/interface/icons/icon_physical.dds new file mode 100644 index 0000000000..9c9bf1bf1c Binary files /dev/null and b/gfx/interface/icons/icon_physical.dds differ diff --git a/gfx/interface/icons/icon_shadow_magic.dds b/gfx/interface/icons/icon_shadow_magic.dds new file mode 100644 index 0000000000..03f54907c5 Binary files /dev/null and b/gfx/interface/icons/icon_shadow_magic.dds differ diff --git a/gfx/interface/icons/icon_spellbook.dds b/gfx/interface/icons/icon_spellbook.dds new file mode 100644 index 0000000000..af9f4fc667 Binary files /dev/null and b/gfx/interface/icons/icon_spellbook.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_1.dds new file mode 100644 index 0000000000..e7019265cd Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_2.dds new file mode 100644 index 0000000000..62f2d1a278 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_3.dds new file mode 100644 index 0000000000..426ad2471c Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/death_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_1.dds new file mode 100644 index 0000000000..200d92295f Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_2.dds new file mode 100644 index 0000000000..b54b8942ea Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_3.dds new file mode 100644 index 0000000000..07ba7f7518 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/disorder_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_1.dds new file mode 100644 index 0000000000..6b8bc6b4a1 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_2.dds new file mode 100644 index 0000000000..d9f1c85631 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_air_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_1.dds new file mode 100644 index 0000000000..602a6ed564 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_2.dds new file mode 100644 index 0000000000..3130c394b1 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_earth_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_1.dds new file mode 100644 index 0000000000..9b1a4d19e5 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_2.dds new file mode 100644 index 0000000000..a0fde9230d Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_fire_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_1.dds new file mode 100644 index 0000000000..76c9e743ef Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_2.dds new file mode 100644 index 0000000000..53478a4f0e Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/elemental_water_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_1.dds new file mode 100644 index 0000000000..667218918e Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_2.dds new file mode 100644 index 0000000000..693403adc1 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_3.dds new file mode 100644 index 0000000000..c85102ace4 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/life_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_1.dds new file mode 100644 index 0000000000..3f9c2e1974 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_2.dds new file mode 100644 index 0000000000..44ac78615b Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_3.dds new file mode 100644 index 0000000000..b094b66e88 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/light_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_1.dds new file mode 100644 index 0000000000..f52af9db57 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_2.dds new file mode 100644 index 0000000000..83c00484f6 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_3.dds new file mode 100644 index 0000000000..53e505296e Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_4.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_4.dds new file mode 100644 index 0000000000..9b36609694 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_4.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_5.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_5.dds new file mode 100644 index 0000000000..9a4d11d1bd Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/order_magic_tree_5.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_1.dds new file mode 100644 index 0000000000..8794caa483 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_2.dds new file mode 100644 index 0000000000..af3b21e4b7 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_3.dds new file mode 100644 index 0000000000..ec2651dd99 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/physical_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_1.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_1.dds new file mode 100644 index 0000000000..ac8fc771f5 Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_1.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_2.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_2.dds new file mode 100644 index 0000000000..af59f4857a Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_2.dds differ diff --git a/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_3.dds b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_3.dds new file mode 100644 index 0000000000..99a0572afc Binary files /dev/null and b/gfx/interface/icons/lifestyle_tree_backgrounds/shadow_magic_tree_3.dds differ diff --git a/gfx/interface/icons/lifestyles/death_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/death_magic_lifestyle.dds new file mode 100644 index 0000000000..ade38f8d24 Binary files /dev/null and b/gfx/interface/icons/lifestyles/death_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/disorder_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/disorder_magic_lifestyle.dds new file mode 100644 index 0000000000..41028972ad Binary files /dev/null and b/gfx/interface/icons/lifestyles/disorder_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/elemental_air_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/elemental_air_magic_lifestyle.dds new file mode 100644 index 0000000000..3b098ae0ba Binary files /dev/null and b/gfx/interface/icons/lifestyles/elemental_air_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/elemental_earth_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/elemental_earth_magic_lifestyle.dds new file mode 100644 index 0000000000..a9109656fc Binary files /dev/null and b/gfx/interface/icons/lifestyles/elemental_earth_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/elemental_fire_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/elemental_fire_magic_lifestyle.dds new file mode 100644 index 0000000000..6d5e8e1179 Binary files /dev/null and b/gfx/interface/icons/lifestyles/elemental_fire_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/elemental_water_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/elemental_water_magic_lifestyle.dds new file mode 100644 index 0000000000..a254e47448 Binary files /dev/null and b/gfx/interface/icons/lifestyles/elemental_water_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/life_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/life_magic_lifestyle.dds new file mode 100644 index 0000000000..4536350525 Binary files /dev/null and b/gfx/interface/icons/lifestyles/life_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/light_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/light_magic_lifestyle.dds new file mode 100644 index 0000000000..de61f83472 Binary files /dev/null and b/gfx/interface/icons/lifestyles/light_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/order_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/order_magic_lifestyle.dds new file mode 100644 index 0000000000..7c6ce58fbe Binary files /dev/null and b/gfx/interface/icons/lifestyles/order_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/physical_lifestyle.dds b/gfx/interface/icons/lifestyles/physical_lifestyle.dds new file mode 100644 index 0000000000..adbb3f6183 Binary files /dev/null and b/gfx/interface/icons/lifestyles/physical_lifestyle.dds differ diff --git a/gfx/interface/icons/lifestyles/shadow_magic_lifestyle.dds b/gfx/interface/icons/lifestyles/shadow_magic_lifestyle.dds new file mode 100644 index 0000000000..965be23716 Binary files /dev/null and b/gfx/interface/icons/lifestyles/shadow_magic_lifestyle.dds differ diff --git a/gfx/interface/icons/modifiers/death_mixed.dds b/gfx/interface/icons/modifiers/death_mixed.dds new file mode 100644 index 0000000000..5377d3da44 Binary files /dev/null and b/gfx/interface/icons/modifiers/death_mixed.dds differ diff --git a/gfx/interface/icons/modifiers/death_negative.dds b/gfx/interface/icons/modifiers/death_negative.dds new file mode 100644 index 0000000000..db2855acfd Binary files /dev/null and b/gfx/interface/icons/modifiers/death_negative.dds differ diff --git a/gfx/interface/icons/modifiers/death_positive.dds b/gfx/interface/icons/modifiers/death_positive.dds new file mode 100644 index 0000000000..41f38dd7dd Binary files /dev/null and b/gfx/interface/icons/modifiers/death_positive.dds differ diff --git a/gfx/interface/icons/modifiers/ice_mixed.dds b/gfx/interface/icons/modifiers/ice_mixed.dds new file mode 100644 index 0000000000..9a767a4971 Binary files /dev/null and b/gfx/interface/icons/modifiers/ice_mixed.dds differ diff --git a/gfx/interface/icons/modifiers/ice_negative.dds b/gfx/interface/icons/modifiers/ice_negative.dds new file mode 100644 index 0000000000..71622968e8 Binary files /dev/null and b/gfx/interface/icons/modifiers/ice_negative.dds differ diff --git a/gfx/interface/icons/modifiers/ice_positive.dds b/gfx/interface/icons/modifiers/ice_positive.dds new file mode 100644 index 0000000000..a2072f89e8 Binary files /dev/null and b/gfx/interface/icons/modifiers/ice_positive.dds differ diff --git a/gfx/interface/icons/modifiers/water_mixed.dds b/gfx/interface/icons/modifiers/water_mixed.dds new file mode 100644 index 0000000000..b39fea41ed Binary files /dev/null and b/gfx/interface/icons/modifiers/water_mixed.dds differ diff --git a/gfx/interface/icons/modifiers/water_negative.dds b/gfx/interface/icons/modifiers/water_negative.dds new file mode 100644 index 0000000000..f00d3f9ddc Binary files /dev/null and b/gfx/interface/icons/modifiers/water_negative.dds differ diff --git a/gfx/interface/icons/modifiers/water_positive.dds b/gfx/interface/icons/modifiers/water_positive.dds new file mode 100644 index 0000000000..2c59c402bb Binary files /dev/null and b/gfx/interface/icons/modifiers/water_positive.dds differ diff --git a/gfx/interface/icons/regimenttypes/air_elemental.dds b/gfx/interface/icons/regimenttypes/air_elemental.dds new file mode 100644 index 0000000000..5f8f7a9025 Binary files /dev/null and b/gfx/interface/icons/regimenttypes/air_elemental.dds differ diff --git a/gfx/interface/icons/regimenttypes/earth_elemental.dds b/gfx/interface/icons/regimenttypes/earth_elemental.dds new file mode 100644 index 0000000000..e3ff1744f7 Binary files /dev/null and b/gfx/interface/icons/regimenttypes/earth_elemental.dds differ diff --git a/gfx/interface/icons/regimenttypes/fire_elemental.dds b/gfx/interface/icons/regimenttypes/fire_elemental.dds new file mode 100644 index 0000000000..4b183e80ae Binary files /dev/null and b/gfx/interface/icons/regimenttypes/fire_elemental.dds differ diff --git a/gfx/interface/icons/regimenttypes/fire_tempest.dds b/gfx/interface/icons/regimenttypes/fire_tempest.dds new file mode 100644 index 0000000000..6a57b9f966 Binary files /dev/null and b/gfx/interface/icons/regimenttypes/fire_tempest.dds differ diff --git a/gfx/interface/icons/regimenttypes/fire_terrestrial.dds b/gfx/interface/icons/regimenttypes/fire_terrestrial.dds new file mode 100644 index 0000000000..2d3e15182e Binary files /dev/null and b/gfx/interface/icons/regimenttypes/fire_terrestrial.dds differ diff --git a/gfx/interface/icons/regimenttypes/water_elemental.dds b/gfx/interface/icons/regimenttypes/water_elemental.dds new file mode 100644 index 0000000000..07f4b5d480 Binary files /dev/null and b/gfx/interface/icons/regimenttypes/water_elemental.dds differ diff --git a/gfx/interface/icons/traits/Ice_block.dds b/gfx/interface/icons/traits/Ice_block.dds new file mode 100644 index 0000000000..65452b96ec Binary files /dev/null and b/gfx/interface/icons/traits/Ice_block.dds differ diff --git a/gfx/interface/icons/traits/burned.dds b/gfx/interface/icons/traits/burned.dds new file mode 100644 index 0000000000..0e64156496 Binary files /dev/null and b/gfx/interface/icons/traits/burned.dds differ diff --git a/gfx/interface/icons/traits/burned_1.dds b/gfx/interface/icons/traits/burned_1.dds new file mode 100644 index 0000000000..c5a637cee8 Binary files /dev/null and b/gfx/interface/icons/traits/burned_1.dds differ diff --git a/gfx/interface/icons/traits/burned_2.dds b/gfx/interface/icons/traits/burned_2.dds new file mode 100644 index 0000000000..219d727ebc Binary files /dev/null and b/gfx/interface/icons/traits/burned_2.dds differ diff --git a/gfx/interface/icons/traits/burned_3.dds b/gfx/interface/icons/traits/burned_3.dds new file mode 100644 index 0000000000..afccd5a5ba Binary files /dev/null and b/gfx/interface/icons/traits/burned_3.dds differ diff --git a/gfx/interface/icons/traits/frostbite_1.dds b/gfx/interface/icons/traits/frostbite_1.dds new file mode 100644 index 0000000000..5487a72a0c Binary files /dev/null and b/gfx/interface/icons/traits/frostbite_1.dds differ diff --git a/gfx/interface/icons/traits/frostbite_2.dds b/gfx/interface/icons/traits/frostbite_2.dds new file mode 100644 index 0000000000..cf1cdda0d6 Binary files /dev/null and b/gfx/interface/icons/traits/frostbite_2.dds differ diff --git a/gfx/interface/icons/traits/frostbite_3.dds b/gfx/interface/icons/traits/frostbite_3.dds new file mode 100644 index 0000000000..51064cf4ca Binary files /dev/null and b/gfx/interface/icons/traits/frostbite_3.dds differ diff --git a/gfx/interface/icons/traits/holy_wrath.dds b/gfx/interface/icons/traits/holy_wrath.dds new file mode 100644 index 0000000000..fafb5ea2fc Binary files /dev/null and b/gfx/interface/icons/traits/holy_wrath.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_dexterity_1.dds b/gfx/interface/icons/traits/physical_lifestyle_dexterity_1.dds new file mode 100644 index 0000000000..acce2081dc Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_dexterity_1.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_dexterity_2.dds b/gfx/interface/icons/traits/physical_lifestyle_dexterity_2.dds new file mode 100644 index 0000000000..cc4a23db00 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_dexterity_2.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_dexterity_3.dds b/gfx/interface/icons/traits/physical_lifestyle_dexterity_3.dds new file mode 100644 index 0000000000..3a0b84a403 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_dexterity_3.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_dexterity_4.dds b/gfx/interface/icons/traits/physical_lifestyle_dexterity_4.dds new file mode 100644 index 0000000000..46d0f0c231 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_dexterity_4.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_dexterity_5.dds b/gfx/interface/icons/traits/physical_lifestyle_dexterity_5.dds new file mode 100644 index 0000000000..0cc8159359 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_dexterity_5.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_endurance_1.dds b/gfx/interface/icons/traits/physical_lifestyle_endurance_1.dds new file mode 100644 index 0000000000..4f6be3ab06 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_endurance_1.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_endurance_2.dds b/gfx/interface/icons/traits/physical_lifestyle_endurance_2.dds new file mode 100644 index 0000000000..e922d96326 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_endurance_2.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_endurance_3.dds b/gfx/interface/icons/traits/physical_lifestyle_endurance_3.dds new file mode 100644 index 0000000000..54dbc5a9d9 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_endurance_3.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_endurance_4.dds b/gfx/interface/icons/traits/physical_lifestyle_endurance_4.dds new file mode 100644 index 0000000000..09b3fd3807 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_endurance_4.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_endurance_5.dds b/gfx/interface/icons/traits/physical_lifestyle_endurance_5.dds new file mode 100644 index 0000000000..223ad28fc2 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_endurance_5.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_strength_1.dds b/gfx/interface/icons/traits/physical_lifestyle_strength_1.dds new file mode 100644 index 0000000000..02e471b62a Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_strength_1.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_strength_2.dds b/gfx/interface/icons/traits/physical_lifestyle_strength_2.dds new file mode 100644 index 0000000000..0501181202 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_strength_2.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_strength_3.dds b/gfx/interface/icons/traits/physical_lifestyle_strength_3.dds new file mode 100644 index 0000000000..f878142026 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_strength_3.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_strength_4.dds b/gfx/interface/icons/traits/physical_lifestyle_strength_4.dds new file mode 100644 index 0000000000..dd6495c6d9 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_strength_4.dds differ diff --git a/gfx/interface/icons/traits/physical_lifestyle_strength_5.dds b/gfx/interface/icons/traits/physical_lifestyle_strength_5.dds new file mode 100644 index 0000000000..5e6803bac3 Binary files /dev/null and b/gfx/interface/icons/traits/physical_lifestyle_strength_5.dds differ diff --git a/gfx/interface/icons/traits/polymorph.dds b/gfx/interface/icons/traits/polymorph.dds new file mode 100644 index 0000000000..d3573e5b75 Binary files /dev/null and b/gfx/interface/icons/traits/polymorph.dds differ diff --git a/gfx/interface/icons/traits/user_of_death_magic_1.dds b/gfx/interface/icons/traits/user_of_death_magic_1.dds new file mode 100644 index 0000000000..e9cf76f477 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_death_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_death_magic_2.dds b/gfx/interface/icons/traits/user_of_death_magic_2.dds new file mode 100644 index 0000000000..84183bb47c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_death_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_death_magic_3.dds b/gfx/interface/icons/traits/user_of_death_magic_3.dds new file mode 100644 index 0000000000..c742b32c5c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_death_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_death_magic_4.dds b/gfx/interface/icons/traits/user_of_death_magic_4.dds new file mode 100644 index 0000000000..a3add2578a Binary files /dev/null and b/gfx/interface/icons/traits/user_of_death_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_death_magic_5.dds b/gfx/interface/icons/traits/user_of_death_magic_5.dds new file mode 100644 index 0000000000..72da025a05 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_death_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_disorder_magic_1.dds b/gfx/interface/icons/traits/user_of_disorder_magic_1.dds new file mode 100644 index 0000000000..f5cdcb420b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_disorder_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_disorder_magic_2.dds b/gfx/interface/icons/traits/user_of_disorder_magic_2.dds new file mode 100644 index 0000000000..11d8909c6f Binary files /dev/null and b/gfx/interface/icons/traits/user_of_disorder_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_disorder_magic_3.dds b/gfx/interface/icons/traits/user_of_disorder_magic_3.dds new file mode 100644 index 0000000000..267cfb635f Binary files /dev/null and b/gfx/interface/icons/traits/user_of_disorder_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_disorder_magic_4.dds b/gfx/interface/icons/traits/user_of_disorder_magic_4.dds new file mode 100644 index 0000000000..69ae5d8ba4 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_disorder_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_disorder_magic_5.dds b/gfx/interface/icons/traits/user_of_disorder_magic_5.dds new file mode 100644 index 0000000000..2b3c76e7ec Binary files /dev/null and b/gfx/interface/icons/traits/user_of_disorder_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_1.dds new file mode 100644 index 0000000000..159dec4bf9 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_2.dds new file mode 100644 index 0000000000..ec61d83764 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_3.dds new file mode 100644 index 0000000000..aaf954612d Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_4.dds new file mode 100644 index 0000000000..f057e1a7f9 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_5.dds new file mode 100644 index 0000000000..90e66fae6a Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_decay_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_air_magic_1.dds new file mode 100644 index 0000000000..3018e74315 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_air_magic_2.dds new file mode 100644 index 0000000000..0e421b3480 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_air_magic_3.dds new file mode 100644 index 0000000000..eafddc14a7 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_air_magic_4.dds new file mode 100644 index 0000000000..cb0deb8e0b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_air_magic_5.dds new file mode 100644 index 0000000000..474d023d22 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_1.dds new file mode 100644 index 0000000000..08e6057fd9 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_2.dds new file mode 100644 index 0000000000..46cf0f18d3 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_3.dds new file mode 100644 index 0000000000..6b0cbeed65 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_4.dds new file mode 100644 index 0000000000..b78a8d687b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_5.dds new file mode 100644 index 0000000000..e5217382ca Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_air_spirit_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_1.dds new file mode 100644 index 0000000000..e7908f6e63 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_2.dds new file mode 100644 index 0000000000..4a78595a2c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_3.dds new file mode 100644 index 0000000000..013276e03e Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_4.dds new file mode 100644 index 0000000000..3b5de51a8c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_5.dds new file mode 100644 index 0000000000..445758e2a7 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_decay_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_earth_magic_1.dds new file mode 100644 index 0000000000..de74c2dc5f Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_earth_magic_2.dds new file mode 100644 index 0000000000..344b303053 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_earth_magic_3.dds new file mode 100644 index 0000000000..599e306002 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_earth_magic_4.dds new file mode 100644 index 0000000000..7102d11d64 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_earth_magic_5.dds new file mode 100644 index 0000000000..e0a11dc6f8 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_1.dds new file mode 100644 index 0000000000..52555e96b9 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_2.dds new file mode 100644 index 0000000000..48b2983459 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_3.dds new file mode 100644 index 0000000000..413d9825f7 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_4.dds new file mode 100644 index 0000000000..0d2da24995 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_5.dds new file mode 100644 index 0000000000..678c8f9333 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_earth_spirit_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_1.dds new file mode 100644 index 0000000000..e29366461c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_2.dds new file mode 100644 index 0000000000..1fda3ec83b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_3.dds new file mode 100644 index 0000000000..355c200d4b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_4.dds new file mode 100644 index 0000000000..c4c0ff4b6a Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_5.dds new file mode 100644 index 0000000000..68885ce2fb Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_decay_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_fire_magic_1.dds new file mode 100644 index 0000000000..6b5e727620 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_fire_magic_2.dds new file mode 100644 index 0000000000..e8e10a7916 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_fire_magic_3.dds new file mode 100644 index 0000000000..7b84f19091 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_fire_magic_4.dds new file mode 100644 index 0000000000..a257ebcf74 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_fire_magic_5.dds new file mode 100644 index 0000000000..9619f14a25 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_1.dds new file mode 100644 index 0000000000..67c7cc3339 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_2.dds new file mode 100644 index 0000000000..f3681d9ef4 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_3.dds new file mode 100644 index 0000000000..4f0572ec71 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_4.dds new file mode 100644 index 0000000000..805d361724 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_5.dds new file mode 100644 index 0000000000..dd2f440058 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_fire_spirit_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_1.dds new file mode 100644 index 0000000000..8815bd9af4 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_2.dds new file mode 100644 index 0000000000..d06b9d889e Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_3.dds new file mode 100644 index 0000000000..3836f11206 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_4.dds new file mode 100644 index 0000000000..66cb2a1885 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_5.dds new file mode 100644 index 0000000000..e9fbe1bc27 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_decay_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_water_magic_1.dds new file mode 100644 index 0000000000..4439b713e3 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_water_magic_2.dds new file mode 100644 index 0000000000..1ae07e9a3d Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_water_magic_3.dds new file mode 100644 index 0000000000..ca0832a619 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_water_magic_4.dds new file mode 100644 index 0000000000..bdca01901a Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_water_magic_5.dds new file mode 100644 index 0000000000..606b865cd7 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_1.dds b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_1.dds new file mode 100644 index 0000000000..2acdf4fb35 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_2.dds b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_2.dds new file mode 100644 index 0000000000..944ec9562c Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_3.dds b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_3.dds new file mode 100644 index 0000000000..94f6f02150 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_4.dds b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_4.dds new file mode 100644 index 0000000000..1fa13aa071 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_5.dds b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_5.dds new file mode 100644 index 0000000000..da645c106f Binary files /dev/null and b/gfx/interface/icons/traits/user_of_elemental_water_spirit_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_life_magic_1.dds b/gfx/interface/icons/traits/user_of_life_magic_1.dds new file mode 100644 index 0000000000..d9c2c0857a Binary files /dev/null and b/gfx/interface/icons/traits/user_of_life_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_life_magic_2.dds b/gfx/interface/icons/traits/user_of_life_magic_2.dds new file mode 100644 index 0000000000..521b3e7d77 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_life_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_life_magic_3.dds b/gfx/interface/icons/traits/user_of_life_magic_3.dds new file mode 100644 index 0000000000..1259938953 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_life_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_life_magic_4.dds b/gfx/interface/icons/traits/user_of_life_magic_4.dds new file mode 100644 index 0000000000..1d7e9ddc6b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_life_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_life_magic_5.dds b/gfx/interface/icons/traits/user_of_life_magic_5.dds new file mode 100644 index 0000000000..3b73ce76c0 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_life_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_light_magic_1.dds b/gfx/interface/icons/traits/user_of_light_magic_1.dds new file mode 100644 index 0000000000..60bb8e58c6 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_light_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_light_magic_2.dds b/gfx/interface/icons/traits/user_of_light_magic_2.dds new file mode 100644 index 0000000000..6b28479bff Binary files /dev/null and b/gfx/interface/icons/traits/user_of_light_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_light_magic_3.dds b/gfx/interface/icons/traits/user_of_light_magic_3.dds new file mode 100644 index 0000000000..d2846042bf Binary files /dev/null and b/gfx/interface/icons/traits/user_of_light_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_light_magic_4.dds b/gfx/interface/icons/traits/user_of_light_magic_4.dds new file mode 100644 index 0000000000..f6c3a7a561 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_light_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_light_magic_5.dds b/gfx/interface/icons/traits/user_of_light_magic_5.dds new file mode 100644 index 0000000000..e642131c7f Binary files /dev/null and b/gfx/interface/icons/traits/user_of_light_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_order_magic_1.dds b/gfx/interface/icons/traits/user_of_order_magic_1.dds new file mode 100644 index 0000000000..6e5b4a25e1 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_order_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_order_magic_2.dds b/gfx/interface/icons/traits/user_of_order_magic_2.dds new file mode 100644 index 0000000000..b3138441f7 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_order_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_order_magic_3.dds b/gfx/interface/icons/traits/user_of_order_magic_3.dds new file mode 100644 index 0000000000..91ac816a28 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_order_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_order_magic_4.dds b/gfx/interface/icons/traits/user_of_order_magic_4.dds new file mode 100644 index 0000000000..166dff922b Binary files /dev/null and b/gfx/interface/icons/traits/user_of_order_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_order_magic_5.dds b/gfx/interface/icons/traits/user_of_order_magic_5.dds new file mode 100644 index 0000000000..d405993343 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_order_magic_5.dds differ diff --git a/gfx/interface/icons/traits/user_of_shadow_magic_1.dds b/gfx/interface/icons/traits/user_of_shadow_magic_1.dds new file mode 100644 index 0000000000..4dfe98a0f6 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_shadow_magic_1.dds differ diff --git a/gfx/interface/icons/traits/user_of_shadow_magic_2.dds b/gfx/interface/icons/traits/user_of_shadow_magic_2.dds new file mode 100644 index 0000000000..26bd72db93 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_shadow_magic_2.dds differ diff --git a/gfx/interface/icons/traits/user_of_shadow_magic_3.dds b/gfx/interface/icons/traits/user_of_shadow_magic_3.dds new file mode 100644 index 0000000000..ac2d08a991 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_shadow_magic_3.dds differ diff --git a/gfx/interface/icons/traits/user_of_shadow_magic_4.dds b/gfx/interface/icons/traits/user_of_shadow_magic_4.dds new file mode 100644 index 0000000000..d9781cc369 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_shadow_magic_4.dds differ diff --git a/gfx/interface/icons/traits/user_of_shadow_magic_5.dds b/gfx/interface/icons/traits/user_of_shadow_magic_5.dds new file mode 100644 index 0000000000..057af4dc28 Binary files /dev/null and b/gfx/interface/icons/traits/user_of_shadow_magic_5.dds differ diff --git a/gfx/interface/icons/traits/void_sickness.dds b/gfx/interface/icons/traits/void_sickness.dds new file mode 100644 index 0000000000..d075577ca4 Binary files /dev/null and b/gfx/interface/icons/traits/void_sickness.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_air.dds b/gfx/interface/icons/wc_elements/elemental_air.dds new file mode 100644 index 0000000000..e599966759 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_air.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_air_decay.dds b/gfx/interface/icons/wc_elements/elemental_air_decay.dds new file mode 100644 index 0000000000..0c119648cf Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_air_decay.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_air_neutral.dds b/gfx/interface/icons/wc_elements/elemental_air_neutral.dds new file mode 100644 index 0000000000..1b568be0d7 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_air_neutral.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_air_spirit.dds b/gfx/interface/icons/wc_elements/elemental_air_spirit.dds new file mode 100644 index 0000000000..2785d6b294 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_air_spirit.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_earth.dds b/gfx/interface/icons/wc_elements/elemental_earth.dds new file mode 100644 index 0000000000..f2a5eeb00c Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_earth.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_earth_decay.dds b/gfx/interface/icons/wc_elements/elemental_earth_decay.dds new file mode 100644 index 0000000000..97f754eb06 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_earth_decay.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_earth_neutral.dds b/gfx/interface/icons/wc_elements/elemental_earth_neutral.dds new file mode 100644 index 0000000000..1819dbbac7 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_earth_neutral.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_earth_spirit.dds b/gfx/interface/icons/wc_elements/elemental_earth_spirit.dds new file mode 100644 index 0000000000..54d256b130 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_earth_spirit.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_fire.dds b/gfx/interface/icons/wc_elements/elemental_fire.dds new file mode 100644 index 0000000000..775f2fa863 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_fire.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_fire_decay.dds b/gfx/interface/icons/wc_elements/elemental_fire_decay.dds new file mode 100644 index 0000000000..76e2814c5a Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_fire_decay.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_fire_neutral.dds b/gfx/interface/icons/wc_elements/elemental_fire_neutral.dds new file mode 100644 index 0000000000..428ddd96d1 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_fire_neutral.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_fire_spirit.dds b/gfx/interface/icons/wc_elements/elemental_fire_spirit.dds new file mode 100644 index 0000000000..de86c5c1f3 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_fire_spirit.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_water.dds b/gfx/interface/icons/wc_elements/elemental_water.dds new file mode 100644 index 0000000000..184e324705 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_water.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_water_decay.dds b/gfx/interface/icons/wc_elements/elemental_water_decay.dds new file mode 100644 index 0000000000..26481ca134 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_water_decay.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_water_neutral.dds b/gfx/interface/icons/wc_elements/elemental_water_neutral.dds new file mode 100644 index 0000000000..3b16996c3a Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_water_neutral.dds differ diff --git a/gfx/interface/icons/wc_elements/elemental_water_spirit.dds b/gfx/interface/icons/wc_elements/elemental_water_spirit.dds new file mode 100644 index 0000000000..7452b99d24 Binary files /dev/null and b/gfx/interface/icons/wc_elements/elemental_water_spirit.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/death_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/death_magic_lifestyle.dds new file mode 100644 index 0000000000..82a04cb18f Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/death_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/disorder_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/disorder_magic_lifestyle.dds new file mode 100644 index 0000000000..d325700e22 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/disorder_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/elemental_air_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/elemental_air_magic_lifestyle.dds new file mode 100644 index 0000000000..527b885720 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/elemental_air_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/elemental_earth_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/elemental_earth_magic_lifestyle.dds new file mode 100644 index 0000000000..9eedce4925 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/elemental_earth_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/elemental_fire_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/elemental_fire_magic_lifestyle.dds new file mode 100644 index 0000000000..6a4e9bc5d1 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/elemental_fire_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/elemental_water_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/elemental_water_magic_lifestyle.dds new file mode 100644 index 0000000000..66b375bee9 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/elemental_water_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/life_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/life_magic_lifestyle.dds new file mode 100644 index 0000000000..0c79695b01 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/life_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/light_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/light_magic_lifestyle.dds new file mode 100644 index 0000000000..77e08bfcc7 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/light_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/order_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/order_magic_lifestyle.dds new file mode 100644 index 0000000000..1f9b1da592 Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/order_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/physical_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/physical_lifestyle.dds new file mode 100644 index 0000000000..0246d8493e Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/physical_lifestyle.dds differ diff --git a/gfx/interface/illustrations/lifestyles_background/shadow_magic_lifestyle.dds b/gfx/interface/illustrations/lifestyles_background/shadow_magic_lifestyle.dds new file mode 100644 index 0000000000..8ba2ec5f8e Binary files /dev/null and b/gfx/interface/illustrations/lifestyles_background/shadow_magic_lifestyle.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/air_elemental.dds b/gfx/interface/illustrations/men_at_arms_big/air_elemental.dds new file mode 100644 index 0000000000..dfc16e8803 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/air_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/earth_elemental.dds b/gfx/interface/illustrations/men_at_arms_big/earth_elemental.dds new file mode 100644 index 0000000000..00b4dc1a1c Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/earth_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/fire_elemental.dds b/gfx/interface/illustrations/men_at_arms_big/fire_elemental.dds new file mode 100644 index 0000000000..ee175befae Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/fire_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/fire_tempest.dds b/gfx/interface/illustrations/men_at_arms_big/fire_tempest.dds new file mode 100644 index 0000000000..34df2ae496 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/fire_tempest.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/fire_terrestrial.dds b/gfx/interface/illustrations/men_at_arms_big/fire_terrestrial.dds new file mode 100644 index 0000000000..fc1a029317 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/fire_terrestrial.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_big/water_elemental.dds b/gfx/interface/illustrations/men_at_arms_big/water_elemental.dds new file mode 100644 index 0000000000..971d818431 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_big/water_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/air_elemental.dds b/gfx/interface/illustrations/men_at_arms_small/air_elemental.dds new file mode 100644 index 0000000000..1414467203 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/air_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/earth_elemental.dds b/gfx/interface/illustrations/men_at_arms_small/earth_elemental.dds new file mode 100644 index 0000000000..2c4a7adfe1 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/earth_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/fire_elemental.dds b/gfx/interface/illustrations/men_at_arms_small/fire_elemental.dds new file mode 100644 index 0000000000..53272acef1 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/fire_elemental.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/fire_tempest.dds b/gfx/interface/illustrations/men_at_arms_small/fire_tempest.dds new file mode 100644 index 0000000000..8c99868b49 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/fire_tempest.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/fire_terrestrial.dds b/gfx/interface/illustrations/men_at_arms_small/fire_terrestrial.dds new file mode 100644 index 0000000000..8834bcaff3 Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/fire_terrestrial.dds differ diff --git a/gfx/interface/illustrations/men_at_arms_small/water_elemental.dds b/gfx/interface/illustrations/men_at_arms_small/water_elemental.dds new file mode 100644 index 0000000000..7ea4da131b Binary files /dev/null and b/gfx/interface/illustrations/men_at_arms_small/water_elemental.dds differ diff --git a/gfx/interface/illustrations/window_headers/magic.dds b/gfx/interface/illustrations/window_headers/magic.dds new file mode 100644 index 0000000000..06b9461f92 Binary files /dev/null and b/gfx/interface/illustrations/window_headers/magic.dds differ diff --git a/gfx/interface/progressbars/progress_air_decay.dds b/gfx/interface/progressbars/progress_air_decay.dds new file mode 100644 index 0000000000..4b6b6712db Binary files /dev/null and b/gfx/interface/progressbars/progress_air_decay.dds differ diff --git a/gfx/interface/progressbars/progress_air_spirit.dds b/gfx/interface/progressbars/progress_air_spirit.dds new file mode 100644 index 0000000000..f6b7d04ad2 Binary files /dev/null and b/gfx/interface/progressbars/progress_air_spirit.dds differ diff --git a/gfx/interface/progressbars/progress_earth_decay.dds b/gfx/interface/progressbars/progress_earth_decay.dds new file mode 100644 index 0000000000..c525ab44ad Binary files /dev/null and b/gfx/interface/progressbars/progress_earth_decay.dds differ diff --git a/gfx/interface/progressbars/progress_earth_spirit.dds b/gfx/interface/progressbars/progress_earth_spirit.dds new file mode 100644 index 0000000000..1fb6ab9614 Binary files /dev/null and b/gfx/interface/progressbars/progress_earth_spirit.dds differ diff --git a/gfx/interface/progressbars/progress_fire_decay.dds b/gfx/interface/progressbars/progress_fire_decay.dds new file mode 100644 index 0000000000..9c4a4b1f03 Binary files /dev/null and b/gfx/interface/progressbars/progress_fire_decay.dds differ diff --git a/gfx/interface/progressbars/progress_water_decay.dds b/gfx/interface/progressbars/progress_water_decay.dds new file mode 100644 index 0000000000..f4aca1a39a Binary files /dev/null and b/gfx/interface/progressbars/progress_water_decay.dds differ diff --git a/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.asset b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.asset new file mode 100644 index 0000000000..40d8a1e2ec --- /dev/null +++ b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.asset @@ -0,0 +1,27 @@ +pdxmesh = { + name = "iceblock_mesh" + file = "iceblock.mesh" + + meshsettings = { + name = "iceblockShape" + index = 0 + texture_diffuse = "iceblock.dds" + texture_normal = "default_yellow_normal.dds" + texture_specular = "male_elven_eyebrows_0_properties.dds" + texture = { file = "black_ssao_color.dds" index = 3 } + shader = "wc_portrait_attachment_ice" + shader_file = "gfx/FX/jomini/portrait.shader" + } +} +entity = { + name = "iceblock_entity" + pdxmesh = "iceblock_mesh" + + game_data = { + portrait_entity_user_data = { + color_mask_remap_interval = { + interval = {0.0 1.0} + } + } + } +} \ No newline at end of file diff --git a/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.dds b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.dds new file mode 100644 index 0000000000..17f854d79f Binary files /dev/null and b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.dds differ diff --git a/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.mesh b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.mesh new file mode 100644 index 0000000000..c0738e2aa1 Binary files /dev/null and b/gfx/models/portraits/attachments/spell_attachments/iceblock/iceblock.mesh differ diff --git a/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.asset b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.asset new file mode 100644 index 0000000000..630a0e0fd5 --- /dev/null +++ b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.asset @@ -0,0 +1,27 @@ +pdxmesh = { + name = "polymorph_mesh" + file = "polymorph.mesh" + + meshsettings = { + name = "polymorphShape" + index = 0 + texture_diffuse = "polymorph.dds" + texture_normal = "default_yellow_normal.dds" + texture_specular = "male_elven_eyebrows_0_properties.dds" + texture = { file = "black_ssao_color.dds" index = 3 } + shader = "portrait_attachment" + shader_file = "gfx/FX/jomini/portrait.shader" + } +} +entity = { + name = "polymorph_entity" + pdxmesh = "polymorph_mesh" + + game_data = { + portrait_entity_user_data = { + color_mask_remap_interval = { + interval = {0.0 1.0} + } + } + } +} \ No newline at end of file diff --git a/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.dds b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.dds new file mode 100644 index 0000000000..f6a457b1e7 Binary files /dev/null and b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.dds differ diff --git a/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.mesh b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.mesh new file mode 100644 index 0000000000..251584e098 Binary files /dev/null and b/gfx/models/portraits/attachments/spell_attachments/polymorph/polymorph.mesh differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_diffuse.dds new file mode 100644 index 0000000000..671d472c26 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_normal.dds new file mode 100644 index 0000000000..58fc8d3874 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_properties.dds new file mode 100644 index 0000000000..eb3ea4c93f Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_1stdegree_properties.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_diffuse.dds new file mode 100644 index 0000000000..ec7d45ffec Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_normal.dds new file mode 100644 index 0000000000..aaff048bf0 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_properties.dds new file mode 100644 index 0000000000..dcee08a675 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_2nddegree_properties.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_diffuse.dds new file mode 100644 index 0000000000..af7ab2aa72 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_normal.dds new file mode 100644 index 0000000000..9db63c4b97 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_properties.dds new file mode 100644 index 0000000000..535f92b1c9 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_burn_3rddegree_properties.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_diffuse.dds new file mode 100644 index 0000000000..6433cd319f Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_normal.dds new file mode 100644 index 0000000000..a7324f9faa Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_properties.dds new file mode 100644 index 0000000000..5f49470f3a Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_1ststage_properties.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_diffuse.dds new file mode 100644 index 0000000000..25b3d489ab Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_normal.dds new file mode 100644 index 0000000000..7dd7a50654 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_properties.dds new file mode 100644 index 0000000000..8c66055cae Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_2ndstage_properties.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_diffuse.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_diffuse.dds new file mode 100644 index 0000000000..3882d93e06 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_diffuse.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_normal.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_normal.dds new file mode 100644 index 0000000000..3d486ff7f7 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_normal.dds differ diff --git a/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_properties.dds b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_properties.dds new file mode 100644 index 0000000000..383573e999 Binary files /dev/null and b/gfx/models/portraits/decals/visual_traits/decal_frostbite_3ststage_properties.dds differ diff --git a/gfx/portraits/accessories/wc_magic.txt b/gfx/portraits/accessories/wc_magic.txt new file mode 100644 index 0000000000..4f2537eb60 --- /dev/null +++ b/gfx/portraits/accessories/wc_magic.txt @@ -0,0 +1,6 @@ +iceblock = { + entity = { required_tags = "" shared_pose_entity = torso entity = "iceblock_entity" } +} +polymorph = { + entity = { required_tags = "" shared_pose_entity = torso entity = "polymorph_entity" } +} \ No newline at end of file diff --git a/gfx/portraits/trait_portrait_modifiers/00_trait_modifiers.txt b/gfx/portraits/trait_portrait_modifiers/00_trait_modifiers.txt index 457c912bcb..86f5519c24 100644 --- a/gfx/portraits/trait_portrait_modifiers/00_trait_modifiers.txt +++ b/gfx/portraits/trait_portrait_modifiers/00_trait_modifiers.txt @@ -854,6 +854,8 @@ wounded = { trigger = { # Warcraft has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = no } base = wounded_1 traits = { @@ -923,6 +925,176 @@ wounded = { } } +# Warcraft +burned = { + burned_1 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + } + traits = { + burned_1 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_burned + value = 1.0 + template = burned_1 + } + } + } + } + burned_distrubing_replace = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = no + } + base = burned_1 + traits = { + burned_2 + burned_3 + } + } + burned_2 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = yes + } + traits = { + burned_2 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_burned + value = 1.0 + template = burned_2 + } + } + } + } + burned_3 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = yes + } + traits = { + burned_3 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_burned + value = 1.0 + template = burned_3 + } + + accessory = { + mode = add + gene = special_headgear_head_bandage + template = head_bandage + value = 0.5 + } + } + } + } +} + +frostbite = { + frostbite_1 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + } + traits = { + frostbite_1 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_frostbite + value = 1.0 + template = frostbite_1 + } + } + } + } + frostbite_distrubing_replace = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = no + } + base = frostbite_1 + traits = { + frostbite_2 + frostbite_3 + } + } + frostbite_2 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = yes + } + traits = { + frostbite_2 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_frostbite + value = 1.0 + template = frostbite_2 + } + } + } + } + frostbite_3 = { + trigger = { + # Warcraft + has_no_portrait_trigger = no + + should_show_disturbing_portrait_modifiers = yes + } + traits = { + frostbite_3 + } + dna_modifiers = { + human = { + morph = { + mode = add + gene = gene_frostbite + value = 1.0 + template = frostbite_3 + } + + accessory = { + mode = add + gene = special_headgear_head_bandage + template = head_bandage + value = 0.5 + } + } + } + } +} +# End Warcraft + maimed = { maimed_left_arm = { trigger = { diff --git a/gfx/portraits/trait_portrait_modifiers/wc_magic_modifiers.txt b/gfx/portraits/trait_portrait_modifiers/wc_magic_modifiers.txt new file mode 100644 index 0000000000..004300e6f3 --- /dev/null +++ b/gfx/portraits/trait_portrait_modifiers/wc_magic_modifiers.txt @@ -0,0 +1,34 @@ +iceblock = { + iceblock = { + traits = { + ice_block + } + dna_modifiers = { + human = { + accessory = { + mode = add + gene = iceblock + template = has_iceblock + value = 1 + } + } + } + } +} +polymorph = { + polymorph = { + traits = { + polymorph + } + dna_modifiers = { + human = { + accessory = { + mode = add + gene = polymorph + template = has_polymorph + value = 1 + } + } + } + } +} \ No newline at end of file diff --git a/gui/hud.gui b/gui/hud.gui index 95cd6b3cbe..c6fdf81a3a 100644 --- a/gui/hud.gui +++ b/gui/hud.gui @@ -1,4 +1,4 @@ -###################################################### +###################################################### #################### META INFO ####################### ###################################################### @@ -425,6 +425,32 @@ widget = { } } + # Warcraft + widget_hud_main_tab = { + name = "tab_magic" + tooltip = "MAGIC_WINDOW_TITLE" + + blockoverride "maintab_button" + { + texture = "gfx/interface/icons/character_interactions/order_arcane_intellect_interaction.dds" + + down = "[GetVariableSystem.HasValue( 'right_window_open', 'widget_magic' )]" + onclick = "[GetVariableSystem.Set( 'right_window_open', Select_CString( GetVariableSystem.HasValue( 'right_window_open', 'widget_magic' ), 'none', 'widget_magic' ) )]" + enabled = "[ScriptedGui.IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[ScriptedGui.Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + tooltip = "[ScriptedGui.BuildTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[CloseGameView('activity_list_window')]" + onclick = "[CloseGameView('decisions')]" + onclick = "[CloseGameView('factions_window')]" + onclick = "[CloseGameView('intrigue_window')]" + onclick = "[CloseGameView('court_window')]" + onclick = "[CloseGameView('council_window')]" + onclick = "[CloseGameView('military')]" + onclick = "[CloseGameView('my_realm')]" + onclick = "[CloseGameView('manage_tax_slots')]" + } + } + widget_hud_main_tab = { datacontext = "[GetPlayer]" datacontext = "[AccessLocalPlayerCachedData]" @@ -993,447 +1019,31 @@ icon = { } } - hbox = { - name = "tutorial_highlight_bottom_right_bar" - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - margin_right = 5 - margin_left = 15 - margin_top = 12 - allow_outside = yes - - ## Date - button_standard_hover = { - name = "play_pause_button_tutorial_uses_this" - - layoutpolicy_horizontal = expanding - layoutpolicy_vertical = expanding - - onclick = "[OnPause]" - - tooltip = "CURRENT_DATE_TOOLTIP" - using = tooltip_nw - tooltip_offset = { 0 10 } - - margin_widget = { - visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" - size = { 100% 100% } - - state = { - name = _show - using = Animation_FadeIn_Quick - } - - state = { - name = _hide - using = Animation_FadeOut_Standard - } - - Animation_HUD_daily_tick = { - visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" - size = { 100% 100% } - - blockoverride "duration" - { - duration = 30 - } - - blockoverride "alpha" - { - alpha = 0.3 - } - } - - Animation_HUD_daily_tick = { - visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" - size = { 100% 100% } - - blockoverride "duration" - { - duration = 15 - } - - blockoverride "alpha" - { - alpha = 0.25 - } - } - - Animation_HUD_daily_tick = { - visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" - size = { 100% 100% } - - blockoverride "duration" - { - duration = 7.5 - } - - blockoverride "alpha" - { - alpha = 0.2 - } - } - - Animation_HUD_daily_tick = { - visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" - size = { 100% 100% } - - blockoverride "duration" - { - duration = 3.75 - } - - blockoverride "alpha" - { - alpha = 0.15 - } - } - - Animation_HUD_daily_tick = { - visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" - size = { 100% 100% } - - blockoverride "duration" - { - duration = 1.9 - } - - blockoverride "alpha" - { - alpha = 0.15 - } - } - } - - hbox = { - margin = { 5 0 } - margin_bottom = 2 - - hbox = { - layoutpolicy_horizontal = expanding - margin_top = 2 - margin_right = 2 - - expand = {} - - text_single = { - name = "date_text_sp" - visible = "[Not(GameHasMultiplePlayers)]" - layoutpolicy_horizontal = expanding - - text = "CURRENT_DATE" - default_format = "#date" - autoresize = no - align = right|nobaseline - using = Font_Size_Medium - } - - text_single = { - name = "date_text_mp" - visible = "[GameHasMultiplePlayers]" - layoutpolicy_horizontal = expanding - - text = "CURRENT_DATE" - default_format = "#medium;glow_color:{0.1,0.1,0.1,1}" - autoresize = no - align = right|nobaseline - using = Font_Size_Medium - } - } - - container = { - name = "pause_play_icons" - - button_pause = { - visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" - alwaystransparent = yes - parentanchor = center - } - - button_play = { - visible = "[Or(IsPausedByEvent, IsManuallyPaused)]" - alwaystransparent = yes - parentanchor = center - } - } - } - } - - button_normal = { - shortcut = "decrease_speed" - shortcut = "decrease_speed_2" - shortcut = "decrease_speed_3" - onclick = "[OnDecreaseGameSpeed]" - } - - button_normal = { - shortcut = "increase_speed" - shortcut = "increase_speed_2" - shortcut = "increase_speed_3" - onclick = "[OnIncreaseGameSpeed]" - } - - hbox = { - layoutpolicy_vertical = expanding - margin = { 0 -4 } - allow_outside = yes - - icon = { - name = "speed_indicator" - layoutpolicy_vertical = expanding - size = { 170 0 } - framesize = { 200 28 } - texture = "gfx/interface/hud/speed_indicator.dds" - frame = "[GetCurrentGameSpeed]" - tooltip = "CURRENT_SPEED_TOOLTIP" - tooltip_offset = { 0 -170 } - alpha = 0.8 - - modify_texture = { - visible = "[IsPausedByEvent]" - texture = "gfx/interface/hud/speed_indicator_auto_pause.dds" - spritetype = corneredtiled - blend_mode = darken - texture_density = 2 - } - - modify_texture = { - visible = "[And(IsManuallyPaused, Not(IsPausedByEvent))]" - texture = "gfx/interface/hud/speed_indicator_pause.dds" - spritetype = corneredtiled - blend_mode = darken - texture_density = 2 - } - - modify_texture = { - visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" - texture = "gfx/interface/hud/speed_indicator_play.dds" - spritetype = corneredtiled - blend_mode = darken - texture_density = 2 - } - - button = { - visible = "[Not( GameHasMultiplePlayers )]" - onclick = "[OnPause]" - shortcut = "pause" - } - - icon = { - parentanchor = right|vcenter - position = { 10 0 } - size = { 15 90%} - texture = "gfx/interface/skinned/overlay_stone.dds" - color = { 0.32 0.32 0.32 1 } - } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/skinned/speed_indicator_frame.dds" - } - - hbox = { - margin_left = 6 - margin_right = 6 - - button = { - name = "speed_1" - shortcut = "speed_1" - layoutpolicy_horizontal = shrinking - layoutpolicy_vertical = expanding - size = { 34 18 } - - alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" - onclick = "[SetGameSpeed('(int32)0')]" - tooltip = "CHANGE_SPEED_TOOLTIP_1" - using = tooltip_ne - - alpha = 0 - - state = { - name = _mouse_enter - alpha = 1 - duration = 0.1 - using = Animation_Curve_Default - } - - state = { - name = _mouse_leave - alpha = 0 - duration = 0.1 - using = Animation_Curve_Default - } - - margin_widget = { - size = { 100% 100% } - margin = { 0 8 } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/hud/speed_indicator_mouseover.dds" - } - } - } - - button = { - name = "speed_2" - shortcut = "speed_2" - layoutpolicy_horizontal = shrinking - layoutpolicy_vertical = expanding - size = { 34 18 } - - alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" - onclick = "[SetGameSpeed('(int32)1')]" - tooltip = "CHANGE_SPEED_TOOLTIP_2" - using = tooltip_ne - - alpha = 0 - - state = { - name = _mouse_enter - alpha = 1 - duration = 0.1 - using = Animation_Curve_Default - } - - state = { - name = _mouse_leave - alpha = 0 - duration = 0.1 - using = Animation_Curve_Default - } - - margin_widget = { - size = { 100% 100% } - margin = { 0 8 } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/hud/speed_indicator_mouseover.dds" - } - } - } - - button = { - name = "speed_3" - shortcut = "speed_3" - layoutpolicy_horizontal = shrinking - layoutpolicy_vertical = expanding - size = { 34 18 } - - alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" - onclick = "[SetGameSpeed('(int32)2')]" - tooltip = "CHANGE_SPEED_TOOLTIP_3" - using = tooltip_ne - - alpha = 0 - - state = { - name = _mouse_enter - alpha = 1 - duration = 0.1 - using = Animation_Curve_Default - } - - state = { - name = _mouse_leave - alpha = 0 - duration = 0.1 - using = Animation_Curve_Default - } - - margin_widget = { - size = { 100% 100% } - margin = { 0 8 } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/hud/speed_indicator_mouseover.dds" - } - } - } - - button = { - name = "speed_4" - shortcut = "speed_4" - layoutpolicy_horizontal = shrinking - layoutpolicy_vertical = expanding - size = { 34 18 } - - alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" - onclick = "[SetGameSpeed('(int32)3')]" - tooltip = "CHANGE_SPEED_TOOLTIP_4" - using = tooltip_ne - - alpha = 0 - - state = { - name = _mouse_enter - alpha = 1 - duration = 0.1 - using = Animation_Curve_Default - } - - state = { - name = _mouse_leave - alpha = 0 - duration = 0.1 - using = Animation_Curve_Default - } - - margin_widget = { - size = { 100% 100% } - margin = { 0 8 } - - icon = { - size = { 100% 100% } - texture = "gfx/interface/hud/speed_indicator_mouseover.dds" - } - } - } - - button = { - name = "speed_5" - shortcut = "speed_5" - layoutpolicy_horizontal = shrinking - layoutpolicy_vertical = expanding - size = { 34 18 } - - alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" - onclick = "[SetGameSpeed('(int32)4')]" - tooltip = "CHANGE_SPEED_TOOLTIP_5" - using = tooltip_ne - - alpha = 0 - - state = { - name = _mouse_enter - alpha = 1 - duration = 0.1 - using = Animation_Curve_Default - } - - state = { - name = _mouse_leave - alpha = 0 - duration = 0.1 - using = Animation_Curve_Default - } - - margin_widget = { - size = { 100% 100% } - margin = { 0 8 } + # Warcraft + hbox = { + visible = "[Not(GetPlayer.IsValid)]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_right = 5 + margin_left = 15 + margin_top = 12 + allow_outside = yes + bottom_right_bar = {} + } - icon = { - size = { 100% 100% } - texture = "gfx/interface/hud/speed_indicator_mouseover.dds" - } - } - } - } - } - } - } + hbox = { + visible = "[GetPlayer.IsValid]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_right = 5 + margin_left = 15 + margin_top = 12 + allow_outside = yes + bottom_right_bar = { + enabled = "[Not(Or(Or(GetPlayer.MakeScope.Var('reflect_interaction').IsSet, GetPlayer.MakeScope.Var('give_disease_interaction').IsSet), GetPlayer.MakeScope.Var('epidemic_interaction').IsSet))]" + } + } + # End Warcraft # Just the hotkeys for increase/decrease speed container = { @@ -3368,6 +2978,122 @@ widget = { } } + + # Warcraft + flowcontainer = { + name = "player_spells" + datamodel = "[GetPlayer.MakeScope.GetList('current_spells_casting')]" + parentanchor = vcenter + spacing = 5 + margin = { 5 0 } + + item = { + button_normal = { + name = "spell_button" + tooltipwidget = { + widget_current_spell_casting_tooltip = { + # datacontext = "[Scope]" + } + } + size = { 60 60 } + + icon = { + texture = "gfx/interface/buttons/button_lifestyles_base.dds" + size = { 100% 100% } + } + + icon = { + name = "progress_frame" + texture = "gfx/interface/progressbars/action_progress_frame.dds" + size = { 100% 100% } + parentanchor = center + alpha = 0.5 + } + + progresspie = { + name = "progress" + size = { 60 60 } + texture = "gfx/interface/progressbars/action_progress_thin.dds" + framesize = { 128 128 } + frame = 2 + widgetanchor = top|hcenter + parentanchor = top|hcenter + value = "[Multiply_float(FixedPointToFloat(GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_progress_percent')).GetValue), '(float)0.01')]" + min = 0 + max = 1 + } + + highlight_icon = { + texture = "gfx/interface/icons/icon_spellbook.dds" + alwaystransparent = yes + size = { 45 45 } + parentanchor = center + } + } + } + } + + # Warcraft + flowcontainer = { + name = "player_spells_cd" + datamodel = "[GetPlayer.MakeScope.GetList('spells_cd')]" + parentanchor = vcenter + spacing = 5 + margin = { 5 0 } + + item = { + button_normal = { + name = "spell_button" + tooltipwidget = { + widget_current_spell_cd_tooltip = { + # datacontext = "[Scope.Self]" + } + } + size = { 60 60 } + + icon = { + texture = "gfx/interface/buttons/button_lifestyles_base.dds" + size = { 100% 100% } + } + + icon = { + name = "progress_frame" + texture = "gfx/interface/progressbars/action_progress_frame.dds" + size = { 100% 100% } + parentanchor = center + alpha = 0.5 + + modify_texture = { + texture = "gfx/interface/colors/red.dds" + alpha = 1 + blend_mode = colordodge + } + } + + progresspie = { + name = "progress" + size = { 60 60 } + texture = "gfx/interface/progressbars/action_progress_thin.dds" + framesize = { 128 128 } + frame = 2 + + widgetanchor = top|hcenter + parentanchor = top|hcenter + value = "[Multiply_float(FixedPointToFloat(GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_cd_percent')).GetValue), '(float)0.01')]" + min = 0 + max = 1 + } + + highlight_icon = { + texture = "gfx/interface/icons/icon_spellbook.dds" + alwaystransparent = yes + size = { 45 45 } + parentanchor = center + } + } + } + } + ### Epidemics in/near your realm ### button_epidemics = { name = "epidemics_hud" @@ -5013,6 +4739,447 @@ types HUD } } + # Warcraft + type bottom_right_bar = hbox + { + name = "tutorial_highlight_bottom_right_bar" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + ## Date + button_standard_hover = { + name = "play_pause_button_tutorial_uses_this" + + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + onclick = "[OnPause]" + + tooltip = "CURRENT_DATE_TOOLTIP" + using = tooltip_nw + tooltip_offset = { 0 10 } + + margin_widget = { + visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" + size = { 100% 100% } + + state = { + name = _show + using = Animation_FadeIn_Quick + } + + state = { + name = _hide + using = Animation_FadeOut_Standard + } + + Animation_HUD_daily_tick = { + visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" + size = { 100% 100% } + + blockoverride "duration" + { + duration = 30 + } + + blockoverride "alpha" + { + alpha = 0.3 + } + } + + Animation_HUD_daily_tick = { + visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" + size = { 100% 100% } + + blockoverride "duration" + { + duration = 15 + } + + blockoverride "alpha" + { + alpha = 0.25 + } + } + + Animation_HUD_daily_tick = { + visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" + size = { 100% 100% } + + blockoverride "duration" + { + duration = 7.5 + } + + blockoverride "alpha" + { + alpha = 0.2 + } + } + + Animation_HUD_daily_tick = { + visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" + size = { 100% 100% } + + blockoverride "duration" + { + duration = 3.75 + } + + blockoverride "alpha" + { + alpha = 0.15 + } + } + + Animation_HUD_daily_tick = { + visible = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" + size = { 100% 100% } + + blockoverride "duration" + { + duration = 1.9 + } + + blockoverride "alpha" + { + alpha = 0.15 + } + } + } + + hbox = { + margin = { 5 0 } + margin_bottom = 2 + + hbox = { + layoutpolicy_horizontal = expanding + margin_top = 2 + margin_right = 2 + + expand = {} + + text_single = { + name = "date_text_sp" + visible = "[Not(GameHasMultiplePlayers)]" + layoutpolicy_horizontal = expanding + + text = "CURRENT_DATE" + default_format = "#date" + autoresize = no + align = right|nobaseline + using = Font_Size_Medium + } + + text_single = { + name = "date_text_mp" + visible = "[GameHasMultiplePlayers]" + layoutpolicy_horizontal = expanding + + text = "CURRENT_DATE" + default_format = "#medium;glow_color:{0.1,0.1,0.1,1}" + autoresize = no + align = right|nobaseline + using = Font_Size_Medium + } + } + + container = { + name = "pause_play_icons" + + button_pause = { + visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" + alwaystransparent = yes + parentanchor = center + } + + button_play = { + visible = "[Or(IsPausedByEvent, IsManuallyPaused)]" + alwaystransparent = yes + parentanchor = center + } + } + } + } + + button_normal = { + shortcut = "decrease_speed" + shortcut = "decrease_speed_2" + shortcut = "decrease_speed_3" + onclick = "[OnDecreaseGameSpeed]" + } + + button_normal = { + shortcut = "increase_speed" + shortcut = "increase_speed_2" + shortcut = "increase_speed_3" + onclick = "[OnIncreaseGameSpeed]" + } + + hbox = { + layoutpolicy_vertical = expanding + margin = { 0 -4 } + allow_outside = yes + + icon = { + name = "speed_indicator" + layoutpolicy_vertical = expanding + size = { 170 0 } + framesize = { 200 28 } + texture = "gfx/interface/hud/speed_indicator.dds" + frame = "[GetCurrentGameSpeed]" + tooltip = "CURRENT_SPEED_TOOLTIP" + tooltip_offset = { 0 -170 } + alpha = 0.8 + + modify_texture = { + visible = "[IsPausedByEvent]" + texture = "gfx/interface/hud/speed_indicator_auto_pause.dds" + spritetype = corneredtiled + blend_mode = darken + texture_density = 2 + } + + modify_texture = { + visible = "[And(IsManuallyPaused, Not(IsPausedByEvent))]" + texture = "gfx/interface/hud/speed_indicator_pause.dds" + spritetype = corneredtiled + blend_mode = darken + texture_density = 2 + } + + modify_texture = { + visible = "[Not(Or(IsPausedByEvent, IsManuallyPaused))]" + texture = "gfx/interface/hud/speed_indicator_play.dds" + spritetype = corneredtiled + blend_mode = darken + texture_density = 2 + } + + button = { + visible = "[Not( GameHasMultiplePlayers )]" + onclick = "[OnPause]" + shortcut = "pause" + } + + icon = { + parentanchor = right|vcenter + position = { 10 0 } + size = { 15 90%} + texture = "gfx/interface/skinned/overlay_stone.dds" + color = { 0.32 0.32 0.32 1 } + } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/skinned/speed_indicator_frame.dds" + } + + hbox = { + margin_left = 6 + margin_right = 6 + + button = { + name = "speed_1" + shortcut = "speed_1" + layoutpolicy_horizontal = shrinking + layoutpolicy_vertical = expanding + size = { 34 18 } + + alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)1')]" + onclick = "[SetGameSpeed('(int32)0')]" + tooltip = "CHANGE_SPEED_TOOLTIP_1" + using = tooltip_ne + + alpha = 0 + + state = { + name = _mouse_enter + alpha = 1 + duration = 0.1 + using = Animation_Curve_Default + } + + state = { + name = _mouse_leave + alpha = 0 + duration = 0.1 + using = Animation_Curve_Default + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 8 } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/hud/speed_indicator_mouseover.dds" + } + } + } + + button = { + name = "speed_2" + shortcut = "speed_2" + layoutpolicy_horizontal = shrinking + layoutpolicy_vertical = expanding + size = { 34 18 } + + alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)2')]" + onclick = "[SetGameSpeed('(int32)1')]" + tooltip = "CHANGE_SPEED_TOOLTIP_2" + using = tooltip_ne + + alpha = 0 + + state = { + name = _mouse_enter + alpha = 1 + duration = 0.1 + using = Animation_Curve_Default + } + + state = { + name = _mouse_leave + alpha = 0 + duration = 0.1 + using = Animation_Curve_Default + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 8 } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/hud/speed_indicator_mouseover.dds" + } + } + } + + button = { + name = "speed_3" + shortcut = "speed_3" + layoutpolicy_horizontal = shrinking + layoutpolicy_vertical = expanding + size = { 34 18 } + + alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)3')]" + onclick = "[SetGameSpeed('(int32)2')]" + tooltip = "CHANGE_SPEED_TOOLTIP_3" + using = tooltip_ne + + alpha = 0 + + state = { + name = _mouse_enter + alpha = 1 + duration = 0.1 + using = Animation_Curve_Default + } + + state = { + name = _mouse_leave + alpha = 0 + duration = 0.1 + using = Animation_Curve_Default + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 8 } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/hud/speed_indicator_mouseover.dds" + } + } + } + + button = { + name = "speed_4" + shortcut = "speed_4" + layoutpolicy_horizontal = shrinking + layoutpolicy_vertical = expanding + size = { 34 18 } + + alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)4')]" + onclick = "[SetGameSpeed('(int32)3')]" + tooltip = "CHANGE_SPEED_TOOLTIP_4" + using = tooltip_ne + + alpha = 0 + + state = { + name = _mouse_enter + alpha = 1 + duration = 0.1 + using = Animation_Curve_Default + } + + state = { + name = _mouse_leave + alpha = 0 + duration = 0.1 + using = Animation_Curve_Default + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 8 } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/hud/speed_indicator_mouseover.dds" + } + } + } + + button = { + name = "speed_5" + shortcut = "speed_5" + layoutpolicy_horizontal = shrinking + layoutpolicy_vertical = expanding + size = { 34 18 } + + alwaystransparent = "[EqualTo_int32(GetCurrentGameSpeed, '(int32)5')]" + onclick = "[SetGameSpeed('(int32)4')]" + tooltip = "CHANGE_SPEED_TOOLTIP_5" + using = tooltip_ne + + alpha = 0 + + state = { + name = _mouse_enter + alpha = 1 + duration = 0.1 + using = Animation_Curve_Default + } + + state = { + name = _mouse_leave + alpha = 0 + duration = 0.1 + using = Animation_Curve_Default + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 8 } + + icon = { + size = { 100% 100% } + texture = "gfx/interface/hud/speed_indicator_mouseover.dds" + } + } + } + } + } + } + } + # End Warcraft + type button_pause_hud = button_round { size = { 33 33 } @@ -5123,6 +5290,9 @@ types HUD { layer = top + # Warcraft +100 0 + #size = { 740 38 } + using = Animation_ShowHide_Quick ## Resources @@ -5140,10 +5310,183 @@ types HUD layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding + # Warcraft + widget = { + name = "wc_mana" + size = { 144 70 } + datacontext = "[GetScriptedGui('wc_show_mana_gui')]" + datacontext = "[GetPlayer.MakeScope]" + visible = "[And( Not(IsObserver), And(GetPlayer.IsValid, ScriptedGui.IsShown( GuiScope.SetRoot( GetPlayer.MakeScope ).End)))]" + + tooltipwidget = { + widget_mana_breakdown_tooltip = { + datacontext = "[GetPlayer.MakeScope]" + } + } + + background = { + texture = "gfx/interface/skinned/resource_panel_start.dds" + } + + vbox = { + margin_top = -2 + hbox = { + layoutpolicy_horizontal = expanding + expand = {} + + hbox = { + spacing = 7 + + wc_progressbar_current_mana = { + value = "[FixedPointToProgressbarValue(Scope.ScriptValue('wc_current_mana_percent_value'))]" + } + + flowcontainer = { + margin_bottom = 7 + spacing = -6 + direction = vertical + ignoreinvisible = yes + + text_single = { + layoutpolicy_horizontal = expanding + text = "HUD_TOP_RIGHT_RESOURCES_MANA_LINE_1" + using = Font_Size_Medium + max_width = 50 + } + + text_single = { + layoutpolicy_horizontal = expanding + text = "HUD_TOP_RIGHT_RESOURCES_MANA_LINE_2" + default_format = "#low" + max_width = 50 + } + } + } + spacer = { + size = { 10 1} + } + divider_light = { + layoutpolicy_vertical = expanding + alpha = 0.8 + } + } + expand = {} + } + } + + # Warcraft widget = { name = "gold" + size = { 100 70 } + + datacontext = "[GetScriptedGui('wc_show_mana_gui')]" + datacontext = "[GetPlayer.MakeScope]" + visible = "[ScriptedGui.IsShown( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + + + widget = { + size = { 100 45 } + + tooltipwidget = { + widget_gold_breakdown_tooltip = { + blockoverride "income" + { + datacontext = "[InGameTopbar.GetIncomeBalanceBreakdown]" + } + + blockoverride "expenses" + { + datacontext = "[InGameTopbar.GetExpensesBalanceBreakdown]" + } + } + } + using = tooltip_ne + } + + + background = { + texture = "gfx/interface/skinned/resource_panel_piece.dds" + } + + vbox = { + margin_top = -2 + + hbox = { + layoutpolicy_horizontal = expanding + expand = {} + + hbox = { + spacing = 7 + + icon = { + name = "gold_icon" + size = { 30 30 } + texture = "gfx/interface/icons/icon_gold.dds" + } + + flowcontainer = { + margin_bottom = 7 + spacing = -6 + direction = vertical + ignoreinvisible = yes + + text_single = { + name = "gold_value_positive" + visible = "[GreaterThanOrEqualTo_CFixedPoint(GetPlayer.GetGold, '(CFixedPoint)0')]" + text = "[GetPlayer.GetGold|0]" + max_width = 50 + default_format = "#high" + using = Font_Size_Medium + } + + text_single = { + name = "gold_value_negative" + visible = "[LessThan_CFixedPoint(GetPlayer.GetGold, '(CFixedPoint)0')]" + text = "[GetPlayer.GetGold|0]" + max_width = 50 + default_format = "#N" + using = Font_Size_Medium + } + + container = { + text_single = { + name = "balance_positive" + visible = "[GreaterThanOrEqualTo_CFixedPoint(GetPlayerBalance, '(CFixedPoint)0')]" + text = "CURRENT_BALANCE" + max_width = 50 + default_format = "#low" + } + + text_single = { + name = "balance_negative" + visible = "[LessThan_CFixedPoint(GetPlayerBalance, '(CFixedPoint)0')]" + text = "CURRENT_BALANCE" + max_width = 50 + default_format = "#N" + } + } + } + } + spacer = { + size = { 20 1} + } + divider_light = { + layoutpolicy_vertical = expanding + alpha = 0.8 + } + } + expand = {} + } + } + + widget = { + name = "gold_no_mana" size = { 144 70 } + datacontext = "[GetScriptedGui('wc_show_mana_gui')]" + datacontext = "[GetPlayer.MakeScope]" + visible = "[Not(ScriptedGui.IsShown( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + widget = { size = { 144 45 } @@ -5163,6 +5506,7 @@ types HUD using = tooltip_ne } + background = { texture = "gfx/interface/skinned/resource_panel_start.dds" } @@ -5238,6 +5582,8 @@ types HUD } } + # End Warcraft + widget = { name = "prestige" datacontext = "[InGameTopbar.GetPrestigeItem]" diff --git a/gui/interaction_confirmation.gui b/gui/interaction_confirmation.gui new file mode 100644 index 0000000000..6793067850 --- /dev/null +++ b/gui/interaction_confirmation.gui @@ -0,0 +1,517 @@ +###################################################### +############# INTERACTION CONFIRMATION ############### +###################################################### + +window = { + name = "character_interaction_confirmation_window" + position = { 0 20 } + parentanchor = center + allow_outside = yes + layer = middle + + using = Window_Size_MainTab + using = Window_Background + using = Window_Decoration_Spike + + state = { + name = _show + on_start = "[GetVariableSystem.Clear( 'character_interaction_change_title' )]" + on_start = "[GetVariableSystem.Clear( 'character_interaction_change_artifact' )]" + on_start = "[GetVariableSystem.Clear( 'character_interaction_change_maa' )]" + using = Animation_FadeIn_Quick + using = Sound_WindowShow_Standard + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + } + + # Warcraft + widget = { + visible = yes + + state = { + name = reflect + trigger_when = "[GetScriptedGui( 'should_close_reflect_interaction' ).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'desc', MakeScopeFlag(CharacterInteractionConfirmationWindow.GetInteractionDescription)).End )]" + on_start = "[GetScriptedGui( 'close_scheme_reflect_interaction' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" # Warcraft + } + + state = { + name = disease + trigger_when = "[GetScriptedGui( 'should_close_give_disease_interaction' ).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'desc', MakeScopeFlag(CharacterInteractionConfirmationWindow.GetInteractionDescription)).End )]" + on_start = "[GetScriptedGui( 'close_give_disease_interaction' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" # Warcraft + } + } + # End Warcraft + + vbox = { + set_parent_size_to_minimum = yes + using = Window_Margins + + # Warcraft + state = { # Forcibly keep the game paused. + name = _show + trigger_when = "[And(Not(IsGamePaused), Or(Or(GetPlayer.MakeScope.Var('reflect_interaction').IsSet, GetPlayer.MakeScope.Var('give_disease_interaction').IsSet), GetPlayer.MakeScope.Var('epidemic_interaction').IsSet))]" + on_start = "[OnPause]" + } + + container = { + visible = "[Or(Or(GetPlayer.MakeScope.Var('reflect_interaction').IsSet, GetPlayer.MakeScope.Var('give_disease_interaction').IsSet), GetPlayer.MakeScope.Var('epidemic_interaction').IsSet)]" + button = { + shortcut = "pause" + } + } + # End Warcraft + + hbox = { + name = "interaction_window_heading" + visible = "[Not( CharacterInteractionConfirmationWindow.ShouldShowScheme )]" + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + margin_bottom = -4 + + header_pattern_interaction = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + minimumsize = { 100% -1 } + + blockoverride "header_text" { + text = "[CharacterInteractionConfirmationWindow.GetSendName]" + } + + blockoverride "button_close" + { + onclick = "[CharacterInteractionConfirmationWindow.Close]" + # Warcraft + onclick = "[GetScriptedGui( 'close_scheme_reflect_interaction' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" # Warcraft + onclick = "[GetScriptedGui( 'close_give_disease_interaction' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" # Warcraft + # End Warcraft + } + + icon_character_interaction = { + size = { 50 50 } + position = { 0 0 } + # Warcraft + visible = "[And(GetScriptedGui( 'should_close_reflect_interaction' ).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'desc', MakeScopeFlag(CharacterInteractionConfirmationWindow.GetInteractionDescription)).End ), GetScriptedGui( 'should_close_give_disease_interaction' ).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'desc', MakeScopeFlag(CharacterInteractionConfirmationWindow.GetInteractionDescription)).End ))]" + # End Warcraft + tooltip = "[CharacterInteractionConfirmationWindow.GetInteractionTooltip]" + } + } + } + + # Scheme header + scheme_header_widget = { + visible = "[CharacterInteractionConfirmationWindow.ShouldShowScheme]" + + blockoverride "header_text" { + text = "[CharacterInteractionConfirmationWindow.GetSendName]" + } + + blockoverride "button_close" + { + onclick = "[CharacterInteractionConfirmationWindow.Close]" + } + } + + vbox_character_interaction_three_characters = { + visible = "[And(Not(GetVariableSystem.Exists('character_interaction_change_title')), CharacterInteractionConfirmationWindow.ShowThreeCharacters)]" + layoutpolicy_horizontal = expanding + } + + # Artifact Picker + vbox = { + name = "interaction_window_artifact_picker" + visible = "[CharacterInteractionConfirmationWindow.UsesArtifactTarget]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 14 10 } + + hbox = { + visible = "[CharacterInteractionConfirmationWindow.HasSelectedArtifact]" + datacontext = "[CharacterInteractionConfirmationWindow.GetSelectedArtifact]" + layoutpolicy_vertical = expanding + spacing = 5 + + widget = { + size = { 80 80 } + alwaystransparent = yes + + icon_artifact = { + size = { 100% 100% } + } + + tooltipwidget = { + artifact_tooltip = {} + } + } + + text_single = { + text = "[Artifact.GetName]" + using = Font_Size_Medium + align = nobaseline + + tooltipwidget = { + artifact_tooltip = {} + } + } + + button_round = { + name = "change" + datacontext = "[GetVariableSystem]" + onclick = "[VariableSystem.Toggle( 'character_interaction_change_artifact' )]" + + tooltip = "CHARACTER_INTERACTION_WINDOW_SELECT_ARTIFACT_TOOLTIP" + using = tooltip_below + + button_replace = { + parentanchor = center + alwaystransparent = yes + } + } + } + + hbox = { + visible = "[Not( CharacterInteractionConfirmationWindow.HasSelectedArtifact )]" + minimumsize = { 0 112 } + margin = { 10 10 } + + text_single = { + text = "CHARACTER_INTERACTION_NO_TARGET_SELECTED" + using = Font_Size_Medium + align = nobaseline + } + } + + #### replaces character effects ### + scrollbox = { + visible = "[GetVariableSystem.Exists( 'character_interaction_change_artifact' )]" + layoutpolicy_horizontal = expanding + size = { 400 400 } + + blockoverride "scrollbox_content" + { + vbox_list_interaction_artifact_selection = { + maximumsize = { 250 400 } + layoutpolicy_horizontal = expanding + + blockoverride "button_toggles" {} + } + } + } + } + + # MaA Picker + vbox = { + visible = "[CharacterInteractionConfirmationWindow.UsesMaaTarget]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + hbox = { + visible = "[Not( CharacterInteractionConfirmationWindow.HasSelectedMaa )]" + minimumsize = { 0 112 } + margin = { 10 10 } + + text_single = { + text = "CHARACTER_INTERACTION_NO_TARGET_SELECTED" + using = Font_Size_Medium + align = nobaseline + } + } + + text_single = { + text = "[CharacterInteractionConfirmationWindow.GetSelectedMaa.GetName]" + visible = "[CharacterInteractionConfirmationWindow.HasSelectedMaa]" + } + + button_round = { + name = "change" + datacontext = "[GetVariableSystem]" + onclick = "[VariableSystem.Toggle( 'character_interaction_change_maa' )]" + + tooltip = "CHARACTER_INTERACTION_WINDOW_SELECT_ARTIFACT_TOOLTIP" + using = tooltip_below + + button_replace = { + parentanchor = center + alwaystransparent = yes + } + } + + #### replaces character effects ### + scrollbox = { + visible = "[GetVariableSystem.Exists( 'character_interaction_change_maa' )]" + layoutpolicy_horizontal = expanding + size = { 400 400 } + + blockoverride "scrollbox_content" + { + vbox_list_interaction_maa_selection = { + maximumsize = { 250 400 } + layoutpolicy_horizontal = expanding + + blockoverride "button_toggles" {} + } + } + } + } + + ### EDUCATE CHILD ### + vbox = { + layoutpolicy_horizontal = expanding + + widget_character_interaction_four_characters = { + visible = "[CharacterInteractionConfirmationWindow.ShowFourCharacters]" + layoutpolicy_horizontal = expanding + } + + vbox_interaction_character_list = { + visible = "[And( And( And( Not( GetVariableSystem.Exists( 'character_interaction_change_title' ) ), Not(GetVariableSystem.Exists( 'character_interaction_change_artifact' ) ) ), Not( GetVariableSystem.Exists( 'character_interaction_change_maa' ) ) ), Not( CharacterInteractionConfirmationWindow.HasPickedCharacters ) )]" + datacontext = "[CharacterInteractionConfirmationWindow.GetCharacterList]" + layoutpolicy_horizontal = expanding + minimumsize = { 640 380 } + + blockoverride "item_size" + { + size = { 600 110 } + layoutpolicy_horizontal = expanding + + } + } + } + + ## Scheme Information + vbox_scheme_info = { + visible = "[And( CharacterInteractionConfirmationWindow.ShouldShowScheme, Not( CharacterInteractionConfirmationWindow.IsActorRecipientSame ) )]" + datacontext = "[CharacterInteractionConfirmationWindow.GetSchemeInfo]" + layoutpolicy_horizontal = expanding + } + + ## Effects on Characters + vbox_character_interaction_effects = { + visible = "[And( And( And( And( Not( GetVariableSystem.Exists( 'character_interaction_change_title' ) ), Not(GetVariableSystem.Exists( 'character_interaction_change_artifact' ) ) ), Not( GetVariableSystem.Exists( 'character_interaction_change_maa' ) ) ), CharacterInteractionConfirmationWindow.HasPickedCharacters ), InteractionEffectsDescription.GetDisplayedEffects.HasAnyEffects )]" + datacontext = "[CharacterInteractionConfirmationWindow.GetEffectsDescription]" + layoutpolicy_horizontal = expanding + } + + expand = {} + + # Title Picker + vbox = { + name = "interaction_window_title_picker" + visible = "[CharacterInteractionConfirmationWindow.UsesTitleTarget]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_top = 5 + spacing = 10 + + hbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 10 + + expand = {} + + hbox = { + visible = "[CharacterInteractionConfirmationWindow.GetSelectedTitle.IsValid]" + spacing = 5 + + background = { + margin_right = 30 + margin_top = -15 + margin_bottom = -10 + + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + } + } + + widget = { + size = { 50 60 } + + coa_title_small_crown = { + name = "selected_title_flag" + datacontext = "[CharacterInteractionConfirmationWindow.GetSelectedTitle]" + parentanchor = center + scale = 0.8 + } + } + + text_single = { + datacontext = "[CharacterInteractionConfirmationWindow.GetSelectedTitle]" + text = "[Title.GetNameNoTooltip|U]" + using = Font_Size_Medium + } + } + + button_round = { + name = "change" + datacontext = "[GetVariableSystem]" + onclick = "[VariableSystem.Toggle( 'character_interaction_change_title' )]" + + tooltip = "CHARACTER_INTERACTION_WINDOW_SELECT_TITLE_TOOLTIP" + using = tooltip_below + + button_replace = { + parentanchor = center + alwaystransparent = yes + } + } + + expand = {} + } + + hbox = { + visible = "[Not( CharacterInteractionConfirmationWindow.HasSelectedTitle )]" + minimumsize = { 0 112 } + margin = { 10 10 } + + text_single = { + text = "CHARACTER_INTERACTION_NO_TARGET_SELECTED" + using = Font_Size_Medium + align = nobaseline + } + } + + #### replaces character effects ### + scrollbox = { + visible = "[GetVariableSystem.Exists('character_interaction_change_title')]" + layoutpolicy_horizontal = expanding + size = { 500 250 } + + blockoverride "scrollbox_content" + { + vbox_list_interaction_title_selection = { + maximumsize = { 450 250 } + layoutpolicy_horizontal = expanding + + blockoverride "button_toggles" {} + } + } + } + } + + ## Options + vbox_interaction_options = { + widgetid = "interaction_options" + visible = "[CharacterInteractionConfirmationWindow.HasOptions]" + } + + ### Acceptance + hbox_character_interaction_acceptance = { + visible = "[CharacterInteractionConfirmationWindow.ShouldShowAnswer]" + layoutpolicy_horizontal = expanding + margin_top = 15 + } + + text_multi_on_decline_summary = {} + + vbox = { + spacing = 5 + margin = { 20 15 } + + hbox = { + visible = "[CharacterInteractionConfirmationWindow.HasCost]" + spacing = 5 + + tooltip = "[CharacterInteractionConfirmationWindow.GetCostTooltip]" + + text_single = { + text = "INTERACTION_COST" + } + + text_single = { + text = "[CharacterInteractionConfirmationWindow.GetCostDescription]" + } + } + + ## Send Button + hbox = { + name = "button" + spacing = 10 + + button_primary_big = { + visible = "[Not( CharacterInteractionConfirmationWindow.ShouldShowScheme )]" + text = "[CharacterInteractionConfirmationWindow.GetSendName]" + + onclick = "[CharacterInteractionConfirmationWindow.Send]" + enabled = "[CharacterInteractionConfirmationWindow.CanSend]" + tooltip = "[CharacterInteractionConfirmationWindow.GetCanSendDescription]" + clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_confirm" + } + + ## Send button Schemes + button_primary_big = { + visible = "[CharacterInteractionConfirmationWindow.ShouldShowScheme]" + datacontext = "[CharacterInteractionConfirmationWindow.GetSchemeInfo]" + + text = "[CharacterInteractionConfirmationWindow.GetSendName]" + + onclick = "[CharacterInteractionConfirmationWindow.Send]" + enabled = "[CharacterInteractionConfirmationWindow.CanSend]" + + tooltip = "[CharacterInteractionConfirmationWindow.GetCanSendDescription]" + + clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_confirm" + + widget = { + visible = "[InteractionSchemeInfo.IsReplace]" + parentanchor = center + size = { 100% 100% } + + tooltip = "INTERACTION_REPLACE_SCHEME" + + warning_icon = { + parentanchor = left|vcenter + position = { 5 0 } + size = { 30 30 } + } + } + } + + button_standard = { + visible = "[InDebugMode]" + size = { 42 42 } + raw_text = "#D R#!" + tooltip = "[CharacterInteractionConfirmationWindow.GetDebugInfo]" + } + } + } + } + + window_character_filter = { + datacontext = "[CharacterInteractionConfirmationWindow.GetCharacterList]" + blockoverride "addition_filter" { + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('ruler_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('religion_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('culture_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('dynasty_filter')]" + } + } + } +} diff --git a/gui/interaction_templates.gui b/gui/interaction_templates.gui new file mode 100644 index 0000000000..e8b9ab344f --- /dev/null +++ b/gui/interaction_templates.gui @@ -0,0 +1,2876 @@ +types CharacterInteraction +{ + type icon_character_interaction = icon { + name = "interaction_icon" + position = { 0 -5 } + size = { 60 60 } + texture = "[CharacterInteractionConfirmationWindow.GetInteraction.GetIcon( CharacterInteractionConfirmationWindow.GetRecipient )]" +} + + type vbox_sender_portrait_message = vbox { + margin = { 15 20 } + using = Background_Letter + datacontext = "[CharacterInteractionNotificationWindow.GetSender]" + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 15 + + block "portrait_shoulders" { + portrait_head = { + name = "sender_portrait" + } + } + + ### TEXT ### + vbox = { + layoutpolicy_horizontal = expanding + + text_multi = { + name = "description" + max_width = 480 + autoresize = yes + text = "[CharacterInteractionNotificationWindow.GetNotificationText]" + default_format = "#light_background" + using = Font_Size_Medium + format_override = { high light_background } + } + + hbox = { + name = "signature" + layoutpolicy_horizontal = expanding + margin = { 20 0 } + + expand = {} + + vbox = { + margin = { 20 0 } + + text_single = { + name = "signed_text" + layoutpolicy_horizontal = expanding + text = "[CharacterInteractionNotificationWindow.GetSigned]" + using = Font_Type_Flavor + align = right + default_format = "#light_background" + } + + text_single = { + name = "signature" + layoutpolicy_horizontal = expanding + text = "[CharacterInteractionNotificationWindow.GetSignature]" + align = right + default_format = "#light_background" + using = Font_Type_Flavor + } + } + + coa_character_sigil = {} + } + } + + } +} + + type vbox_arrangement_interaction_send_offer = vbox { + name = "send_offer_window" + + vbox_interaction_options = { + blockoverride "margin" + { + margin_top = 4 + } + layoutpolicy_horizontal = expanding + } + + hbox_character_interaction_acceptance = { + layoutpolicy_horizontal = expanding + } + + text_multi_on_decline_summary = {} + + button_primary = { + size = { 400 42 } + block "button_content" {} + onclick = "[MatchmakerInteractionWindow.Send]" + enabled = "[CharacterInteractionConfirmationWindow.CanSend]" + tooltip = "[CharacterInteractionConfirmationWindow.GetCanSendDescription]" + clicksound = "event:/SFX/UI/Generic/sfx_ui_generic_confirm" + } +} + + type vbox_marriage_interaction_marriage_details = vbox { + margin = { 8 8 } + + background = { + using = Background_Area + } + + hbox = { + name = "children_info" + layoutpolicy_horizontal = expanding + + margin = {4 4} + # Dynasty + hbox = { + layoutpolicy_horizontal = expanding + + spacing = 8 + + icon = { + name = "marriage_type" + block "icon_frame" + { + visible = "[MatchmakerInteractionWindow.HasPickedCharacters]" + } + + texture = "gfx/interface/icons/marriage_types.dds" + framesize = { 60 60 } + size = { 60 60 } + frame = "[MarriageInfo.GetMarriageIconFrame]" + } + + vbox = { + spacing = 2 + + text_multi = { + name = "children_house_info" + visible = "[And( StringIsEmpty( MarriageInfo.GetMatrilinealDesc ), Not( MatchOffer.IsSameSex ) )]" + max_width = 240 + min_width = 240 + autoresize = yes + text = "MARRIAGE_CHILDREN_HOUSE_INFO" + } + + text_multi = { + name = "matrilineal_desc" + visible = "[Not( MatchOffer.IsSameSex )]" + max_width = 240 + min_width = 240 + autoresize = yes + text = "[MarriageInfo.GetMatrilinealDesc]" + } + + text_multi = { + name = "children_chance_info" + max_width = 240 + min_width = 240 + autoresize = yes + text = "MARRIAGE_CHILDREN_CHANCE_INFO" + tooltip = "[MatchOffer.GetChanceOfChildrenTooltip]" + } + + text_multi = { + name = "inbreeding_risk" + visible = "[MatchOffer.HasInbreedingRisk]" + max_width = 240 + min_width = 240 + autoresize = yes + text = "MATCH_OFFER_INBREEDING_WARNING" + } + + } + + expand = {} + } + + divider_light = { + layoutpolicy_vertical = expanding + } + + + ### Traits + vbox = { + layoutpolicy_horizontal = expanding + margin = { 4 4 } + margin_left = 8 + spacing = 4 + visible = "[Not( MatchOffer.IsSameSex )]" + + hbox = { + layoutpolicy_horizontal = expanding + + text_label_left = { + name = "traits_header" + visible = "[MatchOffer.HasInheritableTraits]" + text = "INHERITABLE_TRAITS" + } + + expand = {} + } + + text_single = { + name = "no_traits" + visible = "[Not(MatchOffer.HasInheritableTraits)]" + text = "NO_INHERITABLE_TRAITS" + align = nobaseline + default_format = "#low;italic" + margin = { 4 16 } + } + + overlappingitembox = { + size = { 240 55} + + name = "traits" + datamodel = "[MatchOffer.GetInheritableTraitItems]" + visible = "[Not(IsDataModelEmpty(MatchOffer.GetInheritableTraitItems))]" + + item = { + container = { + datacontext = "[MatchmakerTraitInfo.GetTrait]" + datacontext = "[MatchmakerTraitInfo.GetCharacter]" + + icon_trait = { + blockoverride "actual_description_text" + { + text = "TRAIT_ENTRY_INHERITANCE_INFO" + } + + highlight_icon = { + name = "guaranteed" + visible = "[And( MatchmakerTraitInfo.IsGuaranteed, Not(MatchmakerTraitInfo.CanUpgrade) )]" + position = { 27 28 } + texture = "gfx/interface/icons/symbols/icon_check.dds" + size = { 25 25 } + } + + highlight_icon = { + name = "upgrade" + visible = "[MatchmakerTraitInfo.CanUpgrade]" + texture = "gfx/interface/icons/symbols/icon_arrow_green_down.dds" + mirror = vertical + position = { 29 24 } + size = { 25 25 } + } + } + } + } + } + } + } + + + divider_light = { + layoutpolicy_horizontal = expanding + } + + + vbox = { + visible = "[MarriageInfo.HasAlliances]" + layoutpolicy_horizontal = expanding + margin = { 4 4 } + + text_label_center = { + name = alliances_label + text = "[alliances|E]" + } + + vbox = { + name = "alliance_grid" + datamodel = "[MarriageInfo.GetAllianceItems]" + layoutpolicy_horizontal = expanding + + item = { + hbox = { + layoutpolicy_horizontal = expanding + portrait_head_small = { + datacontext = "[AllianceInfo.GetCharacter]" + name = "ally_portrait" + blockoverride "opinion_box" {} + blockoverride "status_icons" {} + } + + strength_balance = { + datacontext = "[AllianceInfo.GetMilitaryInfo]" + blockoverride "StrengthBalanceAllies" {} + } + + expand = {} + } + } + } + } + + text_single = { + visible = "[Not(MarriageInfo.HasAlliances)]" + + text = "MATCH_OFFER_NO_ALLIANCES" + default_format = "#weak" + align = nobaseline + margin = {8 8} + } + + block "marriage_details_after" + { + + } + + + + expand = {} +} + + type vbox_concubine_interaction_details = vbox { + margin = { 15 15 } + + background = { + using = Background_Area + } + + text_multi = { + name = "children_house_info" + layoutpolicy_horizontal = expanding + max_width = 510 + autoresize = yes + text = "[MatchOffer.GetChanceOfChildrenDesc]" + tooltip = "[MatchOffer.GetChanceOfChildrenTooltip]" + } + + text_multi = { + name = "children_chance_info" + visible = "[Not( MatchOffer.IsSameSex )]" + layoutpolicy_horizontal = expanding + max_width = 510 + autoresize = yes + text = "CONCUBINE_CHILDREN_HOUSE" + } + + ### Traits + vbox = { + margin = { 5 10 } + spacing = 5 + visible = "[Not( MatchOffer.IsSameSex )]" + + text_label_center = { + name = "traits_header" + visible = "[MatchOffer.HasInheritableTraits]" + # layoutpolicy_horizontal = expanding + text = "INHERITABLE_TRAITS" + } + + text_single = { + name = "no_traits" + visible = "[Not(MatchOffer.HasInheritableTraits)]" + text = "NO_INHERITABLE_TRAITS" + default_format = "#low;italic" + } + + hbox = { + name = "traits" + datamodel = "[MatchOffer.GetInheritableTraitItems]" + visible = "[Not(IsDataModelEmpty(MatchOffer.GetInheritableTraitItems))]" + + item = { + container = { + datacontext = "[MatchmakerTraitInfo.GetTrait]" + datacontext = "[MatchmakerTraitInfo.GetCharacter]" + + icon_trait = { + blockoverride "actual_description_text" + { + text = "TRAIT_ENTRY_INHERITANCE_INFO" + } + + highlight_icon = { + name = "guaranteed" + visible = "[And( MatchmakerTraitInfo.IsGuaranteed, Not(MatchmakerTraitInfo.CanUpgrade) )]" + position = { 28 30 } + texture = "gfx/interface/icons/symbols/icon_check.dds" + size = { 25 25 } + } + + highlight_icon = { + name = "upgrade" + visible = "[MatchmakerTraitInfo.CanUpgrade]" + texture = "gfx/interface/icons/symbols/icon_arrow_green_down.dds" + mirror = vertical + position = { 5 28 } + size = { 25 25 } + } + } + } + } + } + + text_single = { + name = "inbreeding_risk" + visible = "[MatchOffer.HasInbreedingRisk]" + max_width = 510 + text = "MATCH_OFFER_INBREEDING_WARNING" + default_format = "#low" + } + } + + divider_light = { + layoutpolicy_horizontal = expanding + } + + expand = {} +} + + type vbox_list_interaction_title_selection = vbox { + name = "titles_grid" + datamodel = "[CharacterInteractionConfirmationWindow.GetTitles]" + layoutpolicy_horizontal = expanding + spacing = 3 + + item = { + widget = { + name = "title_list_item" + layoutpolicy_horizontal = expanding + size = { 0 45 } + + button_standard = { + name = "title_button" + datacontext = "[InteractionTitleItem.GetTitle]" + size = "[InteractionTitleItem.GetSize]" + onclick = "[InteractionTitleItem.OnClick]" + onrightclick = "[InteractionTitleItem.OnRightClick]" + button_ignore = none + down = "[InteractionTitleItem.IsSelected]" + enabled = "[InteractionTitleItem.IsSelectable]" + tooltip = "[InteractionTitleItem.GetTooltip]" + using = tooltip_es + parentanchor = right + + block "button_toggles" { + enabled = "[InteractionTitleItem.IsSelectable]" + } + + coa_title_tiny_crown = { + position = { 0 -8 } + } + + hbox = { + margin_left = 45 + margin_right = 5 + + text_single = { + name = "text" + layoutpolicy_horizontal = expanding + text = "[InteractionTitleItem.GetTitle.GetNameNoTooltip]" + } + + icon = { + name = "pressed_claim" + visible = "[GetPlayer.HasPressedClaimOnTitle( Title.Self )]" + size = { 24 24 } + texture = "gfx/interface/icons/title_status/icon_claim_pressed.dds" + tooltip = "REVOKE_TITLE_PRESSED_CLAIM" + } + + icon = { + name = "unpressed_claim" + visible = "[And(GetPlayer.HasClaimOnTitle( Title.Self ), Not(GetPlayer.HasPressedClaimOnTitle( Title.Self )))]" + size = { 24 24 } + texture = "gfx/interface/icons/title_status/icon_claim_unpressed.dds" + tooltip = "REVOKE_TITLE_UNPRESSED_CLAIM" + } + + icon = { + name = "leased_out" + visible = "[Title.HasLeasedOutVassal]" + size = { 36 39 } + texture = "gfx/interface/icons/icon_holding_church.dds" + tooltip = "GRANT_TITLE_LEASED_OUT_VASSAL" + } + + block "extra_title_items" {} + } + } + } + } +} + + type vbox_list_interaction_artifact_selection = vbox { + name = "artifacts_grid" + datamodel = "[CharacterInteractionConfirmationWindow.GetArtifacts]" + layoutpolicy_horizontal = expanding + spacing = 10 + + item = { + widget = { + name = "artifact_list_item" + layoutpolicy_horizontal = expanding + size = { 360 80 } + + button_standard = { + name = "artifact_button" + size = { 100% 100% } + + onclick = "[CharacterInteractionConfirmationWindow.SetSelectedArtifact( Artifact.Self )]" + onclick = "[GetVariableSystem.Toggle( 'character_interaction_change_artifact' )]" + down = "[ObjectsEqual( CharacterInteractionConfirmationWindow.GetSelectedArtifact, Artifact.Self )]" + + tooltipwidget = { + artifact_tooltip = {} + } + + hbox = { + + widget = { + size = { 80 80 } + alwaystransparent = yes + + button_artifact = { + size = { 100% 100% } + } + + tooltipwidget = { + artifact_tooltip = {} + } + } + vbox = { + text_multi = { + name = "text" + layoutpolicy_horizontal = expanding + text = "[Artifact.GetNameNoTooltip]" + max_width = 250 + default_format = "#clickable" + autoresize = yes + } + + text_multi = { + visible = "[GetPlayer.GetInventory.IsEquipped( Artifact.Self )]" + name = "equipped_status" + layoutpolicy_horizontal = expanding + text = "GIFT_EQUIPPED_ARTIFACT" + max_width = 250 + default_format = "#weak" + autoresize = yes + } + } + expand = {} + } + + } + } + } +} + + type vbox_list_interaction_maa_selection = vbox { + name = "maa_grid" + datamodel = "[CharacterInteractionConfirmationWindow.GetMaa]" + layoutpolicy_horizontal = expanding + spacing = 10 + + item = { + button_standard = { + size = { 200 50 } + text = "[Regiment.GetName]" + onclick = "[CharacterInteractionConfirmationWindow.SetSelectedMaa( Regiment.Self )]" + onclick = "[GetVariableSystem.Toggle( 'character_interaction_change_maa' )]" + } + } +} + + type vbox_character_interaction_three_characters = vbox { + margin = { 10 10 } + + background = { + texture = "[CharacterInteractionConfirmationWindow.GetTexture]" + alpha = 0.5 + fittype = centercrop + using = Mask_Rough_Edges + } + + hbox = { + layoutpolicy_horizontal = expanding + + ### Left + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + spacing = 5 + + portrait_shoulders = { + name = "left_background_portrait" + datacontext = "[CharacterInteractionConfirmationWindow.GetActor]" + visible = "[Character.IsValid]" + } + + text_label_center = { + text = "INTERACTION_SENDER" + min_width = 100 + max_width = 170 + } + } + + vbox = { + datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryRecipient]" + visible = "[CharacterInteractionConfirmationWindow.ShouldShowSecondaryRecipient]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + spacing = 5 + + expand = {} + + portrait_head = {} + + hbox = { + spacing = 5 + + text_label_center = { + visible = "[CharacterInteractionConfirmationWindow.ShouldShowSecondaryRecipient]" + text = "[CharacterInteractionConfirmationWindow.GetRecipientSecondaryLabel]" + max_width = 170 + multiline = yes + } + + change_revert_buttons = { + + blockoverride "size" + { + size = { 32 32 } + } + + blockoverride "size_icon" + { + size = { 24 24 } + } + + blockoverride "ReplaceClick" + { + onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter] +} +blockoverride "ReplaceVisible" +{ + visible = [CharacterInteractionConfirmationWindow.CanChangeRecipientCharacter] +} +blockoverride "RevertClick" +{ + onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter] +} +blockoverride "RevertVisible" +{ + visible = [CharacterInteractionConfirmationWindow.CanRevertRecipientCharacter] +} +} +} +} + +### Right +vbox = { + datacontext = "[CharacterInteractionConfirmationWindow.GetRecipient]" + visible = "[And( Character.IsValid, Not( ObjectsEqual( CharacterInteractionConfirmationWindow.GetActor, CharacterInteractionConfirmationWindow.GetRecipient ) ) )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + spacing = 5 + + expand = {} + + portrait_shoulders = { + name = "right_background_portrait" + } + + text_label_center = { + visible = "[Not( ObjectsEqual( CharacterInteractionConfirmationWindow.GetActor, CharacterInteractionConfirmationWindow.GetRecipient ) )]" + text = "INTERACTION_RECIPIENT" + min_width = 100 + max_width = 170 + } +} +} +} + +type widget_character_interaction_four_characters = widget { + layoutpolicy_horizontal = expanding + size = { 0 330 } + + block "bg_illustration_datacontext" {} + + # Temp background + background = { + alpha = 0.7 + fittype = centercrop + + using = Mask_Rough_Edges + + block "bg_illustration" + { + texture = "gfx/interface/illustrations/event_scenes/sittingroom.dds" + } + } + + ### LEFT + flowcontainer = { + parentanchor = top|left + position = { 20 20 } + direction = vertical + + block "left_small_portrait" + { + datacontext = "[CharacterInteractionConfirmationWindow.GetActor]" + visible = "[Character.IsValid]" + } + + portrait_head = { + name = "left_background_portrait" + tooltip_visible = "[Character.IsValid]" + } + + text_label_center = { + parentanchor = hcenter + text = "INTERACTION_SENDER" + } + } + + widget = { + position = { -110 0 } + parentanchor = bottom|hcenter + + portrait_body = { + name = "left_main_portrait" + resizeparent = yes + + block "left_portrait" + { + datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryActor]" + } + + tooltip_visible = "[Character.IsValid]" + + blockoverride "status_icons" {} + + blockoverride "coa" + { + coa_realm_small_crown = { + position = { -14 -40 } + visible = "[Character.HasLandedTitles]" + parentanchor = bottom + } + } + + blockoverride "portrait_button" + { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + mask = "gfx/portraits/portrait_mask_council.dds" + } + + blockoverride "position_portrait_opinion_body" { + position = { 0 -40 } + } + + blockoverride "portrait_glow" {} + + background = { + using = Background_Portrait_Glow + color = { 0.8 0.7 0.5 0.6 } + + block "left_interaction_portrait_glow" + { + visible = "[CharacterInteractionConfirmationWindow.IsPickingSecondaryActor]" + } + } + } + + text_label_center = { + parentanchor = bottom|hcenter + position = { 0 -13 } + allow_outside = yes + + block "left_character_label" + { + text = "[CharacterInteractionConfirmationWindow.GetActorSecondaryLabel]" + } + + container = { + name = "tutorial_highlight_change_left_character" + parentanchor = vcenter + position = { -50 0 } + + button_round = { + name = "tutorial_highlight_change_left_character" + alwaystransparent = no + tooltip = "CHANGE_CHARACTER" + using = tooltip_below + + using = Animation_ShowHide_Quick + + + block "button_left_change" + { + visible = "[CharacterInteractionConfirmationWindow.CanChangeActorCharacter]" + onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" + } + + button_replace = { + parentanchor = center + alwaystransparent = yes + } + } + + button_round = { + name = "revert_left_character" + alwaystransparent = no + tooltip = "CANCEL" + using = tooltip_below + + using = Animation_ShowHide_Quick + + + block "button_left_revert" + { + visible = "[CharacterInteractionConfirmationWindow.CanRevertActorCharacter]" + onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" + } + + button_cancel = { + parentanchor = center + alwaystransparent = yes + } + } + } + } + } + + ### RIGHT + flowcontainer = { + parentanchor = top|right + position = { -20 20 } + direction = vertical + + block "right_small_portrait" + { + datacontext = "[CharacterInteractionConfirmationWindow.GetRecipient]" + visible = "[Character.IsValid]" + } + + portrait_head = { + name = "right_background_portrait" + tooltip_visible = "[Character.IsValid]" + + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + + blockoverride "status_icons" {} + } + + text_label_center = { + parentanchor = hcenter + text = "INTERACTION_RECIPIENT" + } + } + + widget = { + position = { 110 0 } + parentanchor = bottom|hcenter + + portrait_body = { + name = "right_main_portrait" + tooltip_visible = "[Character.IsValid]" + resizeparent = yes + + block "right_portrait" + { + datacontext = "[CharacterInteractionConfirmationWindow.GetSecondaryRecipient]" + } + + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + + blockoverride "status_icons" {} + + blockoverride "coa" { + coa_realm_small_crown = { + position = { 14 -40 } + visible = "[Character.HasLandedTitles]" + parentanchor = bottom|right + } + } + + blockoverride "portrait_button" + { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_body', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + mask = "gfx/portraits/portrait_mask_council.dds" + } + + blockoverride "position_portrait_opinion_body" { + position = { 0 -40 } + } + + blockoverride "portrait_glow" {} + + background = { + using = Background_Portrait_Glow + color = { 0.8 0.7 0.5 0.6 } + + block "right_interaction_portrait_glow" + { + visible = "[CharacterInteractionConfirmationWindow.IsPickingSecondaryRecipient]" + } + } + + blockoverride "glow_flip" { + mirror = horizontal + } + } + + text_label_center = { + parentanchor = bottom|hcenter + position = { 0 -13 } + allow_outside = yes + + block "right_character_label" + { + text = "INTERACTION_RECIPIENT" + } + + container = { + name = "tutorial_highlight_change_right_character" + parentanchor = right|vcenter + position = { 50 0 } + + button_round = { + name = "change_right_character" + alwaystransparent = no + tooltip = "CHANGE_CHARACTER" + using = tooltip_below + + using = Animation_ShowHide_Quick + + block "button_right_change" + { + visible = "[CharacterInteractionConfirmationWindow.CanChangeRecipientCharacter]" + onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertRecipientCharacter]" + } + + button_replace = { + parentanchor = center + alwaystransparent = yes + } + } + + button_round = { + name = "revert_right_character" + alwaystransparent = no + tooltip = "CANCEL" + using = tooltip_below + + using = Animation_ShowHide_Quick + + + block "button_right_revert" + { + visible = "[CharacterInteractionConfirmationWindow.CanRevertActorCharacter]" + onclick = "[CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter]" + } + + button_cancel = { + parentanchor = center + alwaystransparent = yes + } + } + } + } + } + + ### CLEAR BUTTON + container = { + position = { 0 -6 } + parentanchor = bottom|hcenter + + button_round = { + name = "clear_marry_off_character" + alwaystransparent = no + tooltip = "CLEAR_MARRIED_CHARACTER" + using = tooltip_below + + block "button_clear" + { + visible = "[CharacterInteractionConfirmationWindow.CanChangeActorCharacter]" + enabled = "[CharacterInteractionConfirmationWindow.CanClear]" + onclick = "[CharacterInteractionConfirmationWindow.OnClear]" + } + + button_clear = { + alwaystransparent = yes + parentanchor = center + } + } + } +} + +type vbox_character_interaction_effects_contents = vbox { + name = "affected_characters_accept" + layoutpolicy_horizontal = expanding + spacing = 5 + + datacontext = "[InteractionEffectsDescription.GetDisplayedEffects]" + + # Duplicate recipient if it's player - player info should go first + vbox_character_interaction_effects_me = { + datacontext = "[InteractionEffectsDescription.GetRecipient]" + visible = "[And( Character.IsLocalPlayer, DisplayedInteractionEffects.HasRecipientEffects )]" + layoutpolicy_horizontal = expanding + + blockoverride "EffectFromIntermediaryText" { + text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetRecipientEffect]" + } + + blockoverride "EffectText" { + text = "[DisplayedInteractionEffects.GetMainEffect.GetRecipientEffect]" + } + } + + # Duplicate intermediary if it's player - player info should go first + vbox_character_interaction_effects_me = { + datacontext = "[InteractionEffectsDescription.GetIntermediary]" + visible = "[And( Character.IsLocalPlayer, DisplayedInteractionEffects.HasIntermediaryEffects )]" + layoutpolicy_horizontal = expanding + + blockoverride "EffectFromIntermediaryText" { + text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetIntermediaryEffect]" + } + + blockoverride "EffectText" { + text = "[DisplayedInteractionEffects.GetMainEffect.GetIntermediaryEffect]" + } + } + + ### Actor + vbox_character_interaction_effects_me = { + datacontext = "[InteractionEffectsDescription.GetActor]" + visible = "[DisplayedInteractionEffects.HasActorEffects]" + layoutpolicy_horizontal = expanding + + blockoverride "EffectFromIntermediaryText" { + text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetActorEffect]" + } + + blockoverride "EffectText" { + text = "[DisplayedInteractionEffects.GetMainEffect.GetActorEffect]" + } + } + + ### Intermediary + vbox_character_interaction_effects_other = { + datacontext = "[InteractionEffectsDescription.GetIntermediary]" + visible = "[And( Not( Character.IsLocalPlayer ), DisplayedInteractionEffects.HasIntermediaryEffects )]" + layoutpolicy_horizontal = expanding + + blockoverride "EffectFromIntermediaryText" { + text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetIntermediaryEffect]" + } + + blockoverride "EffectText" { + text = "[DisplayedInteractionEffects.GetMainEffect.GetIntermediaryEffect]" + } + } + + ### Recipient + vbox_character_interaction_effects_other = { + datacontext = "[InteractionEffectsDescription.GetRecipient]" + visible = "[And( Not( Character.IsLocalPlayer ), DisplayedInteractionEffects.HasRecipientEffects )]" + layoutpolicy_horizontal = expanding + + blockoverride "EffectFromIntermediaryText" { + text = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetRecipientEffect]" + } + + blockoverride "EffectText" { + text = "[DisplayedInteractionEffects.GetMainEffect.GetRecipientEffect]" + } + } + + ### Others + vbox_character_interaction_other_effects = { + datamodel = "[DisplayedInteractionEffects.GetEffectFromIntermediary.GetOtherEffects]" + layoutpolicy_horizontal = expanding + } + + ### Others + vbox_character_interaction_other_effects = { + datamodel = "[DisplayedInteractionEffects.GetMainEffect.GetOtherEffects]" + layoutpolicy_horizontal = expanding + } +} + +# All the interaction effects on you and on other character +type vbox_character_interaction_effects = vbox { + name = "effects" + spacing = 10 + + hbox = { + name = "interaction_effects_tabs" + visible = "[And(InteractionEffectsDescription.IsMaybeAnswer,InteractionEffectsDescription.HasRejectionEffect)]" + layoutpolicy_horizontal = expanding + + button_tab = { + name = "show_accept_effects" + layoutpolicy_horizontal = expanding + text = "INTERACTION_SHOW_ACCEPT_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowOnAcceptEffect]" + down = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" + tooltip = "INTERACTION_SHOW_ACCEPT_EFFECTS_TT" + using = tooltip_ne + } + + button_tab = { + name = "show_intermediary_decline_effects" + layoutpolicy_horizontal = expanding + visible = "[InteractionEffectsDescription.IsIntermediaryVisible]" + text = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowIntermediaryDeclineEffect]" + down = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" + tooltip = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS_TT" + using = tooltip_ne + } + + button_tab = { + name = "show_decline_effects" + layoutpolicy_horizontal = expanding + text = "INTERACTION_SHOW_DECLINE_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowRecipientDeclineEffect]" + down = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" + tooltip = "INTERACTION_SHOW_DECLINE_EFFECTS_TT" + using = tooltip_ne + } + } + + scrollbox_character_interaction_effects_wrapper = {} + +} + +type scrollbox_character_interaction_effects_wrapper = container { + datacontext = "[InteractionEffectsDescription.GetDisplayedEffects]" + visible = "[DisplayedInteractionEffects.HasAnyEffects]" + + scrollbox = { + name = "effects_scrollarea" + autoresizescrollarea = yes + scissor = yes + + block "maximumsize" { + maximumsize = { -1 320 } + } + + blockoverride "scrollbox_content" + { + set_parent_size_to_minimum = yes + + block "minimumsize" { + minimumsize = { 676 160 } + } + + vbox_character_interaction_effects_contents = {} + } + } +} + +# All the interaction effects on you and on other character, simpler version without portraits +type vbox_character_interaction_effects_simple = vbox { + name = "effects" + spacing = 10 + + hbox = { + visible = "[And(InteractionEffectsDescription.IsMaybeAnswer,InteractionEffectsDescription.HasRejectionEffect)]" + layoutpolicy_horizontal = expanding + + button_tab = { + name = "show_accept_effects" + layoutpolicy_horizontal = expanding + text = "INTERACTION_SHOW_ACCEPT_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowOnAcceptEffect]" + down = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" + tooltip = "INTERACTION_SHOW_ACCEPT_EFFECTS_TT" + using = tooltip_ne + } + + button_tab = { + name = "show_intermediary_decline_effects" + layoutpolicy_horizontal = expanding + visible = "[InteractionEffectsDescription.IsIntermediaryVisible]" + text = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowIntermediaryDeclineEffect]" + down = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" + tooltip = "INTERACTION_SHOW_INTERMEDIARY_DECLINE_EFFECTS_TT" + using = tooltip_ne + } + + button_tab = { + name = "show_decline_effects" + layoutpolicy_horizontal = expanding + text = "INTERACTION_SHOW_DECLINE_EFFECTS" + onclick = "[InteractionEffectsDescription.ShowRecipientDeclineEffect]" + down = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" + tooltip = "INTERACTION_SHOW_DECLINE_EFFECTS_TT" + using = tooltip_ne + } + } + + scrollbox = { + name = "effects_scrollarea" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + size = { 0 170 } + + blockoverride "scrollbox_content" + { + margin = { 0 10 } + + text_multi = { + visible = "[InteractionEffectsDescription.IsShowingOnAcceptEffects]" + name = "accept_effects_info" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + autoresize = yes + max_width = 435 + margin = { 5 0 } + text = "[InteractionEffectsDescription.GetAcceptEffectDescription]" + } + + text_multi = { + visible = "[InteractionEffectsDescription.IsShowingIntermediaryDeclineEffect]" + name = "intermediary_decline_effects_info" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + autoresize = yes + max_width = 435 + margin = { 5 0 } + text = "[InteractionEffectsDescription.GetIntermediaryRejectionEffectDescription]" + } + + text_multi = { + visible = "[InteractionEffectsDescription.IsShowingRecipientDeclineEffect]" + name = "decline_effects_info" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + autoresize = yes + max_width = 435 + margin = { 5 0 } + text = "[InteractionEffectsDescription.GetRejectionEffectDescription]" + } + + block "extra_content" {} + } + + } + + +} + +# Interaction effects on me +type vbox_character_interaction_effects_me = vbox { + name = "me" + margin_bottom = 5 + + background = { + using = Background_Area_With_Header + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + margin_left = 5 + + vbox = { + layoutpolicy_vertical = expanding + + portrait_head = { + blockoverride "opinion_box" {} + } + + expand = {} + } + + vbox = { + layoutpolicy_vertical = expanding + margin = { 5 0 } + spacing = 5 + + text_single = { + text = "EFFECTS_ON_ME" + layoutpolicy_horizontal = expanding + margin = { 0 5 } + } + + text_multi = { + name = "intermediary_effects_info" + layoutpolicy_horizontal = expanding + autoresize = yes + max_width = 450 + block "EffectFromIntermediaryText" { + text = "" + } + } + + text_multi = { + name = "effects_info" + layoutpolicy_horizontal = expanding + autoresize = yes + max_width = 450 + block "EffectText" {} + } + + expand = {} + } + + expand = {} + } +} + +# Interaction effects on the other character +type vbox_character_interaction_effects_other = vbox { + name = "recipient" + margin_bottom = 5 + + background = { + using = Background_Area_With_Header + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + vbox = { + layoutpolicy_vertical = expanding + margin = { 15 0 } + spacing = 5 + + text_single = { + text = "EFFECTS_ON_ME" + layoutpolicy_horizontal = expanding + margin = { 0 4 } + max_width = 440 + } + + text_multi = { + name = "intermediary_effects_info" + layoutpolicy_horizontal = expanding + autoresize = yes + max_width = 440 + block "EffectFromIntermediaryText" { + text = "" + } + } + + text_multi = { + name = "effects_info" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + autoresize = yes + max_width = 440 + block "EffectText" {} + } + + expand = {} + } + + expand = {} + + vbox = { + layoutpolicy_vertical = expanding + + portrait_head = { + blockoverride "opinion_box" {} + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + + expand = {} + } + } +} + +# Interaction effects on third party characters +type vbox_character_interaction_other_effects = vbox { + name = "other_effects" + + item = { + hbox = { + layoutpolicy_horizontal = expanding + margin = { 0 5 } + spacing = 5 + + portrait_head = { + name = "portrait" + datacontext = "[InteractionOtherEffect.GetCharacter]" + visible = "[InteractionOtherEffect.HasCharacter]" + } + + container = { + ignoreinvisible = yes + icon = { + position = { 16 0 } + size = { 50 50 } + texture = "gfx/interface/icons/icon_group_of_characters.dds" + visible = "[InteractionOtherEffect.IsList]" + tooltip = "[InteractionOtherEffect.GetListTooltip]" + } + } + + text_multi = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + autoresize = yes + max_width = 450 + text = "[InteractionOtherEffect.GetEffect]" + align = left|vcenter + } + + expand = {} + } + } +} + +type hbox_character_interaction_acceptance = hbox { + name = "acceptance" + visible = "[CharacterInteractionConfirmationWindow.ShouldShowAnswer]" + + widget = { + name = "answer_chance" + size = { 330 46 } + tooltip = "[CharacterInteractionConfirmationWindow.GetAnswerReason]" + + background = { + using = Background_Area_Dark + } + + hbox = { + visible = "[CharacterInteractionConfirmationWindow.IsForcedToAccept]" + parentanchor = center + layoutpolicy_horizontal = expanding + + maximumsize = { 330 46 } + margin = { 16 0 } + spacing = 4 + + expand = {} + + icon = { + texture = "gfx/interface/icons/symbols/icon_check.dds" + size = { 30 30 } + visible = "[CharacterInteractionConfirmationWindow.IsAnswerPositive]" + } + + text_single = { + name = "answer" + text = "ANSWER_REASON_AUTO_ACCEPT" + default_format = "#color_green" + using = Font_Size_Medium + align = nobaseline + } + + expand = {} + } + + hbox = { + visible = "[Not( CharacterInteractionConfirmationWindow.IsForcedToAccept )]" + parentanchor = center + layoutpolicy_horizontal = expanding + maximumsize = { 330 46 } + margin = { 16 0 } + spacing = 4 + + expand = {} + + icon = { + texture = "gfx/interface/icons/symbols/icon_cross.dds" + size = { 30 30 } + visible = "[Not( CharacterInteractionConfirmationWindow.IsAnswerPositive )]" + } + + icon = { + texture = "gfx/interface/icons/symbols/icon_check.dds" + size = { 30 30 } + visible = "[CharacterInteractionConfirmationWindow.IsAnswerPositive]" + } + + text_single = { + name = "answer" + text = "[CharacterInteractionConfirmationWindow.GetAnswer]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + + text_single = { + name = "answer_score" + visible = "[And( Not( CharacterInteractionConfirmationWindow.IsAiMaybe ), Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) )]" + + text = "INTERACTION_ACCEPTANCE_SCORE" + using = Font_Size_Medium + align = nobaseline + } + + text_single = { + name = "answer_chance" + visible = "[And( And( CharacterInteractionConfirmationWindow.IsAiMaybe, Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) ), Or( Not( CharacterInteractionConfirmationWindow.IsAiAcceptNegotiation ), GreaterThan_int32( CharacterInteractionConfirmationWindow.GetAnswerScore, '(int32)0' ) ) )]" + + text = "INTERACTION_ACCEPTANCE_CHANCE" + using = Font_Size_Medium + align = nobaseline + } + + expand = {} + } + + progressbar_standard = { + position = { 0 3 } + size = { 324 10 } + parentanchor = bottom|hcenter + visible = "[And( And( CharacterInteractionConfirmationWindow.IsAiMaybe, Not( CharacterInteractionConfirmationWindow.GetRecipient.IsPlayer ) ), Or( Not( CharacterInteractionConfirmationWindow.IsAiAcceptNegotiation ), GreaterThan_int32( CharacterInteractionConfirmationWindow.GetAnswerScore, '(int32)0' ) ) )]" + value = "[CharacterInteractionConfirmationWindow.GetAnswerProgress]" + } + } +} + +type text_multi_on_decline_summary = text_multi { + autoresize = yes + max_width = 500 + visible = "[CharacterInteractionConfirmationWindow.HasOnDeclineSummary]" + text = "[CharacterInteractionConfirmationWindow.GetOnDeclineSummary]" +} + +# Options to consider before accepting and interaction +type vbox_interaction_options = vbox { + name = "options_grid" + visible = "[CharacterInteractionConfirmationWindow.HasOptions]" + spacing = 5 + + block "margin" + { + margin_top = 10 + } + + text_label_center = { + visible = "[Not( StringIsEmpty(CharacterInteractionConfirmationWindow.GetOptionsHeading) )]" + layoutpolicy_horizontal = expanding + text = "[CharacterInteractionConfirmationWindow.GetOptionsHeading]" + align = center + } + + vbox = { + name = "multiple_selection_options" + visible = "[And(Not( CharacterInteractionConfirmationWindow.HasExclusiveOptions ), Not( GreaterThan_CFixedPoint( GetPlayer.MakeScope.Var('hide_ui_character_info').GetValue, '(CFixedPoint)0' ) ))]" + layoutpolicy_horizontal = expanding + datamodel = "[CharacterInteractionConfirmationWindow.GetOptionItems]" + + item = { + widget = { + visible = "[OptionItem.IsShown]" + layoutpolicy_horizontal = expanding + size = { 480 40 } + + background = { + using = Background_Area_Border + } + + hbox = { + layoutpolicy_horizontal = expanding + + margin = { 15 0 } + spacing = 10 + + tooltip = "[OptionItem.GetTooltip]" + using = tooltip_below + + background = { + visible = "[OptionItem.HasFlag( 'grand_wedding_promise' )]" + + margin_right = 40 + margin_left = -2 + texture = "gfx/interface/colors/white.dds" + alpha = 0.15 + margin_top = -2 + + modify_texture = { + texture = "gfx/interface/component_masks/patterns/mask_pattern_01.dds" + spriteType = corneredtiled + blend_mode = alphamultiply + texture_density = 0.76 + } + + modify_texture = { + texture = "gfx/interface/colors/colors_textured.dds" + blend_mode = normal + framesize = { 96 96 } + frame = 7 + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_clouds.dds" + blend_mode = alphamultiply + spriteType = corneredTiled + alpha = 0.5 + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_scratches.dds" + blend_mode = alphamultiply + spriteType = corneredTiled + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + } + } + + button_checkbox = { + size = { 30 30 } + checked = "[OptionItem.HasOption]" + onclick = "[OptionItem.OnClick]" + enabled = "[And(OptionItem.IsValid, OptionItem.CanBeChanged)]" + } + + text_single = { + text = "[OptionItem.GetName]" + align = nobaseline + } + + icon = { + visible = "[OptionItem.HasFlag( 'grand_wedding_promise' )]" + size = { 30 30 } + texture = "gfx/interface/icons/activities/activity_wedding.dds" + } + + expand = {} + } + } + } + } + + + vbox = { + name = "exclusive_options" + layoutpolicy_horizontal = expanding + visible = "[CharacterInteractionConfirmationWindow.HasExclusiveOptions]" + datamodel = "[CharacterInteractionConfirmationWindow.GetOptionItems]" + + item = { + widget = { + visible = "[OptionItem.IsShown]" + layoutpolicy_horizontal = expanding + size = { 480 40 } + + background = { + using = Background_Area_Border + } + + hbox = { + margin = { 15 0 } + spacing = 10 + + # Warcraft + tooltip = "[Select_CString(Not(GetScriptedGui('wc_show_character_interaction_traits_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', CharacterInteractionConfirmationWindow.GetRecipient.MakeScope).End)), OptionItem.GetTooltip, GetTrait(OptionItem.GetName).GetFullDescription( CharacterInteractionConfirmationWindow.GetRecipient, CharacterInteractionConfirmationWindow.GetRecipient.GetFaith ))]" + using = tooltip_below + + button_radio = { + size = { 30 30 } + frame = "[BoolTo1And2( OptionItem.HasOption )]" + onclick = "[OptionItem.OnClick]" + enabled = "[And(OptionItem.IsValid, And(OptionItem.CanBeChanged, Not(OptionItem.HasOption)))]" + } + + # Warcraft + text_single = { + visible = "[Not(GetScriptedGui('wc_show_character_interaction_traits_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', CharacterInteractionConfirmationWindow.GetRecipient.MakeScope).End))]" + layoutpolicy_horizontal = expanding + text = "[OptionItem.GetName]" + align = nobaseline + } + + icon = { + visible = "[GetScriptedGui('wc_show_character_interaction_traits_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', CharacterInteractionConfirmationWindow.GetRecipient.MakeScope).End)]" + name = "trait_icon" + using = Animation_Glow_Pulse + + block "icon_size" + { + size = { 35 35 } + } + block "glow" + { + + } + + texture = "[GetTrait(OptionItem.GetName).GetIcon(GetPlayer)]" + } + + text_single = { + visible = "[GetScriptedGui('wc_show_character_interaction_traits_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', CharacterInteractionConfirmationWindow.GetRecipient.MakeScope).End)]" + layoutpolicy_horizontal = expanding + text = "[Localize(Concatenate('trait_', OptionItem.GetName))]" + align = nobaseline + } + # End Warcraft + } + } + } + } +} + +type vbox_scheme_info = vbox { + name = "scheme_info" + layoutpolicy_vertical = expanding + + widget = { + name = "on_success" + datacontext = "[InteractionSchemeInfo.GetScheme]" + visible = "[InteractionSchemeInfo.HasSuccessDesc]" + size = { 676 200 } + + background = { + visible = "[InteractionSchemeInfo.HasDiscoveryDesc]" + texture = "[SchemeType.GetIllustration]" + alpha = 0.5 + fittype = centercrop + using = Mask_Rough_Edges + margin_top = 30 + + modify_texture = { + texture = "gfx/interface/window_scheme/scheme_header_mask.dds" + blend_mode = alphaMultiply + } + } + + background = { + visible = "[Not( InteractionSchemeInfo.HasDiscoveryDesc )]" + texture = "gfx/interface/illustrations/event_scenes/bedchamber.dds" + alpha = 0.5 + fittype = centercrop + using = Mask_Rough_Edges + margin_top = 30 + + modify_texture = { + texture = "gfx/interface/window_scheme/scheme_header_mask.dds" + blend_mode = alphaMultiply + } + } + + widget = { + parentanchor = center + size = { 264 200 } + + vbox = { + layoutpolicy_vertical = expanding + margin_top = 5 + + widget = { + size = { 264 110 } + + tooltipwidget = { + widget_value_breakdown_tooltip = { + datacontext = "[CharacterInteractionConfirmationWindow.AccessSchemeInfo.GetOddsPredictionBreakdown]" + } + } + + icon = { + parentanchor = center + size = { 264 110 } + texture = "gfx/interface/window_scheme/scheme_success_bg.dds" + } + + icon = { + name = "success_icon" + parentanchor = top|hcenter + position = { 0 5 } + size = { 44 44 } + framesize = { 70 70 } + frame = "[InteractionSchemeInfo.GetOddsPredictionLevelFrame]" + texture = "gfx/interface/icons/schemes/icon_scheme_odds.dds" + } + + vbox = { + margin_top = 25 + + text_multi = { + name = "scheme_success_chance_message" + layoutpolicy_horizontal = expanding + + text = "SCHEME_PREDICTION_SUCCESS_CHANCE" + align = center|nobaseline + autoresize = yes + max_width = 250 + } + } + + text_single = { + name = "odds value" + visible = "[InDebugMode]" + text = "SCHEME_PREDICTION_VALUE_DEBUG" + } + } + + expand = {} + + hbox = { + name = "phases" + spacing = 5 + + background = { + using = Background_Area + + margin = { 0 5 } + margin_right = 20 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + + icon = { + name = "scheme_speed_icon" + size = { 30 30 } + texture = "gfx/interface/icons/schemes/icon_scheme_speed.dds" + } + + text_single = { + name = "scheme_speed" + text = "[InteractionSchemeInfo.GetSpeedDesc]" + align = nobaseline + using = Font_Size_Medium + } + } + + hbox = { + name = "on_discovery" + visible = "[InteractionSchemeInfo.HasDiscoveryDesc]" + + background = { + using = Background_Area + + margin = { 0 5 } + margin_right = 20 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + + hbox = { + visible = "[InteractionSchemeInfo.IsSecret]" + spacing = 5 + + tooltip = "SCHEME_PREDICTION_SECRECY_TT" + + icon = { + name = "secrecy_icon" + size = { 32 32 } + texture = "gfx/interface/icons/schemes/icon_secrecy.dds" + } + + text_single = { + name = "secrecy_label" + text = "SCHEME_WINDOW_SECRECY_LABEL" + align = nobaseline + using = Font_Size_Medium + } + + text_single = { + name = "secrecy" + text = "[InteractionSchemeInfo.GetSecrecy|%/V1]" + align = nobaseline + using = Font_Size_Medium + } + } + } + + expand = {} + } + } + + # Player + widget = { + name = "player" + parentanchor = left|bottom + size = { 180 200 } + position = { 20 0 } + + portrait_torso = { + datacontext = "[GetPlayer]" + parentanchor = center + using = tooltip_es + + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_torso', 'camera_torso_scheme_player', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + } + + blockoverride "portrait_mask" + { + mask = "gfx/portraits/portrait_mask_council.dds" + } + + blockoverride "coa" { + coa_realm_small_crown = { + visible = "[Character.HasLandedTitles]" + parentanchor = bottom|left + position = { -20 -5 } + } + } + + blockoverride "portrait_status_icons" { + portrait_status_icons = { + parentanchor = bottom|right + position = { 0 -10 } + } + } + } + } + + # Target + widget = { + name = "target" + parentanchor = right|bottom + size = { 180 200 } + position = { -20 0 } + + portrait_torso = { + datacontext = "[InteractionSchemeInfo.GetTarget]" + parentanchor = center + using = tooltip_es + + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_torso', 'camera_torso_scheme_target', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + } + + blockoverride "portrait_mask" + { + mask = "gfx/portraits/portrait_mask_council.dds" + } + + blockoverride "coa" { + coa_realm_small_crown = { + visible = "[Character.HasLandedTitles]" + parentanchor = bottom|right + position = { 20 -5 } + } + } + + blockoverride "opinion_box" + { + portrait_opinion = { + parentanchor = bottom|hcenter + position = { 0 -8 } + } + } + + blockoverride "portrait_status_icons" { + portrait_status_icons = { + parentanchor = bottom|left + position = { 0 -10 } + } + } + } + } + } +} + +type scheme_header_widget = widget { + name = "interaction_window_heading_scheme" + widgetid = "interaction_window_heading_scheme" + datacontext = "[CharacterInteractionConfirmationWindow.GetSchemeInfo]" + datacontext = "[InteractionSchemeInfo.GetScheme]" + size = { 676 90 } + + # Stained glass header + icon = { + parentanchor = center + size = { 676 90 } + texture = "gfx/interface/window_scheme/scheme_header.dds" + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_header_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + bezier = { 0.8 0.18 0.96 .05 } + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 5 + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + # Stained glass header theme - Hostile + icon = { + visible = "[SchemeType.IsHostile]" + parentanchor = left + position = { -1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_hostile.dds" + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 2 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 9 + + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = {0.6 0} + } + } + } + + icon = { + visible = "[SchemeType.IsHostile]" + parentanchor = right + position = { 1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_hostile.dds" + mirror = horizontal + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 6 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 2 + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + } + + # Stained glass header theme - Personal + icon = { + visible = "[SchemeType.IsPersonal]" + parentanchor = left + position = { -1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_personal.dds" + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 2 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 9 + + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = {0.6 0} + } + } + } + + icon = { + visible = "[SchemeType.IsPersonal]" + parentanchor = right + position = { 1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_personal.dds" + mirror = horizontal + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 6 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 5 + + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + } + + # Stained glass header theme - Political + icon = { + visible = "[SchemeType.IsPolitical]" + parentanchor = left + position = { -1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_political.dds" + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 2 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 9 + + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = {0.6 0} + } + } + } + + icon = { + visible = "[SchemeType.IsPolitical]" + parentanchor = right + position = { 1 8 } + size = { 128 43 } + texture = "gfx/interface/window_scheme/scheme_header_theme_political.dds" + mirror = horizontal + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_short.dds" + blend_mode = alphaMultiply + mirror = horizontal + } + + # Shimmer animation + modify_texture = { + name = overlay + texture = "gfx/interface/component_effects/effect_blue_shine.dds" + blend_mode = colordodge + translate_uv = { 0.6 0 } + } + + state = { + name = right + next = left + + duration = 2 + delay = 6 + bezier = { .8 .18 .96 .05 } + + modify_texture = { + name = overlay + translate_uv = { 0.6 0 } + } + } + + state = { + name = left + next = right + + duration = 0.0 + delay = 5 + + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + + state = { + trigger_on_create = yes + name = start + next = right + + duration = 0.0 + + modify_texture = { + name = overlay + translate_uv = { -0.6 0 } + } + } + } + } + + buttons_window_control = { + parentanchor = top|right + position = { 0 6 } + + background = { + using = Background_Area_ExtraDark + margin = { -5 -5 } + } + } + + widget = { + name = "scheme_header_text" + parentanchor = top|hcenter + position = { 0 11 } + size = { 676 38 } + + text_single = { + parentanchor = hcenter|vcenter + text = "SCHEME_PREDICTION_NAME" + default_format = "#high;glow_color:{0,0,0,1}" + using = Font_Size_Big + using = Font_Type_Flavor + align = nobaseline + + background = { + using = Background_Area_Dark + margin = { 70 6 } + alpha = 0.8 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphaMultiply + } + } + } + } + + header_text = { + name = "header_text" + parentanchor = bottom|hcenter + position = { 0 -15 } + default_format = "#high;glow_color:{0,0,0,1}" + using = Font_Size_Medium + align = nobaseline + + background = { + using = Background_Area_Dark + margin = { 40 6 } + alpha = 0.8 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphaMultiply + } + } + } +} + +######################################## +type change_revert_buttons = vbox { + button_round = { + name = "change" + alwaystransparent = no + + tooltip = "CHANGE_CHARACTER" + using = tooltip_below + + block "size" {} + + block "ReplaceVisible" + { + visible = yes + } + + button_replace = { + parentanchor = center + + block "size_icon" {} + + block "ReplaceClick" + { + onclick = [CharacterInteractionConfirmationWindow.OnChangeOrRevertActorCharacter] +} +} +} + +button_round = { + name = "revert" + alwaystransparent = no + tooltip = "CANCEL" + using = tooltip_below + + block "size" {} + + button_cancel = { + parentanchor = center + + block "size_icon" {} + + block "RevertClick" + { + # onclick = ? + } + } + + block "RevertVisible" + { + visible = yes + } +} +} + +type dynamicgridbox_interaction_list = dynamicgridbox { + name = "interaction_list" + + item = { + container = { + name = "interaction_widget" + ignoreinvisible = yes + + button_standard_hover = { + name = "interaction_button" + visible = "[Not(InteractionItem.IsMarriageSetting)]" + enabled = "[InteractionItem.IsValid]" + onclick = "[InteractionItem.OnClick]" + + disableframe = 8 + blockoverride "disabled" {} + size = { 317 30 } + + tooltip = "[InteractionItem.GetTooltip]" + using = tooltip_es + + hbox = { + margin = { 10 0 } + spacing = 5 + + background = { + name = "interaction_glow" + visible = "[InteractionItem.IsHighlighted]" + texture = "gfx/interface/component_tiles/tile_selected.dds" + spriteType = corneredtiled + spriteborder = { 25 25 } + } + + icon = { + visible = "[InteractionItem.IsCharacterInteraction]" + name = "interaction_icon" + size = { 30 30 } + texture = "[InteractionItem.GetCharacterInteraction.GetIcon( CharacterInteractionMenuWindow.GetCharacter.Self )]" + } + + text_single = { + layoutpolicy_horizontal = expanding + alwaystransparent = yes + raw_text = "[Select_CString( InteractionItem.IsValid, '#clickable', '#weak' )] [InteractionItem.GetName]#!" + align = nobaseline + autoresize = no + } + + hbox = { + icon = { + size = { 30 30 } + name = "extra_icon" + texture = "[InteractionItem.GetExtraIcon]" + visible = "[InteractionItem.ShouldUseExtraIcon]" + } + + icon = { + name = "dont_accept" + visible = "[And(Not(InteractionItem.IsMore),Not(InteractionItem.IsPotentialAccept))]" + size = { 30 30 } + texture = "gfx/interface/icons/symbols/icon_cross.dds" + } + + warning_icon = { + name = "warning_icon" + size = { 25 25 } + visible = "[InteractionItem.HasWarningIcon]" + tooltip = "[InteractionItem.GetWarningTooltipDesc]" + } + } + } + } + + button_standard_hover = { + visible = "[InteractionItem.IsMarriageSetting]" + tooltip = "[InteractionItem.GetCheckboxTooltip]" + onclick = "[InteractionItem.OnClickCheckbox]" + size = { 317 30 } + + hbox = { + margin_left = 10 + + button_checkbox_label = { + alwaystransparent = yes + name = "button" + size = { 30 30 } + enabled = "[InteractionItem.CheckboxEnabled]" + blockoverride "checkbox" + { + alwaystransparent = yes + checked = "[EqualTo_int32(InteractionItem.GetCheckboxFrame, '(int32)2')]" + } + blockoverride "text" + { + text = "CHARACTER_INTERACTION_ALLOWED_TO_MARRY" + } + } + expand = {} + } + } + } + } +} + +type flowcontainer_category_group = flowcontainer { + visible = "[InteractionCategoryItem.IsVisible]" + direction = vertical + + flowcontainer = { + direction = vertical + margin = { 10 3 } + + background = { + # Debug background + visible = "[InteractionCategoryItem.GetCharacterInteractionCategory.HasBackground]" + texture = "[InteractionCategoryItem.GetCharacterInteractionCategory.GetBackground]" + } + + background = { + using = Background_Area + alpha = 0.6 + } + + flowcontainer = { + name = "category_gridbox_container" + ignoreinvisible = yes + maximumsize = { 320 30 } + spacing = 5 + + icon = { + size = { 30 30 } + texture = "[InteractionCategoryItem.GetCharacterInteractionCategory.GetIcon]" + visible = "[InteractionCategoryItem.GetCharacterInteractionCategory.HasIcon]" + } + + text_single = { + name = "category_name" + text = "[InteractionCategoryItem.GetName]" + default_format = "#italic" + fontcolor = { 1 1 1 0.5 } + } + } + + spacer = { + size = { 0 5 } + } + + container = { + dynamicgridbox_interaction_list = { + datamodel = "[InteractionCategoryItem.GetInteractions]" + } + } + } +} + +## banner for character name and portrait +type banner_with_portrait = vbox { + name = "header_with_divider" + layoutpolicy_horizontal = expanding + spacing = 5 + margin = { 0 5 } + + background = { + using = Background_Area_Dark + alpha = 0.7 + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + text_multi = { + name = "header_with_divider_text" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 10 5 } + + autoresize = yes + align = bottom|left + max_width = 300 + + block "banner_with_portrait_text" { + raw_text = "#D Text#!" + } + } + + block "portrait" {} + } +} +} + +### CHARACTER LIST +types InteractionCharacterList +{ + type vbox_interaction_character_list = vbox { + name = "character_list" + visible = "[Not(CharacterInteractionConfirmationWindow.HasPickedCharacters)]" + + vbox = { + layoutpolicy_horizontal = expanding + + text_single = { + name = "select_someone_label" + text = "[CharacterInteractionConfirmationWindow.GetPrompt]" + default_format = "#I" + margin = { 0 5 } + } + } + + ### List + vbox_character_list = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + blockoverride "special_character" + { + vbox = { + datacontext = "[CharacterInteractionConfirmationWindow.GetTopCharacterItem]" + visible = "[CharacterInteractionConfirmationWindow.HasTopCharacterItem]" + layoutpolicy_horizontal = expanding + margin_left = 15 + margin_right = 20 + + widget_character_list_item = { + layoutpolicy_horizontal = expanding + } + } + } + + blockoverride "bottom_right_box" + { + hbox = { + # Candidate Score + widget = { + visible = "[CharacterInteractionConfirmationWindow.HasSelectedCandidateScoreSortOption]" + size = { 63 30 } + + text_single = { + text = "[CharacterInteractionConfirmationWindow.GetCandidateScore( CharacterListItem.Self )|V0]" + + parentanchor = right|vcenter + align = nobaseline + + background = { + margin_left = 30 + margin_right = 30 + + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + } + } + } + + icon_flat_standard_gold = { + parentanchor = vcenter + size = { 30 30 } + texture = "gfx/interface/icons/flat_icons/election_vote_strength.dds" + } + + tooltipwidget = { + widget_value_breakdown_tooltip = { + block "score_breakdown" { + datacontext = "[CharacterInteractionConfirmationWindow.GetCandidateScoreBreakdown( CharacterListItem.Self )]" + } + } + } + } + + # Governor Efficiency + widget = { + visible = "[CharacterInteractionConfirmationWindow.HasSelectedGovernorEfficiencySortOption]" + size = { 65 30 } + + tooltip = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_TT" + + text_single = { + name = "char_governor_efficiency_value" + text = "ADMIN_WINDOW_THEME_GOVERNOR_EFFICIENCY_VALUE" + + parentanchor = right|vcenter + align = nobaseline + + background = { + margin_left = 30 + margin_right = 30 + + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_thick.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + } + } + } + + icon = { + size = { 30 30 } + texture = "gfx/interface/icons/icon_skill_governor_efficiency.dds" + } + } + + # Acceptance + hbox = { + visible = "[Not( CharacterInteractionConfirmationWindow.IsForcedToAccept )]" + + margin_left = 15 + + ### Will Accept ### + icon = { + visible = "[GreaterThan_CFixedPoint( CharacterInteractionConfirmationWindow.GetAcceptanceValue( CharacterListItem.Self ), '(CFixedPoint)0' )]" + size = { 30 30 } + + texture = "gfx/interface/icons/symbols/icon_check.dds" + + value = "[CharacterInteractionConfirmationWindow.GetAnswerScore]" + tooltip = "[CharacterInteractionConfirmationWindow.GetAcceptanceBreakdown( CharacterListItem.Self )]" + } + + ### Will Not Accept ### + icon = { + visible = "[LessThanOrEqualTo_CFixedPoint( CharacterInteractionConfirmationWindow.GetAcceptanceValue( CharacterListItem.Self ), '(CFixedPoint)0' )]" + size = { 30 30 } + + texture = "gfx/interface/icons/symbols/icon_cross.dds" + + value = "[CharacterInteractionConfirmationWindow.GetAnswerScore]" + tooltip = "[CharacterInteractionConfirmationWindow.GetAcceptanceBreakdown( CharacterListItem.Self )]" + } + } + } + } + } +} +} diff --git a/gui/raise_dead_widget.gui b/gui/raise_dead_widget.gui new file mode 100644 index 0000000000..5740653473 --- /dev/null +++ b/gui/raise_dead_widget.gui @@ -0,0 +1,853 @@ +window = { + name = "widget_raise_dead" + position = { 0 10 } + parentanchor = center + allow_outside = yes + layer = top + visible = "[GetVariableSystem.HasValue( 'raise_dead_window', 'yes' )]" + + size = { 750 750 } + using = Window_Background + using = Window_Decoration_Spike + + state = { + name = _show + using = Animation_FadeIn_Standard + using = Sound_WindowShow_Standard + on_start = "[GetScriptedGui( 'open_raise_dead_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + on_start = "[GetVariableSystem.Set( 'raise_dead_view', 'spells_view' )]" + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + on_start = "[GetVariableSystem.Set('character_finder_magic_selection', 'no')]" + } + + vbox = { + using = Window_Margins + + # Headers + header_pattern_interaction = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "RAISE_DEAD_HEADER_TEXT" + } + + blockoverride "button_close" + { + onclick = "[GetVariableSystem.Clear( 'raise_dead_window' )]" + onclick = "[GetVariableSystem.Clear( 'current_raise_dead_type_selected' )]" + onclick = "[GetVariableSystem.Clear( 'supreme_raise_dead' )]" + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui( 'close_raise_dead_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + } + + blockoverride "button_back" + { + visible = "[GetVariableSystem.HasValue( 'raise_dead_view', 'effects_view' )]" + onclick = "[GetVariableSystem.Set( 'raise_dead_view', 'spells_view' )]" + onclick = "[GetScriptedGui( 'close_raise_dead_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetVariableSystem.Clear( 'current_raise_dead_type_selected')]" + tooltip = "RAISE_DEAD_SELECT_TYPE" + } + } + + # Spell Display Box + vbox = { + layoutpolicy_vertical = expanding + visible = "[GetVariableSystem.HasValue( 'raise_dead_view', 'spells_view' )]" + scrollbox = { + size = { 660 650 } + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + texture = "[GetCultureInnovationType('death_magic_bg').GetIcon]" + fittype = centercrop + alpha = 0.2 + framesize = { 600 700 } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle.dds" + blend_mode = alphamultiply + alpha =1 + } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" + blend_mode = alphamultiply + alpha = 1 + } + } + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_margins" { + margin_top = 10 + margin_bottom = 15 + margin_right = 10 + } + blockoverride "scrollbox_content" { + undead_traits_list = { + visible = "[Not(GetVariableSystem.Exists('supreme_raise_dead'))]" + } + undead_traits_list = { + visible = "[GetScriptedGui('can_select_supreme_raise_dead_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + blockoverride "undead_datamodel" { + datamodel = "[GetGlobalList('supreme_raise_dead_types')]" + } + blockoverride "undead_tooltip" { + supreme_undead_type_breakdown_tooltip = {} + } + blockoverride "set_spell" { + onclick = "[GetScriptedGui( 'set_current_spell_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag('supreme_raise_dead')).End))]" + } + } + } + } + } + # Effects Area + vbox = { + visible = "[GetVariableSystem.HasValue( 'raise_dead_view', 'effects_view' )]" + spacing = 15 + + layoutpolicy_vertical = expanding + hbox = { + layoutpolicy_horizontal = expanding + vbox = { # Target portrait view + name = "target_portrait_box" + vbox = { + name = "target_portrait_box_single_title" + visible = "[And(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet, GetScriptedGui('spell_target_is_character_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + + portrait_body_large = { + datacontext = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Char]" + size = { 300 200 } + scale = 0.75 + + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + position = { 0 200 } + } + blockoverride "mask" { + mask = "gfx/portraits/portrait_mask_torso.dds" + } + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + blockoverride "coa" + {} + } + } + } + + vbox = { # For Single Targets only + name = "target_info_box" + visible = "[Not(GetScriptedGui('has_targets_list_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + scrollbox = { + size = { 250 300 } + visible = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet]" + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_background_fade" {} + blockoverride "scrollbox_content" + { + vbox = { + layoutpolicy_vertical = expanding + name = "target_info_box" + vbox = { + spacing = 15 + name = "target_info_box_single_char" + visible = "[And(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet, GetScriptedGui('spell_target_is_character_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + text_single = { + raw_text = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Char.GetShortUIName]" + default_format = "#T" + } + } + } + background = { + using = Background_Area_Dark + alpha = 0.5 + } + } + } + + } + } + + hbox = { + + name = "effects_box" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + vbox = { + name = "effects_on_target" + datacontext = "[GetPlayer.MakeScope.Char]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + using = Background_Area_With_Header + } + + text_single = { + text = "SPELL_EFFECTS" + align = center + layoutpolicy_horizontal = expanding + margin = { 15 4 } + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin_top = 5 + spacing = 5 + margin_left = 6 + + + scrollbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + size = { 650 200 } + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_background_fade" {} + blockoverride "scrollbox_content" + { + layoutpolicy_horizontal = expanding + text_multi = { + max_width = 625 + name = "effects_info" + autoresize = yes + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + text = "[GetScriptedGui( 'spell_tooltip_sgui' ).ExecuteTooltip(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope('tooltip_target', GetPlayer.MakeScope).End)]" + } + } + } + + expand = {} + } + } + } + } + + # Cast Spell Area + hbox = { + margin = { 15 0 } + layoutpolicy_horizontal = expanding + visible = "[GetVariableSystem.HasValue( 'raise_dead_view', 'effects_view' )]" + + hbox = { + + button_normal = { + gfxtype = framedbuttongfx + effectname = "NoHighlight" + upframe = 1 + downframe = 2 + overframe = 1 + disableframe = 1 + + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/bm_867_adventurers.dds" + + modify_texture = { + texture = "gfx/interface/bookmarks/start_buttons/bm_867_carolingians.dds" + alpha = 0.5 + blend_mode = overlay + } + + modify_texture = { + texture = "gfx/interface/colors/red.dds" + alpha = 0.2 + blend_mode = overlay + } + modify_texture = { + texture = "gfx/interface/buttons/button_fancy_overlay.dds" + blend_mode = overlay + } + + modify_texture = { + name = "glow" + texture = "gfx/interface/buttons/button_fancy_glow.dds" + blend_mode = colordodge + alpha = 0 + + spriteborder = { 20 0 } + spritetype = corneredStretched + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_center_shimmer.dds" + blend_mode = mask + } + + modify_texture = { + name = "shimmer" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + modify_texture = { + name = "shimmer_4" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + state = { + trigger_on_create = yes + name = a + next = b + duration = 0 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { -1 0 } + alpha = 0.5 + } + } + + state = { + name = b + next = c + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 180 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = -180 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 0 0 } + alpha = 0.5 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 0 0 } + alpha = 0.1 + } + } + + state = { + name = c + next = a + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 360 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = -360 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { -1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 1 0 } + alpha = 0.5 + } + } + + state = { + name = _mouse_hierarchy_enter + + modify_texture = { + name = "glow" + alpha = 1 + } + } + + state = { + name = _mouse_hierarchy_leave + duration = 0.2 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + + state = { + name = _mouse_press + duration = 0 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + tooltip = "[GetScriptedGui('can_cast_spell_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + enabled = "[GetScriptedGui('can_cast_spell_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui( 'cast_spell_no_triggers_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui( 'set_raise_dead_type_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[OpenCharacterInteraction(GetPlayer.MakeScope.Var('current_secondary_interaction').GetFlagName, GetPlayer)]" + onclick = "[GetVariableSystem.Clear( 'current_raise_dead_type_selected' )]" + + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui( 'close_raise_dead_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetVariableSystem.Clear( 'raise_dead_window' )]" + onclick = "[GetVariableSystem.Clear( 'current_raise_dead_type_selected' )]" + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui( 'close_raise_dead_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + + text_single = { + parentanchor = center + text = "RAISE_DEAD_HEADER_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + icon = { + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/start_frame.dds" + } + } + + } + background = { + using = Background_Area + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + alpha = 0.8 + } + } + } + + + } +} + +types undead_breakdowns { + + type undead_traits_list = dynamicgridbox { + datamodel_wrap = 1 + flipdirection = yes + + block "undead_datamodel" { + datamodel = "[GetGlobalList('raise_dead_types')]" + } + item = { + container = { + button_standard_clean = { + hbox = { + visible = "[GetScriptedGui('can_select_raise_dead_type_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'type', MakeScopeFlag(Scope.GetFlagName)).End)]" + tooltipwidget = { + block "undead_tooltip" { + undead_type_breakdown_tooltip = {} + } + } + } + + position = { 10 10 } + minimumsize = { 600 200 } + background = { + using = Background_Area + } + + # Spell Info + vbox = { + spacer = { size = { 0 5 } } + hbox = { + icon = { + name = "trait_icon" + using = Animation_Glow_Pulse + + block "icon_size" + { + size = { 50 50 } + } + block "glow" + { + + } + + texture = "[GetTrait(Concatenate(Select_CString(EqualTo_string(Scope.GetFlagName, 'undead'), 'being_', 'creature_'), Scope.GetFlagName)).GetIcon(GetPlayer)]" + } + spacer = { size = { 10 0 } } + # Name + text_single = { + visible = "[EqualTo_string(Scope.GetFlagName, 'undead')]" + default_format = "#high" + fontsize = 20 + text = "[Localize(Concatenate('trait_being_', Scope.GetFlagName))]" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.4 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + } + text_single = { + visible = "[Not(EqualTo_string(Scope.GetFlagName, 'undead'))]" + default_format = "#high" + fontsize = 20 + text = "[Localize(Concatenate('trait_creature_', Scope.GetFlagName))]" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.4 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + } + } + divider_light = { + layoutpolicy_horizontal = expanding + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + text_multi = { + visible = "[EqualTo_string(Scope.GetFlagName, 'undead')]" + parentanchor = left + autoresize = yes + max_width = 500 + align = center + fontsize = 14 + text = "[Localize(Concatenate('trait_being_', Concatenate(Scope.GetFlagName, '_desc')))]" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + text_multi = { + visible = "[Not(EqualTo_string(Scope.GetFlagName, 'undead'))]" + parentanchor = left + autoresize = yes + max_width = 500 + align = center + fontsize = 14 + text = "[Localize(Concatenate('trait_creature_', Concatenate(Scope.GetFlagName, '_desc')))]" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + spacer = { size = { 0 20 } } + } + onclick = "[GetVariableSystem.Set( 'current_raise_dead_type_selected', Scope.GetFlagName )]" + down = "[GetVariableSystem.HasValue( 'current_raise_dead_type_selected', Scope.GetFlagName )]" + onclick = "[GetVariableSystem.Set('character_finder_magic_selection', 'no')]" + block "set_spell" { + onclick = "[GetScriptedGui( 'set_current_spell_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag('raise_dead')).End))]" + } + onclick = "[GetScriptedGui( 'set_current_raise_dead_type_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'type', MakeScopeFlag(Scope.GetFlagName)).End))]" + enabled = "[GetScriptedGui('can_select_raise_dead_type_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'type', MakeScopeFlag(Scope.GetFlagName)).End)]" + tooltip = "[GetScriptedGui('can_select_raise_dead_type_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'type', MakeScopeFlag(Scope.GetFlagName)).End)]" + onclick = "[GetVariableSystem.Set( 'raise_dead_view', 'effects_view' )]" + } + } + } + } + + type undead_type_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + + vbox = { + max_width = 400 + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "UNDEAD_TYPE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + using = DefaultTooltipText + max_width = 400 + layoutpolicy_horizontal = expanding + text = "[GetTrait(Concatenate(Select_CString(EqualTo_string(Scope.GetFlagName, 'undead'), 'being_', 'creature_'), Scope.GetFlagName)).GetFullDescription( GetPlayer, GetPlayer.GetFaith )]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RAISE_DEAD_CD_CT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + text_single = { + layoutpolicy_horizontal = expanding + text = "NO_CD_TEXT" + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cooldown_value'), '(CFixedPoint)0')]" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cooldown_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "RAISE_DEAD_CD_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_raise_dead_cooldown_value')]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[Not(EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cast_time_value'), '(CFixedPoint)0'))]" + text = "RAISE_DEAD_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_raise_dead_cast_time_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cast_time_value'), '(CFixedPoint)0')]" + text = "NO_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_raise_dead_cast_time_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "RAISE_DEAD_COST_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_spell_raise_dead_', Scope.GetFlagName), '_mana_cost_value'))]" + } + } + } + } + } + } + + } + + type supreme_undead_type_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + + vbox = { + max_width = 400 + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "UNDEAD_TYPE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + using = DefaultTooltipText + max_width = 400 + layoutpolicy_horizontal = expanding + text = "[GetTrait(Concatenate('creature_', Scope.GetFlagName)).GetFullDescription( GetPlayer, GetPlayer.GetFaith )]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RAISE_DEAD_CD_CT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + text_single = { + layoutpolicy_horizontal = expanding + text = "NO_CD_TEXT" + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cooldown_value'), '(CFixedPoint)0')]" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cooldown_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "SUPREME_RAISE_DEAD_CD_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_supreme_raise_dead_cooldown_value')]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[Not(EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cast_time_value'), '(CFixedPoint)0'))]" + text = "SUPREME_RAISE_DEAD_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_supreme_raise_dead_cast_time_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cast_time_value'), '(CFixedPoint)0')]" + text = "NO_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_supreme_raise_dead_cast_time_value'))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "SUPREME_RAISE_DEAD_COST_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc('wc_spell_supreme_raise_dead_cost_mana_value')]" + } + } + } + } + } + } + + } +} \ No newline at end of file diff --git a/gui/scripted_widgets/wc_widget.txt b/gui/scripted_widgets/wc_widget.txt index 07f1927e06..6587a46570 100644 --- a/gui/scripted_widgets/wc_widget.txt +++ b/gui/scripted_widgets/wc_widget.txt @@ -1,2 +1,6 @@ gui/wc_widget_unions.gui = wc_widget_unions -gui/widget_theramore.gui = widget_theramore \ No newline at end of file +gui/widget_theramore.gui = widget_theramore +gui/spellbook_widget.gui = widget_spellbook +gui/spellbook_widget.gui = province_selection_window +gui/spellbook_widget.gui = wc_widget_magic +gui/raise_dead_widget.gui = widget_raise_dead \ No newline at end of file diff --git a/gui/shared/lists.gui b/gui/shared/lists.gui index 6578c75b60..26f3df33e9 100644 --- a/gui/shared/lists.gui +++ b/gui/shared/lists.gui @@ -423,11 +423,12 @@ types Lists } } + + type widget_character_list_item_finder = widget { datacontext = "[CharacterListItem.GetCharacter]" size = { 200 94 } - #background = { # visible = "[CharacterListItem.HasEvenOrderIndex]" # using = Background_Area_Dark @@ -441,10 +442,12 @@ types Lists block "widget" {} hbox = { - margin_right = 15 + + vbox = { + portrait_head_small = {} - + expand = {} } @@ -455,6 +458,7 @@ types Lists layoutpolicy_vertical = expanding margin_top = 5 + vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding @@ -528,12 +532,11 @@ types Lists # Skills hbox_skills_grid = {} } - + ### BOTTOM ROW ### hbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding - vbox = { layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding @@ -619,7 +622,7 @@ types Lists datacontext = "[CharacterListItem.GetCharacter]" layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding - + block "bottom_right_box" { hbox = { @@ -635,9 +638,10 @@ types Lists layoutpolicy_horizontal = expanding layoutpolicy_vertical = expanding margin_left = 8 - margin_right = 4 + margin_right = 8 spacing = 5 - minimumsize = { 110 0 } + #Warcraft + minimumsize = { 175 0 } background = { using = Background_Area_Dark @@ -683,6 +687,8 @@ types Lists } } } + + } } } diff --git a/gui/shared/wc_elemental_progressbars.gui b/gui/shared/wc_elemental_progressbars.gui new file mode 100644 index 0000000000..5a319e04e8 --- /dev/null +++ b/gui/shared/wc_elemental_progressbars.gui @@ -0,0 +1,259 @@ +types ElementalProgressBars { + type elementalprogressbar = widget { + # Size's x-value needs to match the last parameter for GetProgressBarValueMaxScaled and GetProgressBarValueMaxOtherScaled + size = { 350 25 } + + widget = { + size = { 100% 100% } + scissor = yes + + hbox = { + datacontext = "[GetPlayer.MakeScope]" + + widget = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + block "layoutstretchfactor_horizontal_progressbarvaluemaxscaled" { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_fire_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + + #### LEFT #### + icon = { + size = { 100% 100% } + block "spiritprogressbartexture" { + texture = "gfx/interface/progressbars/war_progress_blocked.dds" + } + + spriteType = Corneredtiled + texture_density = 2 + + modify_texture = { + name = overlay + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_solid.dds" + blend_mode = mask + } + + modify_texture = { + name = "flash" + texture = "gfx/interface/colors/gold.dds" + alpha = 0 + } + + state = { + trigger_on_create = yes + name = "ghw_bar_flash" + next = a + duration = 0.0 + delay = 0.1 + using = Animation_Curve_Default + + modify_texture = { + name = overlay + translate_uv = { 1 0 } + } + + modify_texture = { + name = "flash" + alpha = 0.1 + } + } + + state = { + name = a + duration = 0.75 + bezier = { 0.5 0.1 1 1} + using = Animation_Curve_Default + + modify_texture = { + name = overlay + translate_uv = { -1 0 } + } + + modify_texture = { + name = "flash" + alpha = 0.4 + } + } + } + + icon = { + using = Animation_ShowHide_Standard + parentanchor = right|vcenter + position = { 20 0 } + + size = { 80 100% } + texture = "gfx/interface/progressbars/progressbar_center_glow.dds" + + state = { + name = a + next = b + trigger_on_create = yes + duration = 0.1 + alpha = 1 + } + + state = { + name = b + next = a + duration = 0.2 + alpha = 0.9 + } + } + + icon = { + using = Animation_ShowHide_Standard + parentanchor = right|vcenter + position = { 5 0 } + + size = { 20 100% } + texture = "gfx/interface/progressbars/progressbar_center_glow.dds" + + state = { + name = a + next = b + trigger_on_create = yes + duration = 0.1 + alpha = 1 + } + + state = { + name = b + next = a + duration = 0.2 + alpha = 0.9 + } + } + } + + #### RIGHT #### + widget = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + block "layoutstretchfactor_horizontal_progressbarvaluemaxotherscaled" { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_fire_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + + icon = { + size = { 100% 100% } + block "decayprogressbartexture" { + texture = "gfx/interface/progressbars/war_progress_noprogress.dds" + } + spriteType = Corneredtiled + + modify_texture = { + name = overlay + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle_solid.dds" + blend_mode = mask + } + + modify_texture = { + name = "flash" + texture = "gfx/interface/colors/gold.dds" + alpha = 0 + } + + state = { + trigger_on_create = yes + name = start + next = a + delay = 0.1 + duration = 0.0 + using = Animation_Curve_Default + + modify_texture = { + name = overlay + translate_uv = { -1 0 } + } + + modify_texture = { + name = "flash" + alpha = 0.1 + } + } + + state = { + name = a + duration = 0.75 + bezier = { 0.5 0.1 1 1} + using = Animation_Curve_Default + + modify_texture = { + name = overlay + translate_uv = { 1 0 } + } + + modify_texture = { + name = "flash" + alpha = 0.4 + } + } + } + + icon = { + using = Animation_ShowHide_Standard + parentanchor = left|vcenter + position = { -20 0 } + mirror = horizontal + size = { 80 100% } + texture = "gfx/interface/progressbars/progressbar_center_glow.dds" + + state = { + name = a + next = b + trigger_on_create = yes + duration = 0.1 + alpha = 1 + } + + state = { + name = b + next = a + duration = 0.2 + alpha = 0.9 + } + } + + icon = { + using = Animation_ShowHide_Standard + parentanchor = left|vcenter + position = { -5 0 } + mirror = horizontal + size = { 20 100% } + texture = "gfx/interface/progressbars/progressbar_center_glow.dds" + + state = { + name = a + next = b + trigger_on_create = yes + duration = 0.1 + alpha = 1 + } + + state = { + name = b + next = a + duration = 0.2 + alpha = 0.9 + } + } + + } + } + } + + widget = { + name = "power_bar_frame" + parentanchor = top + size = { 100% 100% } + alwaystransparent = yes + + background = { + texture = "gfx/interface/progressbars/progress_frame_war.dds" + spriteType = Corneredstretched + spriteborder = { 10 10 } + margin = { 5 4 } + } + } + + } +} \ No newline at end of file diff --git a/gui/shared/wc_mana.gui b/gui/shared/wc_mana.gui new file mode 100644 index 0000000000..6e9282aa84 --- /dev/null +++ b/gui/shared/wc_mana.gui @@ -0,0 +1,632 @@ +types ProgressBars { + type wc_progressbar_current_mana = progressbar { + size = { 25 25 } + direction = vertical + value = 50 + progresstexture = "gfx/interface/icons/currencies/icon_full_mana_crystal.dds" + noprogresstexture = "gfx/interface/icons/currencies/icon_empty_mana_crystal.dds" + } +} +types Breakdowns { + type widget_mana_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + + vbox = { + layoutpolicy_horizontal = expanding + set_parent_size_to_minimum = yes + restrictparent_min = yes + minimumsize = { 280 0 } + + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MANA_BREAKDOWN_HEADER_LINE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MANA_BREAKDOWN_REGENERATION_LINE" + tooltip = "[Scope.GetScriptValueDesc('wc_mana_regeneration_value')]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MANA_MODIFIERS_HEADER_LINE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MANA_PLAYER_BREAKDOWN_PROWESS_LINE" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + # margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MAX_MANA_BREAKDOWN_HEADER_LINE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Scope.GetScriptValueDesc('wc_max_mana_value')]" + } + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + + divider_light = { layoutpolicy_horizontal = expanding } + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_MANA_BREAKDOWN_PERCENTAGE_LINE" + } + hbox = { + layoutpolicy_horizontal = expanding + margin_left = -3 + + progressbar_standard = { + layoutpolicy_horizontal = expanding + size = { -1 15 } + value = "[FixedPointToProgressbarValue(Scope.ScriptValue('wc_current_mana_percent_value'))]" + } + } + } + } + } + type known_spells_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + vbox = { + max_width = 200 + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 20 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "KNOWN_SPELLS_TEXT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'known_spells' )]" + item = { + text_single = { + margin_bottom = 5 + layoutpolicy_horizontal = expanding + text = "SPELL_IN_LIST_TEXT" + tooltipwidget = { + widget_spell_breakdown_tooltip = {} + } + } + } + } + } + } + } + } + type widget_spell_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + + vbox = { + max_width = 400 + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_TYPE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Localize(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_type')))]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + margin_bottom = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_TARGETS" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Localize(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_targets')))]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_EFFECTS" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_multi = { + parentanchor = left + autoresize = yes + max_width = 400 + layoutpolicy_horizontal = expanding + text = "[Localize(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_effects')))]" + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_CD_CT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + text_single = { + layoutpolicy_horizontal = expanding + text = "NO_CD_TEXT" + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cooldown_value'))), '(CFixedPoint)0')]" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cooldown_value')))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_CD_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cooldown_value')))]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[Not(EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cast_time_value'))), '(CFixedPoint)0'))]" + text = "SPELL_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cast_time_value')))]" + } + text_single = { + layoutpolicy_horizontal = expanding + visible = "[EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cast_time_value'))), '(CFixedPoint)0')]" + text = "NO_CT_TEXT" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_cast_time_value')))]" + } + text_single = { + layoutpolicy_horizontal = expanding + text = "SPELL_DUR_TEXT" + visible = "[Not(EqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_duration_days_value'))), '(CFixedPoint)0'))]" + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_',Concatenate(Scope.GetFlagName, '_duration_days_value')))]" + } + } + } + } + } + } + + } + type widget_hp_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + vbox = { + layoutpolicy_horizontal = expanding + set_parent_size_to_minimum = yes + restrictparent_min = yes + minimumsize = { 280 0 } + + margin = { 20 10 } + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + margin_bottom = 10 + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_HP_BREAKDOWN_HEADER_LINE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + } + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_HP_BREAKDOWN_REGENERATION_LINE" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + align = left + text = "[Scope.GetScriptValueDesc('wc_hp_replenishment_value')]" + } + } + } + + vbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + margin_bottom = 10 + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_HP_BREAKDOWN_BASE_LINE" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + text_single = { + text = "[Character.GetHealthInfo]" + } + } + divider_light = { layoutpolicy_horizontal = expanding } + text_single = { + layoutpolicy_horizontal = expanding + text = "RESOURCES_HP_BREAKDOWN_PERCENTAGE_LINE" + } + hbox = { + layoutpolicy_horizontal = expanding + margin_left = -3 + + progressbar_standard = { + layoutpolicy_horizontal = expanding + size = { -1 15 } + value = "[FixedPointToProgressbarValue(Scope.ScriptValue('wc_current_hp_percent_value'))]" + } + } + } + } + } + } + type widget_mp_breakdown_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + + using = DefaultTooltipBackground + vbox = { + layoutpolicy_horizontal = expanding + set_parent_size_to_minimum = yes + restrictparent_min = yes + minimumsize = { 280 0 } + + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + text_single = { + layoutpolicy_horizontal = expanding + text = "MAGICAL_PROWESS_TEXT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + spacing = 10 + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "[Scope.GetScriptValueDesc('wc_mp_value')]" + } + } + text_single = { + layoutpolicy_horizontal = expanding + text = "MAGICAL_PROWESS_EFFECT" + } + } + } + } + } + } + type widget_current_spell_casting_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + using = DefaultTooltipBackground + + vbox = { + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "CASTING_TEXT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "REMAINING_CT_TEXT" + } + + + } + } + } + + + } + } + } + type widget_current_spell_cd_tooltip = widget { + size = { 50 50 } + alwaystransparent = no + using = DefaultTooltipBackground + + vbox = { + layoutpolicy_horizontal = expanding + restrictparent_min = yes + margin = { 15 10 } + spacing = 20 + + vbox = { + layoutpolicy_horizontal = expanding + alwaystransparent = no + + vbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + spacing = 5 + + text_single = { + layoutpolicy_horizontal = expanding + text = "CD_TEXT" + default_format = "#T" + + background = { + using = Background_Area + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + + text_single = { + layoutpolicy_horizontal = expanding + text = "REMAINING_CD_TEXT" + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/gui/spellbook_widget.gui b/gui/spellbook_widget.gui new file mode 100644 index 0000000000..160fe7ffe7 --- /dev/null +++ b/gui/spellbook_widget.gui @@ -0,0 +1,3480 @@ +window = { + name = "widget_spellbook" + position = { 0 10 } + parentanchor = center + allow_outside = yes + layer = top + visible = "[GetVariableSystem.HasValue( 'spellbook_window', 'yes' )]" + + size = { 750 1060 } + using = Window_Background + using = Window_Decoration_Spike + + state = { + name = _show + using = Animation_FadeIn_Standard + using = Sound_WindowShow_Standard + on_start = "[GetScriptedGui( 'open_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + on_start = "[GetVariableSystem.Set( 'spellbook_view', 'classes_view' )]" + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + on_start = "[GetVariableSystem.Set('character_finder_magic_selection', 'no')]" + } + + vbox = { + using = Window_Margins + + # Headers + header_pattern_interaction = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "SPELLBOOK_HEADER_TEXT" + } + + blockoverride "button_close" + { + onclick = "[GetVariableSystem.Clear( 'spellbook_window' )]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + onclick = "[GetVariableSystem.Clear( 'current_spell_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_magic_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_rank' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_class' )]" + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + margin_bottom = 10 + # Caster portrait + vbox = { + layoutpolicy_horizontal = expanding + portrait_body = { + name = "left_background_portrait" + datacontext = "[GetPlayer.MakeScope.Char]" + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + } + visible = "[Character.IsValid]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + blockoverride "coa" + {} + } + text_label_center = { + text = "CASTER_TEXT" + align = center + } + } + # Single target portrait (Character) + vbox = { + layoutpolicy_horizontal = expanding + visible = "[And(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet, GetScriptedGui('spell_target_is_character_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + portrait_body = { + name = "right_background_portrait" + datacontext = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Char]" + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + } + visible = "[Character.IsValid]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + blockoverride "coa" + {} + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + text_label_center = { + text = "TARGET_TEXT" + align = center + } + } + # Single target info (Title) + hbox = { + layoutpolicy_horizontal = expanding + spacing = 15 + name = "target_info_box_single_title" + datacontext = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title]" + visible = "[And(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet, GetScriptedGui('spell_target_is_province_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + vbox = { + margin = { 20 20 } + background = { + using = Background_Area_Dark + } + spacing = 15 + vbox = { + coa_title_small = { } + layoutpolicy_horizontal = expanding + + text_single = { + default_format = "#T" + align = center + raw_text = "[Title.GetName]" + } + } + + vbox = { + spacing = 5 + datacontext = "[Title.GetHolder]" + vbox = { + spacing = 5 + text_single = { + layoutpolicy_horizontal = expanding + default_format = "#T" + align = center + raw_text = "[Character.GetShortUIName]" + } + + text_single = { + name = "your_county" + visible = "[ObjectsEqual( Character.Self, GetPlayer )]" + layoutpolicy_horizontal = expanding + text = "HOLDING_VIEW_YOUR_COUNTY" + margin_left = 2 + margin_bottom = 4 + using = Font_Size_Small + } + + text_single = { + name = "top_realm_county" + visible = "[Character.IsOtherLiegeOrAbove( GetPlayer )]" + layoutpolicy_horizontal = expanding + text = "HOLDING_VIEW_TOP_REALM_COUNTY" + margin_left = 5 + margin_bottom = 4 + using = Font_Size_Small + } + + text_single = { + name = "foreign_county" + visible = "[Not(Or(ObjectsEqual( Character.Self, GetPlayer ),Character.IsOtherLiegeOrAbove( GetPlayer )))]" + layoutpolicy_horizontal = expanding + text = "MAGIC_VIEW_FOREIGN_COUNTY" + margin_left = 5 + margin_bottom = 4 + using = Font_Size_Small + } + } + } + + vbox = { + name = "county_stats" + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + datacontext = "[Title.GetProvince.GetCounty]" + + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[control|E]:" + } + + text_single = { + raw_text = "[County.GetControlLevel]" + default_format = "#high" + + background = { + visible = "[LessThan_CFixedPoint(County.GetControl, '(CFixedPoint)100')]" + margin = { 5 0 } + using = Status_Bad + } + + tooltipwidget = { + county_control_tooltip_container = {} + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + datacontext = "[Title.GetProvince.GetCounty]" + visible = "[County.GetCount.GetGovernment.IsAffectedByDevelopment]" + + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[development|E]:" + } + + text_single = { + raw_text = "[County.GetDevelopmentLevel]" + default_format = "#high" + + tooltipwidget = { + county_development_tooltip_container = {} + } + } + + } + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + text = "HOLDER_MR_TEXT" + layoutpolicy_horizontal = expanding + default_format = "#clickable" + } + + text_single = { + default_format = "#high" + raw_text = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title.GetHolder.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + tooltip = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title.GetHolder.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + } + } + + } + + } + } + # Single target info (Army) + vbox = { + spacing = 15 + name = "target_info_box_single_army" + layoutpolicy_horizontal = expanding + + visible = "[And(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet, GetScriptedGui('spell_target_is_army_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + datacontext = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Army]" + vbox = { + margin = { 20 20 } + background = { + using = Background_Area_Dark + } + vbox = { + spacing = 5 + soldiers_and_quality_small = { + datacontext = "[Army.GetComposition]" + } + text_single = { + name = "army_name" + raw_text = "[Army.GetName]" + layoutpolicy_horizontal = expanding + default_format = "#high" + using = Font_Size_Medium + align = center + } + } + vbox = { + spacing = 5 + layoutpolicy_horizontal = expanding + datacontext = "[Army.GetCommander]" + text_single = { + default_format = "#V" + raw_text = "[Character.GetShortUIName]" + } + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + layoutpolicy_horizontal = expanding + text = "COMMANDER_ADVANTAGE_TEXT" + } + text_single = { + default_format = "#clickable" + tooltip = "[Character.GetCommanderAdvantageDesc]" + raw_text = "[Character.GetCommanderAdvantage]" + } + } + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + layoutpolicy_horizontal = expanding + text = "COMMANDER_MR_LABEL" + } + text_single = { + default_format = "#clickable" + tooltip = "[Army.GetCommander.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + raw_text = "[Army.GetCommander.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + } + } + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[prowess|E]:" + } + text_single = { + default_format = "#clickable" + tooltip = "[Character.GetProwessBreakdown]" + raw_text = "[Character.GetProwess]" + } + } + hbox = { + margin_top = 10 + button_standard = { + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHANGE_ARMY_TEXT" + visible = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet]" + } + onclick = "[GetScriptedGui( 'create_armies_list_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + } + } + } + } + # Multi target info (Character) + scrollbox = { + visible = "[And(GetScriptedGui( 'player_has_targets_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End), GetScriptedGui('spell_target_is_character_list_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + size = { 450 300 } + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + scrollbarpolicy_horizontal = as_needed + scrollbar_horizontal = { + using = Scrollbar_Horizontal + } + blockoverride "scrollbox_margins" {} + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_background_fade" {} + blockoverride "scrollbox_content" + { + vbox = { + name = "target_portrait_box_multi_char" + layoutpolicy_horizontal = expanding + spacing = 10 + hbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'spell_targets_list' )]" + layoutpolicy_horizontal = expanding + item = { + portrait_body = { + datacontext = "[Scope.GetCharacter]" + name = "right_background_portrait" + blockoverride "portrait_texture" { + portrait_texture = "[Character.GetAnimatedPortrait('environment_body', 'camera_lifestyles', 'idle', PdxGetWidgetScreenSize(PdxGuiWidget.Self))]" + } + visible = "[Character.IsValid]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + blockoverride "coa" + {} + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + text_label_center = { + text = "TARGET_TEXT" + align = center + } + } + } + } + } + } + # Multi target info (Title) + scrollbox = { + visible = "[And(GetScriptedGui( 'player_has_targets_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End), GetScriptedGui('spell_target_is_province_list_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + size = { 450 300 } + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + scrollbarpolicy_horizontal = as_needed + scrollbar_horizontal = { + using = Scrollbar_Horizontal + } + blockoverride "scrollbox_margins" {} + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_background_fade" {} + blockoverride "scrollbox_content" + { + vbox = { + name = "target_portrait_box_multi_title" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + hbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'spell_targets_list' )]" + layoutpolicy_horizontal = expanding + + item = { + datacontext = "[Scope.Title]" + vbox = { + margin = { 20 20 } + background = { + using = Background_Area_Dark + } + spacing = 5 + vbox = { + coa_title_small = { + datacontext = "[Scope.Title]" + } + layoutpolicy_horizontal = expanding + + text_single = { + default_format = "#T" + align = center + raw_text = "[Scope.Title.GetName]" + } + } + + vbox = { + spacing = 5 + datacontext = "[Scope.Title.GetHolder]" + vbox = { + spacing = 5 + text_single = { + layoutpolicy_horizontal = expanding + default_format = "#T" + align = center + raw_text = "[Character.GetShortUIName]" + } + + text_single = { + name = "your_county" + visible = "[ObjectsEqual( Character.Self, GetPlayer )]" + layoutpolicy_horizontal = expanding + text = "HOLDING_VIEW_YOUR_COUNTY" + margin_left = 2 + margin_bottom = 4 + using = Font_Size_Small + } + + text_single = { + name = "top_realm_county" + visible = "[Character.IsOtherLiegeOrAbove( GetPlayer )]" + layoutpolicy_horizontal = expanding + text = "HOLDING_VIEW_TOP_REALM_COUNTY" + margin_left = 5 + margin_bottom = 4 + using = Font_Size_Small + } + + text_single = { + name = "foreign_county" + visible = "[Not(Or(ObjectsEqual( Character.Self, GetPlayer ),Character.IsOtherLiegeOrAbove( GetPlayer )))]" + layoutpolicy_horizontal = expanding + text = "MAGIC_VIEW_FOREIGN_COUNTY" + margin_left = 5 + margin_bottom = 4 + using = Font_Size_Small + } + } + } + + vbox = { + name = "county_stats" + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + datacontext = "[Scope.Title.GetProvince.GetCounty]" + + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[control|E]:" + } + + text_single = { + raw_text = "[County.GetControlLevel]" + default_format = "#high" + + background = { + visible = "[LessThan_CFixedPoint(County.GetControl, '(CFixedPoint)100')]" + margin = { 5 0 } + using = Status_Bad + } + + tooltipwidget = { + county_control_tooltip_container = {} + } + } + } + + hbox = { + layoutpolicy_horizontal = expanding + datacontext = "[Scope.Title.GetProvince.GetCounty]" + visible = "[County.GetCount.GetGovernment.IsAffectedByDevelopment]" + + text_single = { + layoutpolicy_horizontal = expanding + raw_text = "[development|E]:" + } + + text_single = { + raw_text = "[County.GetDevelopmentLevel]" + default_format = "#high" + + tooltipwidget = { + county_development_tooltip_container = {} + } + } + + } + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + text = "HOLDER_MR_TEXT" + layoutpolicy_horizontal = expanding + default_format = "#clickable" + } + + text_single = { + default_format = "#high" + raw_text = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title.GetHolder.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + tooltip = "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title.GetHolder.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + } + } + + } + } + } + } + } + } + } + background = { + alpha = 0.7 + fittype = centercrop + + using = Mask_Rough_Edges + + block "bg_illustration" + { + texture = "gfx/interface/illustrations/event_scenes/sittingroom.dds" + } + } + } + + vbox = { + hbox = { + name = "effects_box" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + vbox = { + name = "effects_on_target" + datacontext = "[GetPlayer.MakeScope.Char]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + using = Background_Area_With_Header + } + + text_single = { + text = "SPELL_EFFECTS" + align = center + layoutpolicy_horizontal = expanding + margin = { 15 4 } + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + margin_top = 5 + spacing = 5 + margin_left = 6 + + + scrollbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + size = { 650 150 } + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_background_fade" {} + blockoverride "scrollbox_content" + { + layoutpolicy_horizontal = expanding + text_multi = { + max_width = 625 + name = "effects_info" + autoresize = yes + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + text = "[GetScriptedGui( 'spell_tooltip_sgui' ).ExecuteTooltip(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope('tooltip_target', GetPlayer.MakeScope).End)]" + } + } + } + + expand = {} + } + } + } + } + + # Some info + vbox = { + layoutpolicy_horizontal = expanding + margin = { 15 0 } + spacing = 10 + visible = "[GetVariableSystem.HasValue( 'spellbook_view', 'spells_view' )]" + + vbox = { + text_single = { + align = center + visible = "[PlayerHasVar('wc_spell_hack_activated')]" + text = SPELLBOOK_HEADER_TEXT_SPELLHACK + default_format = "#italic" + } + text_single = { + align = center + visible = "[PlayerHasVar('wc_presence_of_mind_activated')]" + text = SPELLBOOK_HEADER_TEXT_PRESENCE_OF_MIND + default_format = "#italic" + } + text_single = { + align = center + visible = "[PlayerHasVar('wc_reverse_causality_activated')]" + text = SPELLBOOK_HEADER_TEXT_REVERSE_CAUSALITY + default_format = "#italic" + } + } + } + + # Tabs + hbox = { + margin_left = 5 + margin_right = 5 + layoutpolicy_horizontal = expanding + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "classes_button" + text = "CLASSES_BUTTON" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'spellbook_view', 'classes_view' )]" + down = "[GetVariableSystem.HasValue( 'spellbook_view', 'classes_view' )]" + } + } + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "spells_button" + text = "SPELLS_BUTTON" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'spellbook_view', 'spells_view' )]" + down = "[GetVariableSystem.HasValue( 'spellbook_view', 'spells_view' )]" + enabled = "[GetVariableSystem.Exists('current_spell_class')]" + hbox = { + visible = "[Not(GetVariableSystem.Exists('current_spell_class'))]" + tooltip = "CHOOSE_CLASS_TEXT" + } + visible = "[And(And(Not(PlayerHasVar('wc_spell_hack_activated')), Not(PlayerHasVar('wc_presence_of_mind_activated'))), Not(PlayerHasVar('wc_reverse_causality_activated')))]" + } + } + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "targets_button" + text = "SPELL_TARGETS" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'spellbook_view', 'targets_view' )]" + down = "[GetVariableSystem.HasValue( 'spellbook_view', 'targets_view' )]" + enabled = "[PlayerHasVar('current_spell_name')]" + hbox = { + visible = "[Not(PlayerHasVar('current_spell_name'))]" + tooltip = "CHOOSE_SPELL_TEXT" + } + visible = "[And(And(Not(PlayerHasVar('wc_spell_hack_activated')), Not(PlayerHasVar('wc_presence_of_mind_activated'))), Not(PlayerHasVar('wc_reverse_causality_activated')))]" + } + } + } + + # Spell Classes Box + vbox = { + layoutpolicy_vertical = expanding + visible = "[GetVariableSystem.HasValue( 'spellbook_view', 'classes_view' )]" + scrollbox = { + size = { 660 300 } + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + blockoverride "scrollbox_content" { + dynamicgridbox = { + datamodel_wrap = 2 + flipdirection = yes + + datamodel = "[GetGlobalList('spell_types')]" + item = { + container = { + button_standard = { + minimumsize = { 300 45 } + position = { 10 10 } + text = "[Localize(Concatenate(Concatenate('game_concept_wc_', Scope.GetFlagName), '_magic_lifestyle'))]" + vbox = { + background = { + texture = "[GetCultureInnovationType(Concatenate(Scope.GetFlagName, '_magic_bg')).GetIcon]" + fittype = centercrop + alpha = 0.2 + framesize = { 600 700 } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle.dds" + blend_mode = alphamultiply + alpha =1 + } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" + blend_mode = alphamultiply + alpha = 1 + } + } + } + onclick = "[GetScriptedGui( 'update_current_spell_class_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'class', MakeScopeFlag(Scope.GetFlagName)).End))]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + onclick = "[GetVariableSystem.Set( 'current_spell_class', Scope.GetFlagName )]" + down = "[GetVariableSystem.HasValue( 'current_spell_class', Scope.GetFlagName )]" + } + } + } + } + } + } + } + + # Spell Display Box + vbox = { + layoutpolicy_vertical = expanding + visible = "[GetVariableSystem.HasValue( 'spellbook_view', 'spells_view' )]" + scrollbox = { + size = { 660 300 } + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + texture = "[GetCultureInnovationType(Concatenate(PlayerGetVar('current_spell_class').GetFlagName, '_magic_bg')).GetIcon]" + fittype = centercrop + alpha = 0.2 + framesize = { 600 700 } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_middle.dds" + blend_mode = alphamultiply + alpha =1 + } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_vertical_up.dds" + blend_mode = alphamultiply + alpha = 1 + } + } + blockoverride "scrollbox_background" {} + blockoverride "scrollbox_margins" { + margin_top = 10 + margin_bottom = 15 + margin_right = 10 + } + blockoverride "scrollbox_content" { + dynamicgridbox = { + datamodel_wrap = 1 + flipdirection = yes + + datamodel = "[GetGlobalList(Concatenate(PlayerGetVar('current_spell_class').GetFlagName, '_spells'))]" + item = { + container = { + button_standard_clean = { + hbox = { + visible = "[GetScriptedGui('can_select_spell_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + tooltipwidget = { + widget_spell_breakdown_tooltip = {} + } + } + + position = { 10 10 } + minimumsize = { 600 125 } + background = { + using = Background_Area + } + + # Spell Info + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_bottom = 10 + hbox = { + layoutpolicy_horizontal = expanding + spacing = 20 + margin = { 25 5 } + # Name + text_single = { + layoutpolicy_horizontal = expanding + default_format = "#high" + fontsize = 20 + text = "[Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + } + hbox = { + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate('wc_spell_', Concatenate(Scope.GetFlagName, '_cost_mana_value')))]" + spacing = 5 + text_single = { + visible = "[Not(GetScriptedGui( 'spell_is_channeled_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope('spell', MakeScopeFlag(Scope.GetFlagName)).End))]" + fontsize = 18 + text = "MANA_COST_TEXT" + } + text_single = { + visible = "[GetScriptedGui( 'spell_is_channeled_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope('spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + fontsize = 18 + text = "MANA_COST_TEXT_PER_MONTH" + } + } + } + divider_light = { + layoutpolicy_horizontal = expanding + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + text_multi = { + layoutpolicy_horizontal = expanding + #parentanchor = left + autoresize = yes + max_width = 550 + align = left + fontsize = 14 + text = "[Localize(Concatenate('game_concept_wc_spell_', Concatenate(Scope.GetFlagName, '_desc')))]" + } + } + onclick = "[GetVariableSystem.Set( 'current_spell_selected', Scope.GetFlagName )]" + down = "[GetVariableSystem.HasValue( 'current_spell_selected', Scope.GetFlagName )]" + onclick = "[GetVariableSystem.Set('character_finder_magic_selection', 'no')]" + onclick = "[GetScriptedGui( 'set_current_spell_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End))]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + enabled = "[GetScriptedGui('can_select_spell_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + tooltip = "[GetScriptedGui('can_select_spell_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + } + } + } + } + } + + } + } + + # Targets + hbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 10 + visible = "[GetVariableSystem.HasValue( 'spellbook_view', 'targets_view' )]" + margin_right = 10 + vbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + vbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 5 + margin_bottom = 10 + # Top part + text_single = { + text = "REC_TARGETS" + fontsize = 18 + align = center + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + } + hbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + button_standard = { + text = "USE_CHAR_FINDER" + tooltip = "USE_CHAR_FINDER_TOOLTIP" + onclick = "[ToggleGameView( 'character_finder' )]" + onclick = "[GetVariableSystem.Set('character_finder_magic_selection', 'yes')]" + } + button_checkbox_label = { + tooltip = "SPELL_ELIGIBLE_TARGETS_TOOLTIP" + visible = "[Not(GetScriptedGui('player_has_create_portal').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + onclick = "[GetScriptedGui('toggle_eligble_targets_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('get_reccomended_targets_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + blockoverride "text" + { + text = "SPELL_ELIGIBLE_TARGETS" + } + blockoverride "checkbox" + { + checked = "[GetPlayer.MakeScope.Var('eligible_only').IsSet]" + } + } + # Choose/change extra targets + # Create Portal special gui + button_standard = { + visible = "[GetScriptedGui('player_has_create_portal').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + size = { 200 40 } + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHANGE_DESTINATION_TEXT" + visible = "[GetPlayer.MakeScope.Var( 'create_portal_destination' ).IsSet]" + } + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHOOSE_DESTINATION_TEXT" + visible = "[Not(GetPlayer.MakeScope.Var( 'create_portal_destination' ).IsSet)]" + } + tooltip = "[GetScriptedGui('can_change_destination_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + enabled = "[GetScriptedGui('can_change_destination_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('get_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + vbox = { + #layoutpolicy_horizontal = expanding + #layoutpolicy_vertical = expanding + visible = "[Not(GetScriptedGui('spell_target_is_character_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + vbox = { + visible = "[And(GetPlayer.MakeScope.Var( 'original_recipient' ).IsSet, GetScriptedGui('player_has_selected_target_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + hbox = { + button_standard = { + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHANGE_TITLE_TEXT" + } + onclick = "[GetScriptedGui('get_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + } + } + vbox = { + visible = "[And(GetPlayer.MakeScope.Var( 'original_recipient' ).IsSet, Not(GetScriptedGui('player_has_selected_target_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)))]" + hbox = { + visible = "[GetScriptedGui('spell_target_is_province_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + button_standard = { + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHOOSE_TITLE_TEXT" + } + onclick = "[GetScriptedGui('get_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + } + + hbox = { + button_standard = { + visible = "[GetScriptedGui('spell_target_is_province_list_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + text = "ADD_NEW_TARGET" + tooltip = "[GetScriptedGui('can_add_more_targets_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + enabled = "[GetScriptedGui('can_add_more_targets_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('get_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + } + hbox = { + visible = "[GetScriptedGui('spell_target_is_army_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + button_standard = { + visible = "[Not(GetPlayer.MakeScope.Var( 'spell_recipient' ).IsSet)]" + text_single = { + position = { 0 -2 } + parentanchor = center + text = "CHOOSE_ARMY_TEXT" + } + onclick = "[GetScriptedGui( 'create_armies_list_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetScriptedGui('select_province_start_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Set('spell_province_window', 'yes')]" + } + } + } + } + } + + } + scrollbox = { + size = { 350 250 } + name = "characters_scroll_area" + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + block "scrollbox_properties" + { + } + + blockoverride "scrollbox_content" { + + block "container_implementation" { + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'reccomended_targets_list' )]" + layoutpolicy_horizontal = expanding + + item = { + widget_character_list_item_magic = { + datacontext = "[Scope.GetCharacter]" + block "item_size" { + size = { 600 100 } + } + } + } + } + } + } + + blockoverride "scrollbox_empty" + { + block "scrollbox_empty_visibility" + { + layoutpolicy_vertical = expanding + visible = "[IsDataModelEmpty( GetPlayer.MakeScope.GetList( 'reccomended_targets_list' ) )]" + text = "NO_CHARACTERS_TO_SELECT" + } + } + } + + } + } + + + # Cast Spell Area + hbox = { + margin = { 15 0 } + layoutpolicy_horizontal = expanding + + vbox = { + spacing = 15 + visible = "[And(And(And(GetScriptedGui('does_spell_have_ranks_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End), Not(PlayerHasVar('wc_spell_hack_activated'))), Not(PlayerHasVar('wc_presence_of_mind_activated'))), Not(PlayerHasVar('wc_reverse_causality_activated')))]" + text_single = { + text = "SPELL_RANK_TEXT" + } + hbox = { + margin_bottom = 5 + spacing = 5 + button_icon_custom = { + name = "rank_1_button" + size = { 30 30 } + texture = "gfx/interface/icons/currencies/icon_stat_mana_crystal.dds" + modify_texture = { + texture = "gfx/interface/colors/black.dds" + alpha = 1 + blend_mode = overlay + visible = "[And(GetPlayer.MakeScope.Var('current_spell_rank').IsSet, GreaterThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.Var('current_spell_rank').GetValue, '(CFixedPoint)1'))]" + } + onclick = "[GetScriptedGui('set_spell_rank_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('function', MakeScopeFlag('rank_1')).End)]" + } + button_icon_custom = { + name = "rank_2_button" + size = { 30 30 } + texture = "gfx/interface/icons/currencies/icon_stat_mana_crystal.dds" + modify_texture = { + texture = "gfx/interface/colors/black.dds" + alpha = 1 + blend_mode = overlay + visible = "[And(GetPlayer.MakeScope.Var('current_spell_rank').IsSet, GreaterThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.Var('current_spell_rank').GetValue, '(CFixedPoint)2'))]" + } + onclick = "[GetScriptedGui('set_spell_rank_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('function', MakeScopeFlag('rank_2')).End)]" + enabled = "[GetScriptedGui('has_unlocked_spell_rank_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('spell_rank', MakeScopeFlag('rank_2')).End)]" + + } + button_icon_custom = { + name = "rank_3_button" + size = { 30 30 } + texture = "gfx/interface/icons/currencies/icon_stat_mana_crystal.dds" + modify_texture = { + texture = "gfx/interface/colors/black.dds" + alpha = 1 + blend_mode = overlay + visible = "[And(GetPlayer.MakeScope.Var('current_spell_rank').IsSet, GreaterThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.Var('current_spell_rank').GetValue, '(CFixedPoint)3'))]" + } + onclick = "[GetScriptedGui('set_spell_rank_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('function', MakeScopeFlag('rank_3')).End)]" + enabled = "[GetScriptedGui('has_unlocked_spell_rank_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('spell_rank', MakeScopeFlag('rank_3')).End)]" + } + } + } + hbox = { + + button_normal = { + visible = "[Not(GetScriptedGui('current_spell_supreme_raise_dead_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End))]" + gfxtype = framedbuttongfx + effectname = "NoHighlight" + upframe = 1 + downframe = 2 + overframe = 1 + disableframe = 1 + + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/bm_867_adventurers.dds" + + modify_texture = { + texture = "gfx/interface/bookmarks/start_buttons/bm_867_carolingians.dds" + alpha = 0.5 + blend_mode = overlay + } + + modify_texture = { + texture = "gfx/interface/colors/red.dds" + alpha = 0.2 + blend_mode = overlay + } + modify_texture = { + texture = "gfx/interface/buttons/button_fancy_overlay.dds" + blend_mode = overlay + } + + modify_texture = { + name = "glow" + texture = "gfx/interface/buttons/button_fancy_glow.dds" + blend_mode = colordodge + alpha = 0 + + spriteborder = { 20 0 } + spritetype = corneredStretched + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_center_shimmer.dds" + blend_mode = mask + } + + modify_texture = { + name = "shimmer" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + modify_texture = { + name = "shimmer_4" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + state = { + trigger_on_create = yes + name = a + next = b + duration = 0 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { -1 0 } + alpha = 0.5 + } + } + + state = { + name = b + next = c + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 180 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = -180 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 0 0 } + alpha = 0.5 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 0 0 } + alpha = 0.1 + } + } + + state = { + name = c + next = a + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 360 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = -360 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { -1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 1 0 } + alpha = 0.5 + } + } + + state = { + name = _mouse_hierarchy_enter + + modify_texture = { + name = "glow" + alpha = 1 + } + } + + state = { + name = _mouse_hierarchy_leave + duration = 0.2 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + + state = { + name = _mouse_press + duration = 0 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + tooltip = "[GetScriptedGui('can_cast_spell_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + enabled = "[GetScriptedGui('can_cast_spell_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui( 'cast_spell_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[OpenCharacterInteraction(GetPlayer.MakeScope.Var('current_secondary_interaction').GetFlagName, GetPlayer.MakeScope.Var('current_secondary_interaction_target').Char)]" + onclick = "[GetVariableSystem.Clear( 'current_spell_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_magic_selected' )]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + onclick = "[GetVariableSystem.Clear( 'spellbook_window' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_magic_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_rank' )]" + onclick = "[GetScriptedGui( 'close_spellbook_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + + text_single = { + visible = "[And(And(Not(PlayerHasVar('wc_spell_hack_activated')), Not(PlayerHasVar('wc_presence_of_mind_activated'))), Not(PlayerHasVar('wc_reverse_causality_activated')))]" + parentanchor = center + text = "CAST_SPELL_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + hbox = { + visible = "[And(PlayerHasVar('wc_spell_hack_activated'), PlayerHasVar('current_spell_name'))]" + tooltip = "[Localize(Concatenate('wc_learn_spell_', PlayerGetVar('current_spell_name').GetFlagName))]" + } + + hbox = { + visible = "[And(PlayerHasVar('wc_presence_of_mind_activated'), PlayerHasVar('current_spell_name'))]" + tooltip = "REDUCE_SPELL_CD" + } + + hbox = { + visible = "[And(PlayerHasVar('wc_reverse_causality_activated'), PlayerHasVar('current_spell_name'))]" + tooltip = "REVERSE_SPELL_CAUSALITY" + } + + text_single = { + visible = "[PlayerHasVar('wc_spell_hack_activated')]" + parentanchor = center + text = "LEARN_SPELL_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + text_single = { + visible = "[PlayerHasVar('wc_presence_of_mind_activated')]" + parentanchor = center + text = "COOLDOWN_SPELL_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + text_single = { + visible = "[PlayerHasVar('wc_reverse_causality_activated')]" + parentanchor = center + text = "REVERSE_CAUSALITY_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + icon = { + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/start_frame.dds" + } + } + button_normal = { + visible = "[GetScriptedGui('current_spell_supreme_raise_dead_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + gfxtype = framedbuttongfx + effectname = "NoHighlight" + upframe = 1 + downframe = 2 + overframe = 1 + disableframe = 1 + + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/bm_867_adventurers.dds" + + modify_texture = { + texture = "gfx/interface/bookmarks/start_buttons/bm_867_carolingians.dds" + alpha = 0.5 + blend_mode = overlay + } + + modify_texture = { + texture = "gfx/interface/colors/red.dds" + alpha = 0.2 + blend_mode = overlay + } + modify_texture = { + texture = "gfx/interface/buttons/button_fancy_overlay.dds" + blend_mode = overlay + } + + modify_texture = { + name = "glow" + texture = "gfx/interface/buttons/button_fancy_glow.dds" + blend_mode = colordodge + alpha = 0 + + spriteborder = { 20 0 } + spritetype = corneredStretched + } + + modify_texture = { + texture = "gfx/interface/component_masks/mask_center_shimmer.dds" + blend_mode = mask + } + + modify_texture = { + name = "shimmer" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + modify_texture = { + name = "shimmer_4" + texture = "gfx/interface/component_masks/mask_clouds_solid.dds" + blend_mode = colordodge + spriteType = corneredTiled + } + + state = { + trigger_on_create = yes + name = a + next = b + duration = 0 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 0 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { -1 0 } + alpha = 0.5 + } + } + + state = { + name = b + next = c + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = 180 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = -180 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { 0 0 } + alpha = 0.5 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 0 0 } + alpha = 0.1 + } + } + + state = { + name = c + next = a + duration = 10 + + modify_texture = { + name = "shimmer" + translate_uv = { -0.1 0 } + alpha = 0.1 + rotate_uv = 360 + } + + modify_texture = { + name = "shimmer_2" + translate_uv = { 0.1 0 } + alpha = 0.3 + rotate_uv = -360 + } + + modify_texture = { + name = "shimmer_3" + translate_uv = { -1 0 } + alpha = 0.1 + } + + modify_texture = { + name = "shimmer_4" + translate_uv = { 1 0 } + alpha = 0.5 + } + } + + state = { + name = _mouse_hierarchy_enter + + modify_texture = { + name = "glow" + alpha = 1 + } + } + + state = { + name = _mouse_hierarchy_leave + duration = 0.2 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + + state = { + name = _mouse_press + duration = 0 + using = Animation_Curve_Default + + modify_texture = { + name = "glow" + alpha = 0 + } + } + tooltip = "[GetScriptedGui('can_cast_spell_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + enabled = "[GetScriptedGui('can_cast_spell_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetVariableSystem.Clear( 'current_spell_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_magic_selected' )]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + onclick = "[GetVariableSystem.Set( 'raise_dead_window', 'yes' )]" + onclick = "[GetVariableSystem.Set( 'supreme_raise_dead', 'yes' )]" + + onclick = "[GetVariableSystem.Clear( 'spellbook_window' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_magic_selected' )]" + onclick = "[GetVariableSystem.Clear( 'current_spell_rank' )]" + + text_single = { + parentanchor = center + text = "RAISE_DEAD_HEADER_TEXT" + align = nobaseline + using = Font_Size_Big + default_format = "#high;bold;glow_color:{0,0,0,1}" + background = { + texture ="gfx/interface/colors/black.dds" + alpha = 0.2 + margin = { 50% 0} + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + + } + } + } + + icon = { + size = { 300 80 } + texture = "gfx/interface/bookmarks/start_buttons/start_frame.dds" + } + } + + } + # Spirit / deCAY + vbox = { + spacing = 5 + visible = "[And(And(And(GetScriptedGui('is_spell_elemental_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End), Not(PlayerHasVar('wc_spell_hack_activated'))), Not(PlayerHasVar('wc_presence_of_mind_activated'))), Not(PlayerHasVar('wc_reverse_causality_activated')))]" + text_single = { + text = "ELEMENTAL_TYPE_TEXT" + } + + hbox = { + spacing = 5 + margin_bottom = 3 + # Spirit + button_standard = { + size = { 80 50 } + text_single = { + position = { 20 22 } + text = "magic_gui_spirit" + default_format = "#clickable" + } + text_single = { + position = { 28 0 } + text = "[Localize(Concatenate(Concatenate('game_concept_wc_', PlayerGetVar('current_spell_class').GetFlagName), '_spirit_icon_gc'))]" + } + tooltip = "[wc_elemental_magic_spirit|E]" + onclick = "[GetScriptedGui('set_spirit_decay_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('function', MakeScopeFlag('spirit')).End)]" + down = "[And(PlayerHasVar('elemental_type'), ObjectsEqual(PlayerGetVar('elemental_type').GetFlagName, 'spirit'))]" + } + + # Decay + button_standard = { + tooltip = "[wc_elemental_magic_decay|E]" + size = { 80 50 } + text_single = { + position = { 20 22 } + text = "magic_gui_decay" + default_format = "#clickable" + } + text_single = { + position = { 28 0 } + text = "[Localize(Concatenate(Concatenate('game_concept_wc_', PlayerGetVar('current_spell_class').GetFlagName), '_decay_icon_gc'))]" + } + onclick = "[GetScriptedGui('set_spirit_decay_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('function', MakeScopeFlag('decay')).End)]" + down = "[And(PlayerHasVar('elemental_type'), ObjectsEqual(PlayerGetVar('elemental_type').GetFlagName, 'decay'))]" + } + } + } + background = { + using = Background_Area + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + alpha = 0.8 + } + } + } + } +} + +# Kinda like Grant titles window +window = { + name = "province_selection_window" + parentanchor = vcenter|right + position = { -15 5 } + size = { 550 960 } + movable = no + layer = middle + + using = Window_Background + using = Window_Decoration_Spike + + visible = "[GetVariableSystem.HasValue('spell_province_window', 'yes')]" + + state = { + name = _show + using = Animation_FadeIn_Quick + using = Sound_WindowShow_Standard + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + on_start = "[GetScriptedGui('open_spellbook_lite_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + } + + vbox = { + using = Window_Margins + spacing = 5 + header_pattern_interaction = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "SPELL_TARGET_TEXT" + } + + blockoverride "button_close" + { + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + } + + } + banner_with_portrait = { + visible = "[GetScriptedGui('player_has_create_portal').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + layoutpolicy_horizontal = expanding + blockoverride "banner_with_portrait_text" + { + text = "SPELL_TARGET_GENERIC_TEXT_PORTAL" + margin_bottom = 20 + } + + hbox = { + margin_bottom = 10 + margin_left = 20 + layoutpolicy_horizontal = expanding + + } + + blockoverride "portrait" + { + portrait_head = { + datacontext = "[GetPlayer.MakeScope.Char]" + + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + } + + } + banner_with_portrait = { + visible = "[Or(GetScriptedGui( 'spell_target_is_province_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End), GetScriptedGui( 'spell_target_is_province_list_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End))]" + + name = "portrait_and_info" + layoutpolicy_horizontal = expanding + blockoverride "banner_with_portrait_text" + { + text = "SPELL_TARGET_GENERIC_TEXT" + margin_bottom = 75 + } + + hbox = { + margin_bottom = 10 + margin_left = 20 + layoutpolicy_horizontal = expanding + button_checkbox_label = { + layoutpolicy_horizontal = expanding + onclick = "[GetScriptedGui('toggle_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + onclick = "[GetScriptedGui('get_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + blockoverride "text" + { + text = "SPELL_DIRECTLY_HELD" + } + blockoverride "checkbox" + { + checked = "[GetPlayer.MakeScope.Var('direct_only').IsSet]" + } + } + } + + blockoverride "portrait" + { + portrait_head = { + datacontext = "[GetPlayer.MakeScope.Var('original_recipient').Char]" + + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + } + + } + spacer = { + size = { 0 10 } + } + scrollbox = { + name = "titles_list" + visible = "[Or(GetScriptedGui( 'spell_target_is_province_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End), GetScriptedGui( 'spell_target_is_province_list_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End))]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + blockoverride "scrollbox_empty" + { + visible = "[IsDataModelEmpty(GetPlayer.MakeScope.GetList( 'target_titles' ))]" + text = "SPELL_NO_TITLES" + } + + blockoverride "scrollbox_content" + { + vbox_list_spell_titles_selection = { + layoutpolicy_horizontal = expanding + } + } + } + scrollbox = { + name = "titles_list_portal" + visible = "[GetScriptedGui('player_has_create_portal').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + blockoverride "scrollbox_empty" + { + visible = "[IsDataModelEmpty(GetPlayer.MakeScope.GetList( 'target_titles' ))]" + text = "SPELL_NO_TITLES" + } + + blockoverride "scrollbox_content" + { + vbox_list_spell_titles_selection_portal = { + layoutpolicy_horizontal = expanding + } + } + } + scrollbox = { + name = "armies_list" + visible = "[GetScriptedGui( 'spell_target_is_army_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).End)]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + blockoverride "scrollbox_empty" + { + visible = "[IsDataModelEmpty(GetPlayer.MakeScope.GetList( 'target_armies' ))]" + text = "SPELL_NO_ARMIES" + } + blockoverride "scrollbox_content" + { + vbox_list_spell_armies_selection = { + layoutpolicy_horizontal = expanding + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + visible = "[GetScriptedGui('player_has_create_portal').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + spacing = 15 + hbox = { + datacontext = "[GetPlayer.MakeScope.Var( 'current_destination' ).Title]" + visible = "[GetPlayer.MakeScope.Var( 'current_destination' ).IsSet)]" + text_single = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + text = SPELL_TARGET_TEXT_PORTAL + } + } + hbox = { + name = "portal_destination_selection" + layoutpolicy_horizontal = expanding + button_standard = { + text = "SHOW_ALL_TITLES_TEXT" + visible = "[GetPlayer.MakeScope.Var( 'current_destination' ).IsSet)]" + onclick = "[GetScriptedGui('old_titles_list_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + } + button_standard = { + datacontext = "[GetPlayer.MakeScope.Var( 'previous_target' ).Title]" + text = "SHOW_PREVIOUS_TITLE_TEXT" + tooltipwidget = { + using = LandedTitleTooltip + } + visible = "[GetPlayer.MakeScope.Var( 'previous_target' ).IsSet)]" + onclick = "[GetScriptedGui('previous_target_titles_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End)]" + } + } + } + spacer = { + size = { 0 10 } + } + } +} + + +# Sidebar +widget = { + name = "wc_widget_magic" + parentanchor = top|right + layer = windows_layer + # So it's not possible to click county behind the interface + alwaystransparent = no + filter_mouse = all + + using = Window_Size_MainTab + #size = { 655 100% } + + visible = "[GetVariableSystem.HasValue( 'right_window_open', 'widget_magic' )]" + + state = { + name = _show + using = Animation_FadeIn_Quick + using = Sound_WindowShow_Standard + using = Window_Position_MainTab + on_start = "[GetVariableSystem.Set( 'right_window_open', 'widget_magic' )]" + on_start = "[GetVariableSystem.Set( 'magic_tab_view', 'spells_view' )]" + on_start = "[GetScriptedGui( 'init_spells_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + using = Sound_WindowHide_Standard + using = Window_Position_MainTab_Hide + + on_start = "[GetVariableSystem.ClearIf( 'right_window_open', GetVariableSystem.HasValue( 'right_window_open', 'none' ) )]" + on_start = "[GetVariableSystem.Clear( 'renaming_open' )]" + } + + margin_widget = { + size = { 100% 100% } + margin = { 0 26 } + layoutpolicy_horizontal = expanding + using = Window_Background + + widget = { + size = { 100% 100% } + + # using = Window_Decoration_Thin + vbox = { + using = Window_Margins + scrollbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + allow_outside = yes + scrollbar_vertical = { + using = Scrollbar_Vertical_White + } + blockoverride "scrollbox_background_fade" + { + } + blockoverride "scrollbox_background" + { + } + blockoverride "scrollbox_content" + { + spacing = 20 + widget_header_with_picture = { + layoutpolicy_horizontal = expanding + size = { 0 120 } + blockoverride "header_text" + { + text = "MAGIC_WINDOW_TITLE" + } + + blockoverride "illustration_texture" { + texture = "gfx/interface/illustrations/window_headers/magic.dds" + alpha = 0.2 + modify_texture = { + texture = "gfx/interface/component_masks/mask_culture_era_tab.dds" + blend_mode = alphamultiply + } + } + + button_standard_clean = { + parentanchor = center + size = { 200 50 } + position = { 0 20 } + text = "OPEN_SPELLBOOK_TEXT" + down = "[GetVariableSystem.HasValue( 'spellbook_window', 'yes' )]" + onclick = "[GetVariableSystem.Set( 'spellbook_window', 'yes' )]" + } + + blockoverride "button_close" + { + onclick = "[GetVariableSystem.Clear( 'right_window_open' )]" + } + } + # Tabs + hbox = { + layoutpolicy_horizontal = expanding + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "spells_button" + text = "SPELLS_BUTTON" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'magic_tab_view', 'spells_view' )]" + down = "[GetVariableSystem.HasValue( 'magic_tab_view', 'spells_view' )]" + } + + } + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "statisics_button" + text = "STATISTICS_TEXT" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'magic_tab_view', 'stats_view' )]" + down = "[GetVariableSystem.HasValue( 'magic_tab_view', 'stats_view' )]" + } + } + vbox = { + layoutpolicy_horizontal = expanding + button_tab = { + name = "monitor_button" + text = "MONITOR_TEXT" + layoutpolicy_horizontal = expanding + onclick = "[GetVariableSystem.Set( 'magic_tab_view', 'monitor_view' )]" + down = "[GetVariableSystem.HasValue( 'magic_tab_view', 'monitor_view' )]" + } + } + } + + vbox = { # Spells Tab + visible = "[GetVariableSystem.HasValue( 'magic_tab_view', 'spells_view' )]" + spacing = 20 + text_label_center = { + text = "CURRENT_SPELL_TEXT" + fontsize = 20 + default_format = "#high" + } + margin_right = 15 + # Current casting spells + vbox = { + name = "current_spells" + layoutpolicy_horizontal = expanding + spacing = 10 + + text_label_center = { + text = "CURRENT_CASTING_SPELLS_TEXT" + } + + text_single = { + text = "NO_CAST_SPELLS_TEXT" + default_format = "#italic" + visible = "[Not(PlayerGuiValid('wc_is_casting_spells_sgui'))]" + } + + dynamicgridbox = { + visible = "[PlayerGuiValid('wc_is_casting_spells_sgui')]" + datamodel = "[GetPlayer.MakeScope.GetList( 'current_spells_casting' )]" + allow_outside = yes + item = { + widget = { + size = { 525 175 } + allow_outside = yes + background = { + using = Background_Area + } + hbox = { + margin_right = 15 + margin_left = 15 + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 30 + button_normal = { + name = "spell_button" + size = { 120 120 } + + icon = { + texture = "[GetCultureInnovationType(Concatenate(PlayerGetVar(Concatenate(Scope.GetFlagName, '_class')).GetFlagName, '_magic')).GetIcon]" + size = { 100% 100% } + } + + progresspie = { + name = "progress" + size = { 120 120 } + texture = "gfx/interface/progressbars/action_progress_thin.dds" + framesize = { 128 128 } + frame = 2 + widgetanchor = top|hcenter + parentanchor = top|hcenter + value = "[Multiply_float(FixedPointToFloat(GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_progress_percent')).GetValue), '(float)0.01')]" + min = 0 + max = 1 + } + } + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + vbox = { + layoutpolicy_horizontal = expanding + spacing = 30 + vbox = { + spacing = 5 + text_single = { + fontsize = 20 + align = nobaseline + default_format = "#bold" + text = "[Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + + tooltipwidget = { + widget_spell_breakdown_tooltip = {} + } + } + + text_single = { + text = "DAYS_UNTIL_FINISH" + } + } + + button_standard = { + text = "CANCEL_CAST_BUTTON" + tooltip = "[GetScriptedGui('can_cancel_cast_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + enabled = "[GetScriptedGui( 'can_cancel_cast_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + onclick = "[GetScriptedGui( 'cancel_cast_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + } + } + + vbox = { + spacing = 10 + layoutpolicy_horizontal = expanding + text_single = { + text = "SPELL_TARGETS_TEXT" + } + # Single Target - Character + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('character', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + portrait_head_small = { + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Char]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + } + # Single Target - Title + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('title', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + coa_title_small = { + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Title]" + } + } + # Single Target - Army + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('army', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Army]" + vbox = { + spacing = 5 + portrait_head_small = { + datacontext = "[Army.GetCommander]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + text_single = { + name = "army_name" + raw_text = "[Army.GetName]" + default_format = "#high" + } + } + } + # Multi Target - Title + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('title_list', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList(Concatenate(Scope.GetFlagName, '_targets_list'))]" + datamodel_wrap = 3 + flipdirection = yes + item = { + coa_title_small = { + datacontext = "[Scope.Title]" + } + } + } + } + # Multi Target - Character + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('character_list', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList(Concatenate(Scope.GetFlagName, '_targets_list'))]" + datamodel_wrap = 3 + flipdirection = yes + item = { + portrait_head_small = { + datacontext = "[Scope.Char]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + } + } + } + } + + } + + } + + } + } + } + } + + # Currrent spells on cooldown + vbox = { + name = "current_spells_cd" + layoutpolicy_horizontal = expanding + spacing = 10 + + text_label_center = { + text = "CURRENT_CD_SPELLS_TEXT" + } + + text_single = { + text = "NO_CD_SPELLS_TEXT" + default_format = "#italic" + visible = "[Not(PlayerGuiValid('wc_has_cd_spells_sgui'))]" + } + + dynamicgridbox = { + visible = "[PlayerGuiValid('wc_has_cd_spells_sgui')]" + datamodel = "[GetPlayer.MakeScope.GetList( 'spells_cd' )]" + item = { + widget = { + size = { 525 75 } + background = { + using = Background_Area + } + layoutpolicy_horizontal = expanding + hbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 30 + hbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + vbox = { + layoutpolicy_horizontal = expanding + text_single = { + fontsize = 20 + align = nobaseline + default_format = "#bold" + text = "[Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + + tooltipwidget = { + widget_spell_breakdown_tooltip = {} + } + } + + text_single = { + text = "DAYS_UNTIL_OFF_CD" + } + } + } + } + divider_light = { + layoutpolicy_horizontal = expanding + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + blend_mode = alphamultiply + } + } + } + } + } + } + } + vbox = { # Stats Tab + visible = "[GetVariableSystem.HasValue( 'magic_tab_view', 'stats_view' )]" + spacing = 20 + vbox = { + spacing = 10 + text_label_center = { + text = "MAGIC_RESISTANCE_TEXT" + fontsize = 20 + default_format = "#high" + } + dynamicgridbox = { + flipdirection = yes + datamodel_wrap = 2 + datamodel = "[GetPlayer.MakeScope.GetList('spell_types')]" + item = { + container = { + background = { + texture = "[GetCultureInnovationType(Concatenate(Scope.GetFlagName, '_magic_bg')).GetIcon]" + fittype = centercrop + alpha = 0.1 + framesize = { 500 1500 } + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + blend_mode = alphamultiply + alpha = 1 + } + } + button_standard_clean = { + size = { 250 75 } + text = "MAGIC_RESISTANCE_SCOPE_TEXT" + text_single = { # BAD MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_gray" + visible = "[LessThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_bad_value'))]" + } + text_single = { # DECENT MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_red" + visible = "[And(GreaterThan_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_bad_value')), LessThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_decent_value')))]" + } + text_single = { # GOOD MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_light_red" + visible = "[And(GreaterThan_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_decent_value')), LessThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_good_value')))]" + } + text_single = { # GR8 MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_yellow" + visible = "[And(GreaterThan_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_good_value')), LessThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_great_value')))]" + } + text_single = { # GR8 2 MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_green" + visible = "[And(GreaterThan_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_great_value')), LessThan_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_excellent_value')))]" + } + text_single = { # EXCELENT MR + parentanchor = center + position = { 0 5 } + fontsize = 24 + text = "[GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + default_format = "#low;color_dark_green" + visible = "[GreaterThanOrEqualTo_CFixedPoint(GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value')), GetPlayer.MakeScope.ScriptValue('wc_magic_resistance_excellent_value'))]" + } + tooltip = "[GetPlayer.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance_value'))]" + } + } + } + } + } + vbox = { + layoutpolicy_horizontal = expanding + margin = { 50 0 } + spacing = 10 + text_label_center = { + text = "STATISTICS_TEXT" + fontsize = 20 + default_format = "#high" + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "known_spells" + text_single = { + layoutpolicy_horizontal = expanding + text = "KNOWN_SPELLS_TEXT" + fontsize = 16 + } + text_single = { + fontsize = 16 + visible = "[PlayerHasVar('known_spells_count')]" + text = "[PlayerGetVar('known_spells_count').GetValue]" + default_format = "#underline" + tooltipwidget = { + known_spells_tooltip = {} + } + } + text_single = { + text = "NONE_TEXT" + visible = "[Not(PlayerHasVar('known_spells_count'))]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "casts_completed" + text_single = { + layoutpolicy_horizontal = expanding + text = "CASTS_COMPLETED_TEXT" + fontsize = 16 + } + text_single = { + fontsize = 16 + text = "[PlayerGetVar('casts_completed').GetValue]" + visible = "[PlayerHasVar('casts_completed')]" + } + text_single = { + text = "NONE_TEXT" + visible = "[Not(PlayerHasVar('casts_completed'))]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "top_casted_class" + text_single = { + layoutpolicy_horizontal = expanding + text = "MOST_CASTED_SPELL_CLASS_TEXT" + fontsize = 16 + } + text_single = { + fontsize = 16 + text = "[Localize(Concatenate('game_concept_wc_spell_school_', PlayerGetVar('first_place_spell_class').GetFlagName))]" + visible = "[PlayerHasVar('first_place_spell_class')]" + } + text_single = { + text = "NONE_TEXT" + visible = "[Not(PlayerHasVar('first_place_spell_class'))]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "top_casted_class_cnt" + visible = "[PlayerHasVar('first_place_spell_class_count')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "MOST_CASTED_SPELL_CLASS_COUNT" + fontsize = 16 + } + text_single = { + fontsize = 16 + text = "[PlayerGetVar('first_place_spell_class_count').GetValue]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + + name = "top_casted_spell" + text_single = { + layoutpolicy_horizontal = expanding + text = "MOST_CASTED_SPELL_TEXT" + fontsize = 16 + } + text_single = { + datacontext = "[PlayerGetVar('top_casted_spell')]" + fontsize = 16 + text = "[Localize(Concatenate('game_concept_wc_spell_',PlayerGetVar('top_casted_spell').GetFlagName))]" + visible = "[PlayerHasVar('top_casted_spell')]" + default_format = "#underline" + tooltipwidget = { + widget_spell_breakdown_tooltip = { + } + } + } + text_single = { + text = "NONE_TEXT" + visible = "[Not(PlayerHasVar('top_casted_spell'))]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "top_casted_spell_cnt" + visible = "[PlayerHasVar('top_casted_spell_cast_count')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "MOST_CASTED_SPELL_COUNT" + fontsize = 16 + } + text_single = { + fontsize = 16 + text = "[PlayerGetVar('top_casted_spell_cast_count').GetValue]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + + name = "last_spell_casted" + text_single = { + layoutpolicy_horizontal = expanding + text = "LAST_SPELL_CASTED_TEXT" + fontsize = 16 + } + text_single = { + datacontext = "[PlayerGetVar('last_spell_casted')]" + fontsize = 16 + text = "[Localize(Concatenate('game_concept_wc_spell_',PlayerGetVar('last_spell_casted').GetFlagName))]" + visible = "[PlayerHasVar('last_spell_casted')]" + default_format = "#underline" + tooltipwidget = { + widget_spell_breakdown_tooltip = { + } + } + } + text_single = { + text = "NONE_TEXT" + visible = "[Not(PlayerHasVar('last_spell_casted'))]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + name = "last_spell_casted_class" + visible = "[PlayerHasVar('last_spell_casted_class')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "LAST_SPELL_CASTED_CLASS_TEXT" + fontsize = 16 + } + text_single = { + fontsize = 16 + text = "[Localize(Concatenate('game_concept_wc_spell_school_',PlayerGetVar('last_spell_casted_class').GetFlagName))]" + visible = "[PlayerHasVar('last_spell_casted_class')]" + } + } + } + + } + vbox = { # Monitoring Tab + layoutpolicy_horizontal = expanding + visible = "[GetVariableSystem.HasValue( 'magic_tab_view', 'monitor_view' )]" + spacing = 20 + text_label_center = { + text = "MONITORING_TEXT" + fontsize = 20 + default_format = "#high" + } + + text_single = { + text = "NO_MONITORING_TEXT" + default_format = "#italic" + visible = "[Not(PlayerGuiValid('wc_has_monitor_sgui'))]" + } + + # Channeled Spells + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_channeling_sgui')]" + spacing = 10 + text_label_center = { + text = "CHANNELED_SPELLS_TEXT" + fontsize = 15 + default_format = "#high" + } + dynamicgridbox = { + visible = "[PlayerGuiValid('wc_channeling_sgui')]" + datamodel = "[GetPlayer.MakeScope.GetList( 'current_spells_channeling' )]" + allow_outside = yes + datamodel_wrap = 1 + item = { + widget = { + size = { 525 250 } + allow_outside = yes + margin_top = 10 + hbox = { + background = { + using = Background_Area + } + margin = { 15 15 } + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + spacing = 30 + vbox = { + layoutpolicy_horizontal = expanding + spacing = 5 + vbox = { + layoutpolicy_horizontal = expanding + spacing = 10 + vbox = { + spacing = 5 + text_single = { + fontsize = 20 + align = nobaseline + default_format = "#bold" + text = "[Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + + tooltipwidget = { + widget_spell_breakdown_tooltip = {} + } + } + } + + button_standard = { + text = "CANCEL_CAST_BUTTON" + tooltip = "[GetScriptedGui('cancel_channel_sgui').ExecuteTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + onclick = "[GetScriptedGui( 'cancel_channel_sgui' ).Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'spell', MakeScopeFlag(Scope.GetFlagName)).End)]" + } + } + + vbox = { + spacing = 10 + layoutpolicy_horizontal = expanding + text_single = { + text = "SPELL_TARGETS_TEXT" + } + # Single Target - Character + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('character', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + portrait_head_small = { + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Char]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + } + # Single Target - Title + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('title', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + coa_title_small = { + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Title]" + } + } + # Single Target - Army + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('army', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + datacontext = "[PlayerGetVar(Concatenate(Scope.GetFlagName, '_recipient')).Army]" + vbox = { + spacing = 5 + portrait_head_small = { + datacontext = "[Army.GetCommander]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + text_single = { + name = "army_name" + raw_text = "[Army.GetName]" + default_format = "#high" + } + } + } + # Multi Target - Title + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('title_list', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList(Concatenate(Scope.GetFlagName, '_targets_list'))]" + datamodel_wrap = 3 + flipdirection = yes + item = { + coa_title_small = { + datacontext = "[Scope.Title]" + } + } + } + } + # Multi Target - Character + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ObjectsEqual('character_list', PlayerGetVar(Concatenate(Scope.GetFlagName, '_target_type')).GetFlagName)]" + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList(Concatenate(Scope.GetFlagName, '_targets_list'))]" + datamodel_wrap = 3 + flipdirection = yes + item = { + portrait_head_small = { + datacontext = "[Scope.Char]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + } + } + } + } + + } + } + + } + } + } + } + + # Backdraft + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_monitoring_backdraft_sgui')]" + text_label_center = { + text = "game_concept_wc_spell_backdraft" + } + spacing = 10 + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'backdraft_observer_list' )]" + datamodel_wrap = 3 + flipdirection = yes + item = { + margin_widget = { + size = { 175 120 } + margin = { 15 20 } + background = { + using = Background_Area + } + coa_title_small = { + position = { 0 -10 } + parentanchor = center + datacontext = "[Scope.Title]" + } + text_single = { + position = { 0 30 } + max_width = 150 + parentanchor = center + text = "[Scope.Title.GetName]" + } + } + } + } + } + + # Burnout + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_monitoring_burnout_sgui')]" + text_label_center = { + text = "game_concept_wc_spell_burnout" + } + spacing = 10 + hbox = { + layoutpolicy_horizontal = expanding + spacing = 50 + background = { + using = Background_Area + } + margin = { 50 20 } + datacontext = "[GetPlayer.MakeScope.Var('burnout_victim').Char]" + portrait_head = { + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + text_single = { + text = "[Character.GetShortUIName]" + default_format = "#high" + fontsize = 20 + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 125 + text_single = { + text = "[Localize('wc_magical_prowess')]" + } + text_single = { + text = "[Character.MakeScope.ScriptValue('wc_mp_value')]" + default_format = "#underline" + tooltip = "[Character.MakeScope.GetScriptValueDesc('wc_mp_value')]" + } + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 125 + text_single = { + text = "BURNOUT_COUNT" + } + text_single = { + text = "[PlayerGetVar('burnout_count').GetValue]" + } + } + } + } + } + + # Chronomancy + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_monitoring_chronomancy_sgui')]" + spacing = 5 + text_label_center = { + text = "game_concept_wc_spell_chronomancy" + } + margin = { 15 20 } + background = { + using = Background_Area + } + vbox = { + spacing = 20 + vbox = { + spacing = 20 + text_single = { + text = "TRAITS_CHRONOMANCY" + } + visible = "[PlayerGuiValid('chronomancy_trait_list_sgui')]" + + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'chronomancy_trait_list' )]" + datamodel_wrap = 5 + flipdirection = yes + item = { + icon_trait = { + datacontext = "[Scope.Trait]" + datacontext = "[GetNullCharacter]" + blockoverride "icon_size" + { + size = { 75 75 } + } + } + } + } + } + + vbox = { + text_single = { + text = "MODIFIERS_CHRONOMANCY" + } + visible = "[PlayerGuiValid('chronomancy_modifier_list_sgui')]" + + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'chronomancy_modifier_list' )]" + datamodel_wrap = 1 + flipdirection = yes + item = { + widget = { + size = { 125 25 } + hbox = { + spacing = 5 + layoutpolicy_horizontal = expanding + text_single = { + text = "[GetModifier(Concatenate(Scope.GetFlagName, '_modifier')).GetNameWithTooltip|L]" + } + } + } + } + } + } + } + } + + # Consecration + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_monitoring_consecration_sgui')]" + spacing = 5 + text_label_center = { + text = "game_concept_wc_spell_consecration" + } + vbox = { + spacing = 20 + layoutpolicy_horizontal = expanding + margin = { 20 20 } + background = { + using = Background_Area + } + datacontext = "[PlayerGetVar('consecration_county').Title]" + coa_title_medium = {} + vbox = { + layoutpolicy_horizontal = expanding + spacing = 20 + text_single = { + default_format = "#high" + text = "[Title.GetName]" + } + text_single = { + text = "ELIGIBLE_COUNTIES_TEXT" + } + dynamicgridbox = { + datamodel = "[GetPlayer.MakeScope.GetList( 'consecration_neighboring_counties' )]" + datamodel_wrap = 3 + flipdirection = yes + item = { + margin_widget = { + size = { 150 150 } + margin = { 15 10 } + background = { + using = Background_Area + } + coa_title_small = { + position = { 0 -30 } + parentanchor = center + datacontext = "[Scope.Title]" + } + text_single = { + position = { 0 10 } + max_width = 120 + parentanchor = center + text = "[Scope.Title.GetName]" + } + button_standard = { + text = "MOVE_CONSECRATION_BUTTON" + position = { 25 95 } + size = { 70 30 } + enabled = "[GreaterThan_CFixedPoint(PlayerGetVar('consecration_moves_remaining').GetValue, '(CFixedPoint)0')]" + tooltip = "[GetScriptedGui('wc_move_consecration_sgui').ExecuteTooltip(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'county', Scope.Title.MakeScope).End)]" + onclick = "[GetScriptedGui('wc_move_consecration_sgui').Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'county', Scope.Title.MakeScope).End)]" + } + } + } + } + text_single = { + text = "MOVES_REMAINING_TEXT" + } + } + } + } + + # Dark Ascension + vbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerGuiValid('wc_monitoring_ascension_sgui')]" + spacing = 10 + text_label_center = { + text = "game_concept_wc_spell_ascension" + } + vbox = { + spacing = 5 + layoutpolicy_horizontal = expanding + hbox = { + layoutpolicy_horizontal = expanding + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_TEXT" + fontsize = 20 + } + text_single = { + text = "[GetPlayer.MakeScope.ScriptValue('wc_spell_ascension_eps_value')]" + default_format = "#high" + fontsize = 20 + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_birth')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_BIRTH" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_birth').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_death')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_DEATH" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_death').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_level_gain')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_LEVEL_GAIN" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_level_gain').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_trait_gain')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_TRAIT_GAIN" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_trait_gain').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_age_up')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_AGE_UP" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_age_up').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_culture_change')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_CULTURE_CHANGE" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_culture_change').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_faith_change')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_FAITH_CHANGE" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_faith_change').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_hook_used')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_HOOK_USED" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_hook_used').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_prison')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_PRISON" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_prison').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_stress')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_STRESS" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_stress').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_war')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_WAR" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_war').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_scheme')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_SCHEME" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_scheme').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_lifestyle')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_LIFESTYLE" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_lifestyle').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_travel')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_TRAVEL" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_travel').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_spell')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_SPELL" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_spell').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_title_gain')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_TITLE_GAIN" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_title_gain').GetValue]" + default_format = "#high" + } + } + hbox = { + layoutpolicy_horizontal = expanding + visible = "[PlayerHasVar('wc_eps_from_marriage')]" + text_single = { + layoutpolicy_horizontal = expanding + text = "ASCENSION_EPS_MARRIAGE" + } + text_single = { + text = "[GetPlayer.MakeScope.Var('wc_eps_from_marriage').GetValue]" + default_format = "#high" + } + } + } + hbox = { + layoutpolicy_horizontal = expanding + spacing = 50 + background = { + using = Background_Area + } + margin = { 50 20 } + visible = "[PlayerHasVar('top_ascendant')]" + datacontext = "[GetPlayer.MakeScope.Var('top_ascendant').Char]" + vbox = { + layoutpolicy_horizontal = expanding + spacing = 20 + text_single = { + text = "TOP_ASCENDANT_TEXT" + fontsize = 20 + } + portrait_head = { + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + text_single = { + text = "[Character.GetShortUIName]" + default_format = "#high" + fontsize = 15 + } + } + vbox = { + layoutpolicy_vertical = expanding + + hbox = { + spacing = 10 + text_single = { + text = "TOP_ASCENDANT_PTS" + fontsize = 15 + } + text_single = { + text = "[GetPlayer.MakeScope.Var('top_ascendant_points').GetValue]" + default_format = "#high" + fontsize = 15 + } + } + } + } + } + } + } + } + } + } + } +} +types spellbooktypes { + type vbox_list_spell_titles_selection = vbox { + name = "titles_grid" + layoutpolicy_horizontal = expanding + spacing = 3 + datamodel = "[GetPlayer.MakeScope.GetList( 'target_titles' )]" + + item = { + widget = { + name = "title_list_item" + layoutpolicy_horizontal = expanding + size = { 0 45 } + datacontext = "[Scope.Title]" + button_standard = { + size = { 425 45 } + name = "title_button" + + coa_title_tiny_crown = { + position = { 0 -8 } + } + tooltipwidget = { + using = LandedTitleTooltip + } + down = "[GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Title.MakeScope).End)]" + onclick = "[GetScriptedGui('set_target_or_add_sgui').Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Title.MakeScope).End)]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + enabled = "[GetScriptedGui( 'is_spell_target_valid_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Title.MakeScope).End)]" + } + + hbox = { + margin_left = 45 + margin_right = 5 + + text_single = { + name = "text" + default_format = "#V" + layoutpolicy_horizontal = expanding + raw_text = "[Scope.Title.GetNameNoTooltip]" + } + } + } + } + } + type vbox_list_spell_titles_selection_portal = vbox { + name = "titles_grid" + layoutpolicy_horizontal = expanding + spacing = 3 + datamodel = "[GetPlayer.MakeScope.GetList( 'target_titles' )]" + + item = { + widget = { + name = "title_list_item" + layoutpolicy_horizontal = expanding + size = { 0 45 } + datacontext = "[Scope.Title]" + button_standard = { + size = { 425 45 } + name = "title_button" + + coa_title_tiny_crown = { + position = { 0 -8 } + } + tooltipwidget = { + using = LandedTitleTooltip + } + down = "[GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Title.MakeScope).End)]" + onclick = "[GetScriptedGui('set_or_change_target_sgui_portal').Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Title.MakeScope).End)]" + } + + hbox = { + margin_left = 45 + margin_right = 5 + + text_single = { + name = "text" + default_format = "#V" + layoutpolicy_horizontal = expanding + raw_text = "[Scope.Title.GetNameNoTooltip]" + } + } + } + } + + } + type vbox_list_spell_armies_selection = vbox { + name = "armies_grid" + layoutpolicy_horizontal = expanding + spacing = 20 + datamodel = "[GetPlayer.MakeScope.GetList( 'target_armies' )]" + item = { + vbox = { + visible = "[Army.GetCommander.IsValid]" + spacing = 15 + name = "army_list_item" + layoutpolicy_horizontal = expanding + size = { 0 45 } + datacontext = "[Scope.Army]" + button_standard = { + size = { 425 45 } + name = "army_button" + raw_text = "[Army.GetNameNoTooltip]" + tooltip = "CLICK_TO_SELECT_TT" + down = "[GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Army.MakeScope).End)]" + onclick = "[GetScriptedGui('set_target_or_add_sgui').Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Army.MakeScope).End)]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + enabled = "[GetScriptedGui( 'is_spell_target_valid_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Scope.Army.MakeScope).End)]" + } + + portrait_head = { + datacontext = "[Army.GetOwner]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + + vbox = { + spacing = 5 + layoutpolicy_horizontal = expanding + text_single = { + text = "ARMY_OWNER_TEXT" + } + soldiers_and_quality_big = { + datacontext = "[Army.GetComposition]" + } + } + + hbox = { + visible = "[Army.GetCommander.IsValid]" + layoutpolicy_horizontal = expanding + vbox = { + text_multi = { + layoutpolicy_horizontal = expanding + size = { 275 25 } + parentanchor = center + raw_text = "ARMY_COMMANDER_TEXT" + } + text_multi = { + layoutpolicy_horizontal = expanding + parentanchor = center + size = { 275 25 } + raw_text = "COMMANDER_MR_TEXT" + default_format = "#clickable" + tooltip = "[Army.GetCommander.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + } + } + portrait_head_small = { + datacontext = "[Army.GetCommander]" + blockoverride "opinion_box" + {} + blockoverride "portrait_icons" + {} + } + } + } + } + } + type widget_character_list_item_magic = widget { + datacontext = "[Scope.GetCharacter]" + size = { 10 110 } + + block "divider" { + divider = { + parentanchor = bottom|hcenter + size = { 100% 3 } + } + } + + block "widget" {} + + hbox = { + margin = { 0 5 } + spacing = 15 + + portrait_head_small = {} + + button_standard_clean = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + down = "[GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Character.MakeScope).End)]" + onclick = "[GetScriptedGui('set_target_or_add_sgui').Execute(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Character.MakeScope).End)]" + onclick = "[GetVariableSystem.Clear('spell_province_window')]" + tooltip = "[GetScriptedGui('can_select_target_sgui').IsValidTooltip( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'target', Character.MakeScope).End)]" + enabled = "[GetScriptedGui('can_select_target_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'target', Character.MakeScope).End)]" + + hbox = { + visible = "[Not(GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Character.MakeScope).End))]" + tooltip = "CLICK_TO_SELECT_TT" + } + hbox = { + visible = "[GetScriptedGui( 'is_selected_target_sgui' ).IsValid(GuiScope.SetRoot(GetPlayer.MakeScope).AddScope( 'target', Character.MakeScope).End)]" + tooltip = "CLICK_TO_REMOVE_TT" + } + # block "button_texture" + # { + # texture = "gfx/interface/buttons/button_entry_characterlist.dds" + # } + + character_list_arrow = { + name = "character_list_arrow" + } + + block "overlay" { + using = default_character_list_overlay + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_left = 10 + margin_right = 15 + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + text_single = { + layoutpolicy_horizontal = expanding + using = Font_Size_Medium + autoresize = no + alwaystransparent = yes + + text = "[Character.GetUINameNoTooltip|U]" + } + #Infos + hbox = { + visible = "[GetScriptedGui( 'wc_has_mp_gui' ).IsValid(GuiScope.SetRoot(Character.MakeScope).End)]" + text_single = { + fontsize = 18 + text = "MP_VALUE_TEXT" + } + } + + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + text_single = { + name = "character_relation" + layoutpolicy_horizontal = expanding + raw_text = "[Character.GetRelationToString( GetPlayer )]" + default_format = "#low" + autoresize = no + align = nobaseline + visible = "[Character.HasRelationTo( GetPlayer )]" + alwaystransparent = yes + } + hbox = { + text_single = { + text = "CURRENT_MR_TEXT" + default_format = "#clickable" + tooltip = "[Character.MakeScope.GetScriptValueDesc(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + } + } + expand = { + visible = "[Not(Character.HasRelationTo( GetPlayer ))]" + } + } + + + } + + } + } + } +} diff --git a/gui/wc_texticons.gui b/gui/wc_texticons.gui new file mode 100644 index 0000000000..fd3236c995 --- /dev/null +++ b/gui/wc_texticons.gui @@ -0,0 +1,202 @@ +texticon = { + icon = wc_full_mana_icon + iconsize = { + texture = "gfx/interface/icons/currencies/icon_full_mana_crystal.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_half_mana_icon + iconsize = { + texture = "gfx/interface/icons/currencies/icon_half_mana_crystal.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_empty_mana_icon + iconsize = { + texture = "gfx/interface/icons/currencies/icon_empty_mana_crystal.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_stat_mana_icon + iconsize = { + texture = "gfx/interface/icons/currencies/icon_stat_mana_crystal.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_spell_icon + iconsize = { + texture = "gfx/interface/icons/icon_spellbook.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} + +texticon = { + icon = wc_elemental_fire_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_fire.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_fire_neutral_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_fire_neutral.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_fire_spirit_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_fire_spirit.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_fire_decay_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_fire_decay.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} + +texticon = { + icon = wc_elemental_water_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_water.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_water_neutral_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_water_neutral.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_water_spirit_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_water_spirit.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_water_decay_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_water_decay.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} + +texticon = { + icon = wc_elemental_air_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_air.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_air_neutral_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_air_neutral.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_air_spirit_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_air_spirit.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_air_decay_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_air_decay.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} + +texticon = { + icon = wc_elemental_earth_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_earth.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_earth_neutral_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_earth_neutral.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_earth_spirit_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_earth_spirit.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_elemental_earth_decay_icon + iconsize = { + texture = "gfx/interface/icons/wc_elements/elemental_earth_decay.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} +texticon = { + icon = wc_magical_prowess_icon + iconsize = { + texture = "gfx/interface/icons/icon_magical_prowess.dds" + size = { 25 25 } + offset = { 0 6 } + fontsize = 16 + } +} \ No newline at end of file diff --git a/gui/wc_widget_unions.gui b/gui/wc_widget_unions.gui index b64c3532a2..0517b7b7c7 100644 --- a/gui/wc_widget_unions.gui +++ b/gui/wc_widget_unions.gui @@ -17,7 +17,6 @@ using = Sound_WindowShow_Standard using = Window_Position_MainTab on_start = "[GetVariableSystem.Set( 'right_window_open', 'pol_factions' )]" - } state = { diff --git a/gui/window_artifact_details.gui b/gui/window_artifact_details.gui new file mode 100644 index 0000000000..b20abd47ce --- /dev/null +++ b/gui/window_artifact_details.gui @@ -0,0 +1,720 @@ +window = { + name = "artifact_details_view" + size = { 1000 60% } + layer = middle + + position = { 500 200 } + + using = Window_Movable + using = Window_Background + using = Window_Decoration_Spike + + datacontext = "[GetVariableSystem]" + datacontext = "[ArtifactDetailsView.GetArtifact]" + + state = { + name = _show + using = Animation_FadeIn_Standard + on_start = "[GetVariableSystem.Set( 'details_right_side_tab', 'claims' )]" + } + + state = { + name = _hide + using = Animation_FadeOut_Standard + } + + vbox = { + using = Window_Margins + + header_pattern = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "ARTIFACT_DETAILS_TITLE" + } + + blockoverride "button_close" + { + onclick = "[ArtifactDetailsView.Close]" + } + } + + hbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + # left vbox is the artifact details + vbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + minimumsize = { 400 -1 } + + hbox = { + layoutpolicy_horizontal = expanding + + background = { + using = Background_Area + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + } + } + + vbox = { + layoutpolicy_vertical = expanding + + button_artifact = { + size = { 160 160 } + } + + expand = {} + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_top = 13 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + text = "[Artifact.GetRarityAndType]" + max_width = 250 + using = Font_Size_Small + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + + text_multi = { + text = "[Artifact.GetNameNoTooltip]" + max_width = 250 + autoresize = yes + using = Font_Size_Medium + default_format = "#high" + } + + expand = {} + + vbox = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + hbox = { + layoutpolicy_horizontal = expanding + margin_right = 10 + + expand = {} + + button_edit_text = { + visible = "[Artifact.GetOwner.IsLocalPlayer]" + onclick = "[Artifact.OpenRenameWindow]" + tooltip = "RENAME_ARTIFACT" + size = { 25 25 } + } + + button_kill_list = { + visible = "[DataModelHasItems( Artifact.GetKills )]" + onclick = "[ToggleGameViewData( 'artifact_kill_list', Artifact.GetID )]" + tooltip = "OPEN_ARTIFACT_KILL_LIST_TOOLTIP" + size = { 25 25 } + } + } + + expand = {} + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + + hbox_artifact_durability = { + visible = "[Artifact.GetOwner.IsLocalPlayer]" + margin_top = 5 + } + + expand = {} + } + + hbox = { + visible = "[Artifact.GetOwner.IsLocalPlayer]" + layoutpolicy_horizontal = expanding + margin_top = 5 + + hbox = { + spacing = 5 + + button_round = { + name = "reforge" + size = { 30 30 } + + button_icon_highlight = { + parentanchor = center + size = { 20 20 } + texture = "gfx/interface/icons/flat_icons/reforge.dds" + } + + onclick = "[ToggleGameViewData( 'reforge_artifact', Artifact.GetID )]" + tooltip = "[Artifact.GetReforgeOrRepairTooltip( Artifact.GetOwner.Self )]" + enabled = "[Artifact.CanReforgeOrRepair( Artifact.GetOwner.Self )]" + + icon = { + name = "selection_glow" + visible = "[Artifact.IsDurabilityLow]" + parentanchor = center + size = { 45 45 } + + state = { + trigger_on_create = yes + + name = max_glow + next = min_glow + duration = 1 + using = Animation_Curve_Default + alpha = 0.5 + } + + state = { + name = min_glow + next = max_glow + duration = 1.6 + using = Animation_Curve_Default + alpha = 0.3 + } + + background = { + texture = "gfx/interface/component_masks/mask_fade_circle.dds" + tintcolor = { 1 0.8 0.6 1 } + } + } + } + + text_single = { + text = "REFORGE_OR_REPAIR" + max_width = 200 + align = nobaseline + } + + expand = {} + } + + expand = {} + } + + hbox = { + visible = "[Artifact.GetOwner.IsPlayerInteractionWithTargetArtifactValid( 'destroy_artifact_interaction', Artifact.Self )]" + layoutpolicy_horizontal = expanding + spacing = 5 + + hbox = { + spacing = 5 + + button_round = { + name = "destroy" + size = { 30 30 } + + button_icon_highlight = { + parentanchor = center + size = { 20 20 } + texture = "gfx/interface/icons/flat_icons/destroy_artifact.dds" + } + + visible = "[Artifact.GetOwner.IsPlayerInteractionShown( 'destroy_artifact_interaction' )]" + enabled = "[Artifact.GetOwner.IsPlayerInteractionWithTargetArtifactValid( 'destroy_artifact_interaction', Artifact.Self )]" + onclick = "[Artifact.GetOwner.OpenPlayerInteractionWithTargetArtifact( 'destroy_artifact_interaction', Artifact.Self )]" + tooltip = "[Artifact.GetOwner.GetPlayerInteractionWithTargetArtifactTooltip( 'destroy_artifact_interaction', Artifact.Self )]" + } + + text_single = { + text = "INVENTORY_DESTROY_ARTIFACT" + max_width = 200 + align = nobaseline + } + + expand = {} + } + # Warcraft + button_standard = { + size = { 125 30 } + text = "ANIMATE_RAGE_TEXT" + tooltip = "wc_elemental_fire_magic_tree_2_perk_3_desc" + onclick = "[GetScriptedGui( 'animate_rage_effect_sgui' ).Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('artifact', Artifact.MakeScope).End )]" + onclick = "[ArtifactDetailsView.Close]" + visible = "[GetScriptedGui( 'can_animate_rage_sgui' ).IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).End )]" + } + + expand = {} + } + + vbox = { + spacing = 5 + visible = "[And( Not( Artifact.GetOwner.IsLocalPlayer ), Artifact.HasClaim( GetPlayer ) )]" + layoutpolicy_horizontal = expanding + margin_bottom = 5 + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + text = "DETAILS_TAB_CLAIM_INTERACTIONS" + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 2 + + expand = {} + + button_round = { + name = "steal" + size = { 35 35 } + + button_icon_highlight = { + parentanchor = center + size = { 25 25 } + texture = "gfx/interface/icons/flat_icons/scheme.dds" + } + + enabled = "[Artifact.GetOwner.IsPlayerInteractionValid('start_stealing_back_artifact')]" + onclick = "[Artifact.GetOwner.OpenPlayerInteraction('start_stealing_back_artifact')]" + tooltip = "[Artifact.GetOwner.GetPlayerInteractionTooltip( 'start_stealing_back_artifact' )]" + } + + button_round = { + name = "declare_war" + size = { 35 35 } + + button_icon_highlight = { + size = { 25 25 } + parentanchor = center + texture = "gfx/interface/icons/flat_icons/declare_war.dds" + } + + enabled = "[Artifact.GetOwner.IsPlayerInteractionValid('declare_war_interaction')]" + onclick = "[Artifact.GetOwner.OpenPlayerInteraction('declare_war_interaction')]" + tooltip = "[Artifact.GetOwner.GetPlayerInteractionTooltip('declare_war_interaction')]" + } + + button_round = { + name = "duel" + size = { 35 35 } + + button_icon_highlight = { + parentanchor = center + size = { 25 25 } + texture = "gfx/interface/icons/flat_icons/duel.dds" + } + + enabled = "[Artifact.GetOwner.IsPlayerInteractionValid('challenge_for_artifact_interaction')]" + onclick = "[Artifact.GetOwner.OpenPlayerInteraction('challenge_for_artifact_interaction')]" + tooltip = "[Artifact.GetOwner.GetPlayerInteractionTooltip('challenge_for_artifact_interaction')]" + } + + expand = { + layoutpolicy_horizontal = expanding + } + } + + expand = {} + } + + expand = {} + } + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + hbox = { + layoutpolicy_horizontal = expanding + margin = { 20 0 } + + text_multi = { + text = "[Artifact.GetModifierEffects]" + margin_bottom = 10 + margin_top = 5 + max_width = 410 + autoresize = yes + } + + expand = {} + } + + spacer = { + size = { 0 5 } + } + + hbox = { + name = "fallback" + visible = "[Not( Artifact.CanBenefitPlayer )]" + layoutpolicy_horizontal = expanding + margin = { 20 0 } + + text_multi = { + text = "ARTIFACT_FALLBACK_EFFECT" + max_width = 390 + autoresize = yes + + margin_bottom = 5 + } + + expand = {} + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + scrollbox = { + name = "artifact_description_scrollarea" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + blockoverride "scrollbox_background" + { + background = { + using = Background_Area + } + } + + scrollwidget = { + text_multi = { + name = "artifact_description" + text = "[Artifact.GetDesc]" + max_width = 410 + autoresize = yes + default_format = "#flavor" + + margin_top = 15 + margin_left = 20 + } + } + + blockoverride "scrollbox_background_fade" { + icon = { + alpha = 0 + } + } + } + } + } + + expand = {} + } + + # right vbox is claims and history tabs + vbox = { + layoutpolicy_vertical = expanding + minimumsize = { 500 -1 } + + hbox = { + name = "right_side_tabs" + layoutpolicy_horizontal = expanding + + button_tab = { + layoutpolicy_horizontal = expanding + text = "DETAILS_TAB_CLAIMS" + onclick = "[VariableSystem.Set( 'details_right_side_tab', 'claims' )]" + down = "[VariableSystem.HasValue( 'details_right_side_tab', 'claims' )]" + } + + button_tab = { + layoutpolicy_horizontal = expanding + text = "DETAILS_TAB_HISTORY" + onclick = "[VariableSystem.Set( 'details_right_side_tab', 'history' )]" + down = "[VariableSystem.HasValue( 'details_right_side_tab', 'history' )]" + } + } + + scrollbox = { + name = "history" + visible = "[VariableSystem.HasValue( 'details_right_side_tab', 'history' )]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + blockoverride "scrollbox_content" { + fixedgridbox = { + name = "history_list" + datamodel = "[Artifact.GetHistory.GetEntries]" + addcolumn = 500 + addrow = 142 + + item = { + widget = { + minimumsize = { 470 138 } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + using = Background_Area_With_Header + } + + hbox = { + layoutpolicy_horizontal = expanding + + text_single = { + text = "[HistoryEntry.GetTitle]" + margin = { 10 6 } + align = nobaseline + max_width = 400 + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 10 0 } + + portrait_head_small = { + name = "actor" + datacontext = "[HistoryEntry.GetActor]" + visible = "[HistoryEntry.HasActor]" + } + + vbox = { + layoutpolicy_horizontal = expanding + margin = { 5 0 } + + text_multi = { + text = "[HistoryEntry.GetDescription]" + maximumsize = { 270 90 } + min_width = 270 + autoresize = yes + fontsize_min = 12 + } + } + + expand = {} + + vbox = { + name = "actor_house" + datacontext = "[HistoryEntry.GetActor.GetHouse]" + visible = "[And( Or( Not( HistoryEntry.HasRecipient ), ObjectsEqual( HistoryEntry.GetRecipient, HistoryEntry.GetActor ) ), HistoryEntry.GetActor.IsValid )]" + margin = { 5 0 } + + coa_house_small = {} + + text_multi = { + text = "[DynastyHouse.GetBaseNameNoTooltip]" + max_width = 80 + autoresize = yes + } + } + + portrait_head_small = { + name = "recipient" + datacontext = "[HistoryEntry.GetRecipient]" + visible = "[And( HistoryEntry.HasRecipient, Not( ObjectsEqual( HistoryEntry.GetRecipient, HistoryEntry.GetActor ) ) )]" + + blockoverride "portrait_transformation" + { + portrait_scale = { -1 1 } + portrait_offset = { 1 0 } + } + } + } + } + } + } + } + } + } + + scrollbox = { + name = "artifact_claims" + visible = "[VariableSystem.HasValue( 'details_right_side_tab', 'claims' )]" + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + + blockoverride "scrollbox_empty" + { + visible = "[IsDataModelEmpty(ArtifactDetailsView.GetClaimants)]" + text = "DETAILS_TAB_NO_CLAIMANTS" + } + + blockoverride "scrollbox_content" { + fixedgridbox = { + name = "claims_list" + datamodel = "[ArtifactDetailsView.GetClaimants]" + addcolumn = 500 + addrow = 142 + + item = { + widget = { + size = { 470 138 } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + using = Background_Area_With_Header + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_left = 10 + margin_right = 22 + + hbox = { + layoutpolicy_horizontal = expanding + margin_top = 5 + margin_bottom = 8 + + text_single = { + name = "character_name" + visible = "[ClaimantEntry.IsCharacter]" + text = "[ClaimantEntry.GetCharacter.GetUINameNoTooltip|U]" + max_width = 400 + } + + text_single = { + name = "house_name" + visible = "[ClaimantEntry.IsHouse]" + text = "[house|E] [ClaimantEntry.GetHouse.GetNameNoTooltip]" + max_width = 400 + } + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + margin_top = 5 + margin_bottom = 9 + + portrait_head_small = { + name = "character" + visible = "[ClaimantEntry.IsCharacter]" + datacontext = "[ClaimantEntry.GetCharacter]" + } + + coa_house_medium = { + name = "house" + visible = "[ClaimantEntry.IsHouse]" + datacontext = "[ClaimantEntry.GetHouse]" + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + hbox = { + layoutpolicy_horizontal = expanding + visible = "[ClaimantEntry.IsHouse]" + margin_left = 10 + + text_single = { + text = "CLAIMANT_ENTRY_HOUSE_HEAD" + align = nobaseline + multiline = yes + max_width = 240 + } + + expand = {} + } + + expand = {} + + hbox = { + layoutpolicy_horizontal = expanding + spacing = 6 + + icon = { + name = "flag_icon" + visible = "[And( ClaimantEntry.IsCharacter, Not( ClaimantEntry.CanDeclareWarForClaim ) )]" + texture = "gfx/interface/icons/icon_retreat.dds" + size = { 30 30 } + tooltip = "CLAIMANT_NOT_A_THREAT" + using = tooltip_ne + } + + text_single = { + datacontext = "[ClaimantEntry.GetCharacter]" + + visible = "[And( ClaimantEntry.IsCharacter, Not( ClaimantEntry.CanDeclareWarForClaim ) )]" + layoutpolicy_horizontal = expanding + text = "CHARACTER_CANNOT_DECLARE_WAR_SHORT" + align = nobaseline + } + } + } + } + } + } + + widget = { + name = "army_composition" + datacontext = "[ClaimantEntry.GetArmyComposition]" + visible = "[GreaterThan_int32(ArmyComposition.GetCurrentNumberOfSoldiers, '(int32)0' )]" + size = { 120 45 } + parentanchor = right|bottom + position = { -10 -10 } + + background = { + using = Background_Area_Dark + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + tooltip = "[ArmyComposition.GetArmyCompositionTooltip]" + + margin = { 0 6 } + + hbox = { + spacing = 6 + + icon = { + name = "icon_soldier" + size = { 25 25 } + texture = "gfx/interface/icons/icon_soldier.dds" + } + + text_single = { + text = "[ArmyComposition.GetSoldierCountString]" + using = Font_Size_Medium + default_format = "#high" + align = nobaseline + } + + army_quality_icon = {} + } + + progressbar_standard = { + name = "soldiers_max" + size = { 40 8 } + + min = 0 + max = "[IntToFloat(ArmyComposition.GetMaxNumberOfSoldiers)]" + value = "[IntToFloat(ArmyComposition.GetCurrentNumberOfSoldiers)]" + } + } + } + } + } + } + } + } + } + } + } + } +} diff --git a/gui/window_character.gui b/gui/window_character.gui index e92d7e5912..eb874050f9 100644 --- a/gui/window_character.gui +++ b/gui/window_character.gui @@ -157,6 +157,7 @@ window = { } hbox = { + margin_top = 50 layoutpolicy_horizontal = expanding expand = {} @@ -613,7 +614,36 @@ window = { texture = "gfx/interface/icons/culture_pillars/language.dds" } } + # Warcraft + # cast spell button + button_normal = { + name = cast_spell_button + tooltip = "CAST_SPELL_tt" + size = { 35 35 } + + visible = "[GetScriptedGui('wc_in_diplo_range_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', Character.MakeScope).End)]" + onclick = "[GetScriptedGui('set_spell_target_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'target', Character.MakeScope).End)]" + onclick = "[GetVariableSystem.Set( 'spellbook_window', 'yes' )]" + icon = { + texture = "gfx/interface/icons/icon_spellbook.dds" + size = { 100% 100% } + } + } + # cast spell raise dead + button_normal = { + name = cast_spell_raise_dead_button + tooltip = "[Select_CString( GetScriptedGui('wc_raise_dead_enabled_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', Character.MakeScope).End), Localize('CAST_RAISE_DEAD_tt'), Localize('CAST_RAISE_DEAD_DISABLED_tt'))]" + size = { 35 35 } + visible = "[GetScriptedGui('wc_raise_dead_valid_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', Character.MakeScope).End)]" + enabled = "[GetScriptedGui('wc_raise_dead_enabled_sgui').IsValid( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope('target', Character.MakeScope).End)]" + onclick = "[GetScriptedGui('set_spell_target_sgui').Execute( GuiScope.SetRoot( GetPlayer.MakeScope ).AddScope( 'target', Character.MakeScope).End)]" + onclick = "[GetVariableSystem.Set( 'raise_dead_window', 'yes' )]" + icon = { + texture = "gfx/interface/icons/icon_spellbook.dds" + size = { 100% 100% } + } + } ## barbershop button button_normal = { name = "open_barbershop" @@ -686,71 +716,72 @@ window = { } } - button_normal = { - name = "open_focus_button" - size = { 35 35 } - - visible = "[Or( Character.GetFocus.IsValid, Character.PlayerCanManageFocus )]" - tooltip = "PLAYER_LIFESTYLE_TOOLTIP" - using = tooltip_ne - - icon = { - texture = "gfx/interface/buttons/button_lifestyles_base.dds" - size = { 100% 100% } - } - - highlight_icon_lifestyle_focus = { - size = { 100% 100% } - visible = "[And(GreaterThan_int32( Character.GetTotalPerkPoints, '(int32)0' ), Character.IsLocalPlayer)]" - texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]" - - modify_texture = { - texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" - blend_mode = alphamultiply - } - - state = { - name = a - next = b - alpha = 0 - trigger_on_create = yes - duration = 1.2 - using = Animation_Curve_Default - } - - state = { - name = b - next = a - alpha = 0.5 - duration = 0.6 - using = Animation_Curve_Default - } - - glow = { - glow_radius = 2 - glow_generation_rules= { - glow_alpha_mask = 0 - glow_blur_passes = 2 - glow_texture_downscale = 2.5f - glow_ignore_inside_pixels = yes - } - using = Color_Orange - } - } - - highlight_icon_lifestyle_focus = { - size = { 100% 100% } - texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]" - onclick = "[CharacterWindow.OnClickFocusButton]" - enabled = "[CharacterWindow.CanClickFocusButton]" - tooltip = "[CharacterWindow.GetFocusButtonTooltip]" - - modify_texture = { - texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" - blend_mode = alphamultiply - } - } - } + # button_normal = { + # name = "open_focus_button" + # size = { 35 35 } + + # visible = "[Or( Character.GetFocus.IsValid, Character.PlayerCanManageFocus )]" + # tooltip = "PLAYER_LIFESTYLE_TOOLTIP" + # using = tooltip_ne + + + # icon = { + # texture = "gfx/interface/buttons/button_lifestyles_base.dds" + # size = { 100% 100% } + # } + + # highlight_icon_lifestyle_focus = { + # size = { 100% 100% } + # visible = "[And(GreaterThan_int32( Character.GetTotalPerkPoints, '(int32)0' ), Character.IsLocalPlayer)]" + # texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]" + + # modify_texture = { + # texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" + # blend_mode = alphamultiply + # } + + # state = { + # name = a + # next = b + # alpha = 0 + # trigger_on_create = yes + # duration = 1.2 + # using = Animation_Curve_Default + # } + + # state = { + # name = b + # next = a + # alpha = 0.5 + # duration = 0.6 + # using = Animation_Curve_Default + # } + + # glow = { + # glow_radius = 2 + # glow_generation_rules= { + # glow_alpha_mask = 0 + # glow_blur_passes = 2 + # glow_texture_downscale = 2.5f + # glow_ignore_inside_pixels = yes + # } + # using = Color_Orange + # } + # } + + # highlight_icon_lifestyle_focus = { + # size = { 100% 100% } + # texture = "[CharacterWindow.GetCharacter.GetFocus.GetIcon]" + # onclick = "[CharacterWindow.OnClickFocusButton]" + # enabled = "[CharacterWindow.CanClickFocusButton]" + # tooltip = "[CharacterWindow.GetFocusButtonTooltip]" + + # modify_texture = { + # texture = "gfx/interface/icons/focuses/hud_icon_mask.dds" + # blend_mode = alphamultiply + # } + # } + # } button_open_inventory = { visible = "[Character.IsAlive]" @@ -867,13 +898,26 @@ window = { spacing = -3 icon = { - visible = "[Not(Character.IsDeadAndValid)]" + visible = "[And(Not(Character.IsDeadAndValid), NotEqualTo_CFixedPoint(GetGlobalVariable('dangerous_magic').GetValue, '(CFixedPoint)0'))]" size = { 23 23 } + framesize = { 60 60 } + frame = "[Character.GetHealthIconFrame]" + texture = "gfx/interface/icons/character_status/icon_health.dds" + tooltipwidget = { + widget_hp_breakdown_tooltip = { + datacontext = "[CharacterWindow.GetCharacter.MakeScope]" + } + } + } + + icon = { + visible = "[And(Not(Character.IsDeadAndValid), EqualTo_CFixedPoint(GetGlobalVariable('dangerous_magic').GetValue, '(CFixedPoint)0'))]" size = { 23 23 } framesize = { 60 60 } frame = "[Character.GetHealthIconFrame]" texture = "gfx/interface/icons/character_status/icon_health.dds" tooltip = "[Character.GetHealthInfo]" } + icon = { visible = "[Character.IsDeadAndValid]" size = { 23 23 } @@ -1226,8 +1270,19 @@ window = { vbox = { name = "realm_info" min_width = 592 - - hbox_character_view_secondary_stats_bar = {} + scrollarea = { + layoutpolicy_horizontal = expanding + minimumsize = { 0 55 } + scrollbarpolicy_vertical = always_off + scrollbarpolicy_horizontal = as_needed + + scrollbar_horizontal = { + using = Scrollbar_Horizontal + } + scrollwidget = { + hbox_character_view_secondary_stats_bar = {} + } + } hbox = { layoutpolicy_horizontal = expanding @@ -1365,8 +1420,12 @@ window = { max_width = 250 } - expand = {} - } + expand = {} + } + + divider = { + layoutpolicy_horizontal = expanding + } hbox = { layoutpolicy_horizontal = expanding @@ -4538,6 +4597,48 @@ types CharacterWindow } } + # Warcraft + # Magical Prowess + widget = { + size = { 72 32 } + + hbox = { + datacontext = "[GetScriptedGui('wc_show_mp_gui')]" + datacontext = "[CharacterWindow.GetCharacter.MakeScope]" + visible = "[ScriptedGui.IsShown( GuiScope.SetRoot( Character.MakeScope ).End)]" + + tooltipwidget = { + widget_mp_breakdown_tooltip = { + datacontext = "[CharacterWindow.GetCharacter.MakeScope]" + } + } + + # divider_light = { + # layoutpolicy_vertical = expanding + # } + + expand = {} + + icon = { + size = { 32 32 } + + texture = "gfx/interface/icons/icon_magical_prowess.dds" + framesize = { 70 70 } + #frame = "[IntToFrameIndex( LegitimacyLevel.GetIndex )]" + } + + spacing = 5 + + text_single = { + text = "CHARACTER_WINDOW_MP_AMOUNT_LINE" + default_format = "#high" + align = nobaseline + } + + expand = {} + } + } + #Legitimacy widget = { layoutpolicy_vertical = expanding diff --git a/gui/window_character_finder.gui b/gui/window_character_finder.gui new file mode 100644 index 0000000000..5dd83216ee --- /dev/null +++ b/gui/window_character_finder.gui @@ -0,0 +1,232 @@ +### LIST TEMPLATE + +window = { + name = "character_finder_window" + # size = { 750 90% } + parentanchor = top|right + position = { -50 65 } + allow_outside = yes + layer = middle + + using = Window_Background + using = Window_Decoration_Spike + using = Window_Size_CharacterList + + datacontext = "[CharacterFinderWindow.GetCharacterList]" + + state = { + name = _show + using = Animation_FadeIn_Quick + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + } + + vbox = { + using = Window_Margins + + # Warcraft + header_pattern = { + layoutpolicy_horizontal = expanding + + visible = "[Not(GetVariableSystem.HasValue( 'character_finder_magic', 'yes' ))]" + + blockoverride "header_text" + { + text = "CHARACTER_FINDER_TITLE" + } + + blockoverride "button_close" + { + onclick = "[CharacterFinderWindow.Close]" + } + } + + header_pattern = { + layoutpolicy_horizontal = expanding + + visible = "[GetVariableSystem.HasValue( 'character_finder_magic', 'yes' )]" + + blockoverride "header_text" + { + text = "CHOOSE_SPELL_TARGET" + } + + blockoverride "button_close" + { + onclick = "[CharacterFinderWindow.Close]" + } + } + # Warcraft magic list + vbox_character_list = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + visible = "[GetVariableSystem.HasValue( 'character_finder_magic_selection', 'yes' )]" + + blockoverride "scrollbox_empty_visibility" + { + layoutpolicy_vertical = expanding + visible = "[Not( CharacterSelectionList.HasItems )]" + text = "CHARACTER_FINDER_NO_MATCH" + } + + blockoverride "container_implementation" { + fixedgridbox = { + addcolumn = 630 + addrow = 92 + + name = "characters_grid" + datamodel_reuse_widgets = yes + datamodel = "[CharacterSelectionList.GetList]" + visible = "[Not(CharacterSelectionList.IsBuildingList)]" + + item = { + widget_character_list_item_magic = { + datacontext = "[CharacterListItem.GetCharacter]" + size = { 630 94 } + } + } + } + } + } + # End Warcraft magic list + vbox_character_list = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + visible = "[Not(GetVariableSystem.HasValue( 'character_finder_magic_selection', 'yes' ))]" + + blockoverride "scrollbox_empty_visibility" + { + layoutpolicy_vertical = expanding + visible = "[Not( CharacterSelectionList.HasItems )]" + text = "CHARACTER_FINDER_NO_MATCH" + } + + blockoverride "container_implementation" { + fixedgridbox = { + addcolumn = 630 + addrow = 92 + + name = "characters_grid" + datamodel_reuse_widgets = yes + datamodel = "[CharacterSelectionList.GetList]" + visible = "[Not(CharacterSelectionList.IsBuildingList)]" + + item = { + widget_character_list_item_finder = { + size = { 630 94 } + } + } + } + } + } + } + + window_character_filter = { + blockoverride "addition_filter" { + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilterWithDefault('relation_filter', '(int32)1')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('range_filter')]" + } + + vbox_filter_group = { + layoutpolicy_horizontal = expanding + + datacontext = "[CharacterSelectionList.GetCategory('personal_filter_category')]" + blockoverride "filters" { + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('ruler_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('vassal_stance_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('adult_filter')]" + } + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('gender_filter')]" + } + + divider = { + layoutpolicy_horizontal = expanding + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('married_filter')]" + } + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('imprisoned_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('hook_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('inspiration_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('sexuality_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('artifact_filter')]" + } + } + } + + vbox_filter_group = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetCategory('politics_filter_category')]" + blockoverride "filters" { + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('hostage_filter')]" + } + } + } + + vbox_filter_group = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetCategory('membership_filter_category')]" + blockoverride "filters" { + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('religion_filter')]" + } + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('culture_filter')]" + } + + + filter_item = { + layoutpolicy_horizontal = expanding + datacontext = "[CharacterSelectionList.GetFilter('dynasty_filter')]" + } + } + } + } + } +} diff --git a/gui/window_character_lifestyle.gui b/gui/window_character_lifestyle.gui new file mode 100644 index 0000000000..aefc4fa77f --- /dev/null +++ b/gui/window_character_lifestyle.gui @@ -0,0 +1,2192 @@ +###################################################### +################### LIFESTYLES ####################### +###################################################### + +window = { + name = "character_lifestyle_window" + size = { 100% 100% } + parentanchor = center|hcenter + # position = { 80 20 } + movable = no + filter_mouse = all + layer = middle + + datacontext = "[CharacterLifestyleWindow.GetCharacter]" + datacontext = "[CharacterLifestyleWindow.GetSelectedLifestyle]" + + using = Window_Background_No_Edge + + background = { + texture = "gfx/interface/component_masks/mask_fade_corner.dds" + color = { 0.12 0.12 0.12 1 } + mirror = horizontal + margin_right = -1200 + alpha = 0.6 + } + + state = { + name = _show + using = Animation_FadeIn_Standard + using = Sound_WindowShow_Standard + using = Sound_Window_AmbienceMute_Snapshot + + on_start = "[GetVariableSystem.Set( 'lifestyle_open', 'true' )]" + } + + state = { + name = _hide + using = Animation_FadeOut_Standard + using = Sound_WindowHide_Standard + + on_start = "[GetVariableSystem.Clear( 'lifestyle_open' )]" + } + + + ### Select Focus start screen + vbox = { + name = "lifestyle_selection" + visible = "[Not( Lifestyle.IsValid )]" + + margin_top = 10 + + state = { + name = _show + using = Animation_FadeIn_Quick + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + } + + header_standard = { + layoutpolicy_horizontal = expanding + + blockoverride "header_text" + { + text = "CHARACTER_LIFESTYLE_HEADER" + } + + blockoverride "button_close" + { + onclick = "[CharacterLifestyleWindow.Close]" + } + } + + background = { + using = Background_Bottom_Fade + } + + background = { + using = Background_Area_Dark + margin = { 0 -100 } + alpha = 0.3 + } + + # Warcraft + scrollarea = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + scrollbarpolicy_vertical = always_off + scrollbaralign_horizontal = top + scrollbar_horizontal = { + using = Scrollbar_Horizontal_White + } + + scrollwidget = { # Indentation is intentionaly fucked up for easier updates to new vanilla version + + hbox = { + name = "lifestyles" + datamodel = "[CharacterLifestyleWindow.GetLifestyles]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 0 150 } + margin_left = 230 + margin_right = 80 + spacing = 10 + max_width = 2080 + + item = { + button_normal = { + layoutpolicy_vertical = expanding + layoutpolicy_horizontal = expanding + onclick = "[CharacterLifestyleWindow.OpenLifestyle( Lifestyle.Self )]" + onclick = "[PlaySfxEvent( Concatenate( 'event:/SFX/UI/Character/Lifestyle/sfx_ui_character_lifestyle_', Lifestyle.GetKey ) )]" + #clicksound = + maximumsize = { -1 900 } + + # Warcraft + minimumsize = { 300 -1 } + + effectname = "NoHighlight" + #gfxtype = propstretchedicongfx + #shaderfile = "gfx/FX/pdxgui_default.shader" + + texture = "[Lifestyle.GetBackground]" + + modify_texture = { + texture = "gfx/interface/window_lifestyles/lifestyles_illustration_mask.dds" + blend_mode = alphamultiply + spriteType = Corneredstretched + spriteborder = { 30 30 } + } + + button = { + size = { 100% 100% } + alpha = 0 + onclick = "[CharacterLifestyleWindow.OpenLifestyle( Lifestyle.Self )]" + onclick = "[PlaySfxEvent( Concatenate( 'event:/SFX/UI/Character/Lifestyle/sfx_ui_character_lifestyle_', Lifestyle.GetKey ) )]" + + state = { + name = _mouse_enter + alpha = 1 + } + + state = { + name = _mouse_leave + alpha = 0 + } + + background = { + texture = "gfx/interface/window_lifestyles/lifestyles_illustration_hover.dds" + spriteType = Corneredtiled + spriteborder = { 30 30 } + alpha = 1 + + modify_texture = { + texture = "gfx/interface/window_lifestyles/lifestyles_illustration_mask.dds" + blend_mode = alphamultiply + spriteType = Corneredtiled + spriteborder = { 30 30 } + } + } + } + + icon = { + size = { 100% 100% } + using = Background_Bottom_Fade + mirror = vertical + + modify_texture = { + texture = "gfx/interface/window_lifestyles/lifestyles_illustration_mask.dds" + blend_mode = alphamultiply + spriteType = Corneredtiled + spriteborder = { 30 30 } + } + } + icon = { + size = { 100% 28% } + using = Background_Area_Dark + mirror = vertical + + modify_texture = { + texture = "gfx/interface/window_lifestyles/lifestyles_illustration_mask.dds" + blend_mode = alphamultiply + spriteType = Corneredtiled + spriteborder = { 30 30 } + } + } + + icon = { + parentanchor = top|hcenter + position = { 0 -50 } + size = { 120 120 } + texture = "[Lifestyle.GetIcon]" + framesize = { 160 160 } + } + + text_multi = { + parentanchor = top|right + position = { -20 10 } + visible = "[GreaterThan_int32( Character.GetPerkPointsUsed( Lifestyle.Self ), '(int32)0' )]" + + text = "LIFESTYLE_POINTS_ALREADY_USED_TEXT" + default_format = "#low" + max_width = 60 + autoresize = yes + align = center + + background = { + using = Background_Area_Dark + margin = { 10 0 } + margin_bottom = 5 + } + } + + vbox = { + margin = { 10 30 } + margin_top = 60 + + vbox = { + layoutpolicy_horizontal = expanding + margin_top = 15 + spacing = 20 + + text_single = { + text = "[Lifestyle.GetNameNoTooltip]" + default_format = "#high" + using = Font_Type_Flavor + fontsize = 25 + } + + text_multi = { + text = "[Lifestyle.GetDescription]" + size = { 100 90 } + align = top|hcenter + layoutpolicy_horizontal = expanding + margin = { 5 0 } + } + + text_multi = { + visible = "[Lifestyle.IsHighlightedForCharacter( Character.Self )]" + layoutpolicy_horizontal = expanding + size = { 100 80 } + margin = { 10 0 } + text = "[Lifestyle.GetHighlightDescription]" + align = center + + background = { + using = Background_Area_Dark + } + } + + expand = {} + } + + vbox = { + text_single = { + visible = "[GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' )]" + text = "LIFESTYLE_POINTS_TO_USE_TEXT" + default_format = "#low" + max_width = 280 + + # animation_attention = {} + + background = { + using = Background_Area_Dark + margin = { 10 0 } + margin_bottom = 5 + } + } + } + + expand = {} + } + } + } + } + + # Warcraft + } + } + + } + + hbox = { + visible = "[Lifestyle.IsValid]" + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + layoutstretchfactor_horizontal = 3 + + background = { + texture = "[Lifestyle.GetBackground]" + alpha = 0.3 + + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_horizontal_extended.dds" + blend_mode = alphamultiply + } + } + } + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + layoutstretchfactor_horizontal = 7 + } + } + + widget = { + parentanchor = bottom|left + size = { 270 560 } + allow_outside = no + + portrait_lifestyles = { + alwaystransparent = "[Not(Lifestyle.IsValid)]" + parentanchor = bottom|left + position = { -110 0 } + } + } + + ### Focus View + vbox = { + name = "focus_view" + visible = "[Lifestyle.IsValid]" + + using = Window_Margins + + state = { + name = _show + using = Animation_FadeIn_Quick + } + + state = { + name = _hide + using = Animation_FadeOut_Quick + } + + background = { + texture = "gfx/interface/component_masks/mask_fade_vertical.dds" + margin_top = -500 + color = { 0 0 0 0.7 } + alpha = 0.7 + mirror = vertical + } + + ### HEADER + widget = { + name = "header_bar" + layoutpolicy_horizontal = expanding + size = { 0 85 } + + background = { + texture = "gfx/interface/component_tiles/tile_background_window_header.dds" + spriteType = Corneredtiled + spriteborder = { 20 20 } + margin = { 12 0 } + } + + # Warcraft + text_single = { # Copy of text_single below, exept for visible and text parts + + visible = "[Or(EqualTo_string( Lifestyle.GetKey, 'light_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'shadow_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'disorder_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'order_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'life_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'death_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' ),EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' ))))))))))]" # I HATE GUI MODDING, I HATE GUI MODDING + + parentanchor = vcenter + position = { 0 -8 } + margin_left = 5 + text = "WC_MAGIC_LIFESTYLE_WINDOW_TITLE" + using = Font_Type_Flavor + fontsize = 35 + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + } + + text_single = { + + # Warcraft + visible = "[Not(Or(EqualTo_string( Lifestyle.GetKey, 'light_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'shadow_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'disorder_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'order_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'life_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'death_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' ),Or(EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' ),EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' )))))))))))]" # I HATE GUI MODDING, I HATE GUI MODDING + + parentanchor = vcenter + position = { 0 -8 } + margin_left = 5 + text = "LIFESTYLE_WINDOW_TITLE" + using = Font_Type_Flavor + fontsize = 35 + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + } + + hbox = { + # Warcraft + position = { 100 0 } + + widget = { + layoutpolicy_vertical = expanding + + # Warcraft + size = { 1275 0 } + + background = { + texture = "gfx/interface/window_lifestyles/lifestyles_tabs_bg.dds" + margin = { 15 -10 } + } + + flowcontainer = { + name = "lifestyles" + datamodel = "[CharacterLifestyleWindow.GetLifestyles]" + spacing = 10 + parentanchor = center + + # Warcraft + position = { -10 0 } + + item = { + container = { + parentanchor = vcenter + + button_normal = { + visible = "[Not(EqualTo_string( Lifestyle.GetKey, CharacterLifestyleWindow.GetSelectedLifestyle.GetKey ))]" + parentanchor = center + size = { 70 70 } + framesize = { 160 160 } + onclick = "[CharacterLifestyleWindow.OpenLifestyle( Lifestyle.Self )]" + onclick = "[PdxGuiTriggerAllAnimations('lifestyle_tabs_refresh')]" + texture = "[Lifestyle.GetIcon]" + + effectname = "NoHighlight" + gfxtype = framedbuttongfx + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + + #Fade out if character has no perks in that lifestyle + alpha = "[Select_float( GreaterThan_int32(Character.GetPerkPointsUsed( Lifestyle.Self ),'(int32)0'),'(float)1.0','(float)0.6')]" + + tooltip = "LIFESTYLE_SELECT_TOOLTIP" + using = tooltip_se + + highlight_icon = { + visible = "[EqualTo_string( Lifestyle.GetKey, Character.GetLifestyle.GetKey )]" + size = { 100% 100%} + texture = "gfx/interface/buttons/button_lifestyles_active_frame.dds" + } + + button_round = { + visible = "[And(GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' ), Character.IsLocalPlayer)]" + parentanchor = bottom|right + size = { 28 28 } + frame = 1 + upframe = 1 + alwaystransparent = yes + + text_single = { + parentanchor = center + position = { 0 -3 } + text = "[Character.GetPerkPoints( Lifestyle.Self )]" + default_format = "#high" + max_width = 180 + align = center + } + } + } + + button_normal = { + visible = "[EqualTo_string( Lifestyle.GetKey, CharacterLifestyleWindow.GetSelectedLifestyle.GetKey )]" + parentanchor = center + size = { 70 70 } + framesize = { 160 160 } + texture = "[Lifestyle.GetIcon]" + + effectname = "NoHighlight" + gfxtype = framedbuttongfx + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + + tooltip = "LIFESTYLE_SELECT_TOOLTIP" + using = tooltip_se + + + + state = { + name = _show + size = { 90 90 } + duration = 0.15 + using = Animation_Curve_Default + } + + state = { + name = _hide + size = { 70 70 } + duration = 0.15 + using = Animation_Curve_Default + } + + icon = { + visible = "[EqualTo_string( Lifestyle.GetKey, Character.GetLifestyle.GetKey )]" + size = { 100% 100%} + texture = "gfx/interface/buttons/button_lifestyles_active_frame.dds" + } + + button_round = { + visible = "[And(GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' ), Character.IsLocalPlayer)]" + parentanchor = bottom|right + size = { 28 28 } + frame = 2 + upframe = 2 + alwaystransparent = yes + + text_single = { + parentanchor = center + position = { 0 -3 } + text = "[Character.GetPerkPoints( Lifestyle.Self )]" + default_format = "#high" + max_width = 180 + align = center + } + } + } + } + } + } + } + } + + flowcontainer = { + parentanchor = right|vcenter + position = { 10 0 } + spacing = 25 + + button_tertiary = { + visible = "[Character.IsLocalPlayer]" + parentanchor = vcenter + size = { 150 32 } + onclick = "[CharacterLifestyleWindow.OpenRefundPerks]" + enabled = "[CharacterLifestyleWindow.CanRefundPerks]" + + text = "REFUND_PERKS" + tooltip = "REFUND_PERKS_TOOLTIP" + } + + buttons_window_control = { + blockoverride "button_close" + { + onclick = "[CharacterLifestyleWindow.Close]" + } + } + } + } + + ### MAIN BODY + hbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + spacing = 5 + margin_top = 10 + + ## LEFT BAR + vbox = { + layoutpolicy_vertical = expanding + minimumsize = { 270 0 } + + vbox = { + + minimumsize = { 0 100 } + spacing = 10 + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + + # background = { + # texture = "gfx/interface/component_tiles/tile_background_window_header.dds" + # spriteType = Corneredtiled + # spriteborder = { 20 20 } + # margin = { 10 27 } + # margin_top = 54 + # } + + vbox = { + spacing = 10 + visible = "[Character.IsLocalPlayer]" + + + text_multi = { + layoutpolicy_horizontal = expanding + text = "[Lifestyle.GetDescription]" + using = Font_Size_Medium + autoresize = yes + max_width = 550 + min_width = 550 + + } + + text_multi = { + layoutpolicy_horizontal = expanding + visible = "[Lifestyle.IsHighlightedForCharacter( Character.Self )]" + text = "[Lifestyle.GetHighlightDescription]" + default_format = "#high;italic" + autoresize = yes + max_width = 550 + + } + } + + spacer = { + size = {550 10 } + visible = "[Not(Character.IsLocalPlayer)]" + } + + + + expand = {} + } + + hbox = { + layoutpolicy_horizontal = expanding + + expand = {} + + vbox = { + name = "focus_area" + datamodel = "[CharacterLifestyleWindow.GetFocuses]" + margin = { 10 0 } + spacing = 8 + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + + text_label_center = { + text = "LIFESTYLE_FOCUS_HEADER" + } + + text_single = { + visible = "[GetPlayer.GetLifestyle.IsValid]" + text = "FOCUS_CANCHANGE" + default_format = "#low" + } + + text_single = { + visible = "[Not( GetPlayer.GetLifestyle.IsValid )]" + text = "FOCUS_CANCHANGE_NO_FOCUS" + default_format = "#low" + # animation_attention_text = {} + } + + item = { + button_standard_clean = { + layoutpolicy_horizontal = expanding + size = { 300 240 } + + enabled = "[Or(CharacterLifestyleWindow.CanSelectFocus( FocusType.Self ), EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey ))]" + down = "[EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey )]" + onclick = "[CharacterLifestyleWindow.SelectFocus( FocusType.Self )]" + alwaystransparent = "[EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey )]" + + # Warcraft + widget = { # Focus tooltip + size = { 100% 100% } + visible = "[And(GetPlayer.CanPlayerChangeMyFocus, Not(Or(CharacterLifestyleWindow.CanSelectFocus( FocusType.Self ), EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey ))))]" + + vbox = { # Not available because of Light doctrine + tooltip = "LIGHT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'light_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'light_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'light_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Shadow doctrine + tooltip = "SHADOW_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'shadow_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'shadow_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'shadow_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Disorder doctrine + tooltip = "DISORDER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'disorder_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'disorder_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'disorder_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Order doctrine + tooltip = "ORDER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'order_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'order_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'order_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Life doctrine + tooltip = "LIFE_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'life_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'life_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'life_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Death doctrine + tooltip = "DEATH_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[Or( EqualTo_string( FocusType.GetKey, 'death_magic_focus_1' ), Or( EqualTo_string( FocusType.GetKey, 'death_magic_focus_2' ), EqualTo_string( FocusType.GetKey, 'death_magic_focus_3') ) ) ]" + } + vbox = { # Not available because of Fire doctrine + tooltip = "ELEMENTAL_FIRE_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_fire_magic_focus_1' )]" + } + vbox = { + tooltip = "ELEMENTAL_FIRE_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_fire_magic_focus_2' )]" + } + vbox = { + tooltip = "ELEMENTAL_FIRE_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_fire_magic_focus_3' )]" + } + vbox = { # Not available because of Water doctrine + tooltip = "ELEMENTAL_WATER_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_water_magic_focus_1' )]" + } + vbox = { + tooltip = "ELEMENTAL_WATER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_water_magic_focus_2' )]" + } + vbox = { + tooltip = "ELEMENTAL_WATER_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_water_magic_focus_3' )]" + } + vbox = { # Not available because of Air doctrine + tooltip = "ELEMENTAL_AIR_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_air_magic_focus_1' )]" + } + vbox = { + tooltip = "ELEMENTAL_AIR_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_air_magic_focus_2' )]" + } + vbox = { + tooltip = "ELEMENTAL_AIR_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_air_magic_focus_3' )]" + } + vbox = { # Not available because of Earth doctrine + tooltip = "ELEMENTAL_EARTH_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_earth_magic_focus_1' )]" + } + vbox = { + tooltip = "ELEMENTAL_EARTH_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_earth_magic_focus_2' )]" + } + vbox = { + tooltip = "ELEMENTAL_EARTH_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP" + tooltip_visible = "[EqualTo_string( FocusType.GetKey, 'elemental_earth_magic_focus_3' )]" + } + } + + blockoverride "disabled" {} + + background = { + using = Background_Area_Dark + alpha = 0.9 + } + + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'diplomacy_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_blue.dds" + alpha = 0.4 + } + + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'martial_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_red.dds" + alpha = 0.4 + } + + + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'stewardship_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_green.dds" + alpha = 0.4 + } + + + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'intrigue_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_purple.dds" + alpha = 0.4 + } + + + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'learning_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_gray.dds" + alpha = 0.4 + } + + # Warcraft + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'light_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_red.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'shadow_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_purple.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'disorder_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_green.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'order_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_purple.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'life_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_green.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'death_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_blue.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_red.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_blue.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_gray.dds" + alpha = 0.4 + } + background = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' )]" + texture = "gfx/interface/progressbars/progress_red.dds" + alpha = 0.4 + } + + vbox = { + margin = { 10 5 } + margin_bottom = 10 + spacing = 10 + + hbox = { + layoutpolicy_horizontal = expanding + margin_top = 3 + spacing = 7 + + highlight_icon_lifestyle_focus = { + texture = "[FocusType.GetIcon]" + alwaystransparent = yes + size = { 35 35 } + } + + text_single = { + text = "[FocusType.GetNameNoTooltip]" + layoutpolicy_horizontal = expanding + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + autoresize = no + + background = { + margin_left = 15 + margin_right = 5 + margin_top = 0 + + texture = "gfx/interface/component_tiles/tile_title_bg_01.dds" + spriteType = Corneredtiled + spriteborder = { 40 8 } + texture_density = 2 + + modify_texture = { + name = "mask" + texture = "gfx/interface/component_masks/mask_fade_horizontal.dds" + spriteType = Corneredstretched + spriteborder = { 0 0 } + blend_mode = alphamultiply + mirror = horizontal + } + } + } + + text_single = { + visible = "[EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey )]" + align = right|nobaseline + text = "CURRENT_FOCUS" + default_format = "#low;italic" + margin_right = 5 + } + } + + text_multi = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + alwaystransparent = yes + text = "LONG_FOCUS_TEXT" + align = left + } + } + + icon = { + visible = "[Not(Or(CharacterLifestyleWindow.CanSelectFocus( FocusType.Self ), EqualTo_string( FocusType.GetKey, Character.GetFocus.GetKey )))]" + size = { 100% 100% } + using = Background_Area_Dark + alpha = 0.5 + } + } + } + } + } + + expand = {} + } + + ## CENTER AREA + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin = { 20 0 } + margin_top = 15 + + background = { + #using = Background_Area_Dark + texture = "gfx/interface/window_lifestyles/lifestyles_tree_area_bg.dds" + margin = { 5 5 } + spriteType = Corneredtiled + spriteborder = { 200 200 } + # alpha = 0.8 + + # modify_texture = { + # texture = "gfx/interface/window_lifestyles/lifestyles_dark_bg_mask.dds" + # blend_mode = alphamultiply + # } + } + + hbox = { + layoutpolicy_horizontal = expanding + + background = { + using = Background_Frame + margin_top = -5 + alpha = 0.5 + } + + vbox = { + visible = "[Character.IsLocalPlayer]" + margin = { 0 20 } + + # Warcraft + datacontext = "[Character.MakeScope]" + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + + widget = { + size = { 550 30 } + + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'diplomacy_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_blue.dds" + noprogresstexture = "gfx/interface/progressbars/progress_blue_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'martial_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_red.dds" + noprogresstexture = "gfx/interface/progressbars/progress_red_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'stewardship_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_green.dds" + noprogresstexture = "gfx/interface/progressbars/progress_green_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'intrigue_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_purple.dds" + noprogresstexture = "gfx/interface/progressbars/progress_purple_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'learning_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_gray.dds" + noprogresstexture = "gfx/interface/progressbars/progress_gray_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + # Warcraft + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'light_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_red.dds" + noprogresstexture = "gfx/interface/progressbars/progress_red_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'shadow_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_purple.dds" + noprogresstexture = "gfx/interface/progressbars/progress_purple_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'disorder_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_green.dds" + noprogresstexture = "gfx/interface/progressbars/progress_green_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'order_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_purple.dds" + noprogresstexture = "gfx/interface/progressbars/progress_purple_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'life_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_green.dds" + noprogresstexture = "gfx/interface/progressbars/progress_green_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'death_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_blue.dds" + noprogresstexture = "gfx/interface/progressbars/progress_blue_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_red.dds" + noprogresstexture = "gfx/interface/progressbars/progress_red_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_blue.dds" + noprogresstexture = "gfx/interface/progressbars/progress_blue_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_gray.dds" + noprogresstexture = "gfx/interface/progressbars/progress_gray_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + progressbar_standard = { + parentanchor = vcenter + size = { 500 20 } + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' )]" + + min = 0 + max = "[IntToFloat( Lifestyle.GetXpPerLevel )]" + value = "[FixedPointToFloat( Character.GetLifestyleXp( Lifestyle.Self, '(bool)yes' ) )]" + + progresstexture = "gfx/interface/progressbars/progress_red.dds" + noprogresstexture = "gfx/interface/progressbars/progress_red_bg.dds" + + tooltip = "LIFESTYLE_XP_TOOLTIP" + using = tooltip_below + } + + text_single = { + parentanchor = right + position = { -10 -6 } + visible = "[GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' )]" + text = "[Character.GetPerkPoints( Lifestyle.Self )]" + default_format = "#low" + max_width = 180 + using = Font_Size_Big + tooltip = "LIFESTYLE_POINTS_TOOLTIP" + + } + + button_round = { + parentanchor = right + position = { 1 -6 } + alwaystransparent = yes + + tooltip = "LIFESTYLE_POINTS_TOOLTIP" + + # debug_square = { + # parentanchor = center + # size = { 150% 150% } + # color = { 0.2 1 0.2 1 } + + # state = { + # name = start + # next = flash + # #trigger_on_create = yes + + # trigger_when = "[GetVariableSystem.Exists( 'perk_spent' )]" + + # alpha = 0 + # } + + # state = { + # name = flash + # next = dim + + # using = Animation_Curve_Default + # alpha = 1 + # duration = 0.5 + # } + + # state = { + # name = dim + # alpha = 0 + # on_finish = "[GetVariableSystem.Clear( 'perk_spent' )]" + # } + # } + + text_single = { + parentanchor = center + position = { 0 -4 } + visible = "[GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' )]" + text = "[Character.GetPerkPoints( Lifestyle.Self )]" + default_format = "#high" + max_width = 180 + using = Font_Size_Big + + # animation_attention = { + # visible = "[GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' )]" + # } + } + + text_single = { + parentanchor = center + position = { 0 -4 } + visible = "[Not(GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' ))]" + text = "[Character.GetPerkPoints( Lifestyle.Self )]" + default_format = "#low" + max_width = 180 + using = Font_Size_Big + + # animation_attention = { + # visible = "[GreaterThan_int32( Character.GetPerkPoints( Lifestyle.Self ), '(int32)0' )]" + # } + } + } + + } + + hbox = { + layoutpolicy_horizontal = expanding + + # Warcraft + spacing = 70 + + text_single = { + text = "EXPERIENCE" + } + + text_single = { + text = "UNLOCKED_PERKS" + } + + # Warcraft + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'light_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_LIGHT_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'shadow_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_SHADOW_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'disorder_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_DISORDER_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'order_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ORDER_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'life_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_LIFE_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'death_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_DEATH_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_FIRE_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_WATER_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_AIR_MAGIC" + } + } + hbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' )]" + + text_single = { + text = "WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_EARTH_MAGIC" + } + } + + } + + # Warcraft + vbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_fire_magic_lifestyle' )]" + + hbox = { # Fire progressbar + layoutpolicy_horizontal = expanding + + margin_top = 10 + + hbox = { + margin_right = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP" + using = tooltip_below + } + + elementalprogressbar = { + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_fire_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxotherscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_fire_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "spiritprogressbartexture" + { + texture = "gfx/interface/progressbars/war_progress_red.dds" + } + blockoverride "decayprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_fire_decay.dds" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP" + using = tooltip_below + } + + hbox = { + margin_left = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP" + using = tooltip_below + } + } + hbox = { + text_multi = { + align = center + autoresize = yes + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT" + } + } + } + vbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_water_magic_lifestyle' )]" + + hbox = { # Water progressbar + layoutpolicy_horizontal = expanding + + margin_top = 10 + + hbox = { + margin_right = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP" + using = tooltip_below + } + + elementalprogressbar = { + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_water_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxotherscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_water_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "spiritprogressbartexture" + { + texture = "gfx/interface/progressbars/war_progress_blue.dds" + } + blockoverride "decayprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_water_decay.dds" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP" + using = tooltip_below + } + + hbox = { + margin_left = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP" + using = tooltip_below + } + } + hbox = { + text_multi = { + align = center + autoresize = yes + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT" + } + } + } + vbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_air_magic_lifestyle' )]" + + hbox = { # Air progressbar + layoutpolicy_horizontal = expanding + + margin_top = 10 + + hbox = { + margin_right = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP" + using = tooltip_below + } + + elementalprogressbar = { + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_air_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxotherscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_air_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "spiritprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_air_spirit.dds" + } + blockoverride "decayprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_air_decay.dds" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP" + using = tooltip_below + } + + hbox = { + margin_left = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP" + using = tooltip_below + } + } + hbox = { + text_multi = { + align = center + autoresize = yes + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT" + } + } + } + vbox = { + visible = "[EqualTo_string( Lifestyle.GetKey, 'elemental_earth_magic_lifestyle' )]" + + hbox = { # Earth progressbar + layoutpolicy_horizontal = expanding + + margin_top = 10 + + hbox = { + margin_right = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP" + using = tooltip_below + } + + elementalprogressbar = { + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_earth_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "layoutstretchfactor_horizontal_progressbarvaluemaxotherscaled" + { + layoutstretchfactor_horizontal = "[GetProgressBarValueMaxOtherScaled( FixedPointToFloat(Scope.ScriptValue('wc_layoutstretchfactor_elemental_earth_spiritanddecay_favour_value')), '(float)100', '(int32)350' )]" + } + blockoverride "spiritprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_earth_spirit.dds" + } + blockoverride "decayprogressbartexture" + { + texture = "gfx/interface/progressbars/progress_earth_decay.dds" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP" + using = tooltip_below + } + + hbox = { + margin_left = 25 + text_single = { + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT" + } + tooltip = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP" + using = tooltip_below + } + } + hbox = { + text_multi = { + align = center + autoresize = yes + text = "WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT" + } + } + } + } + } + + + + # Warcraft + scrollarea = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + scrollbarpolicy_vertical = always_off + scrollbaralign_horizontal = top + scrollbar_horizontal = { + using = Scrollbar_Horizontal + } + + scrollwidget = { + ## Trees + hbox = { + datamodel = "[CharacterLifestyleWindow.GetPerkTrees]" + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + margin_bottom = 20 + spacing = 10 + + state = { + name = "lifestyle_tabs_refresh" + next = a + alpha = 0.5 + } + + state = { + name = "a" + alpha = 1 + duration = 0.5 + using = Animation_Curve_Default + } + + item = { + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + + vbox = { + layoutpolicy_horizontal = expanding + layoutpolicy_vertical = expanding + + background = { + visible = "[Not(PerkGuiTree.IsCompleted)]" + texture = "[PerkGuiTree.GetBackground]" + alpha = 0.15 + + modify_texture = { + texture = "gfx/interface/window_lifestyles/lifestyles_perk_tree_bg.dds" + spriteType = Corneredtiled + spriteborder = { 200 200 } + blend_mode = alphamultiply + } + } + + container = { + text_label_center = { + parentanchor = top|hcenter + position = { 0 25 } + text = "[PerkGuiTree.GetName]" + default_format = "#low" + using = Font_Size_Medium + } + + divider_light = { + position = { 0 65 } + size = { 100% 3 } + alpha = 0.25 + } + + container = { + name = "perk_tree_item_line_area" # Name used in code do not change + datamodel = "[PerkGuiTree.GetItems]" + parentanchor = hcenter + position = { 0 85 } + + widget = { + name = "connection_lines" + size = { 100% 100% } + datamodel = "[PerkGuiTree.GetConnections]" + visible = "[PerkGuiTree.SetupLinesContainer( PdxGuiWidget.Self )]" + + item = { + container = { + + # Perks that are unlocked + line = { + visible = "[PerkGuiTree.HasUnlockedPerk( PerkLineConnection.GetChild.GetItem )]" + using = Line_Lifestyles_Unlocked + from = "[PerkLineConnection.GetLineFrom]" + to = "[PerkLineConnection.GetLineTo]" + } + + # Perks that can be chosen + line = { + visible = "[And( Not( PerkGuiTree.HasUnlockedPerk( PerkLineConnection.GetChild.GetItem ) ), CharacterLifestyleWindow.CanSelectPerkIgnoreCost( PerkLineConnection.GetChild.GetItem ) )]" + using = Line_Lifestyles_CanUnlock + from = "[PerkLineConnection.GetLineFrom]" + to = "[PerkLineConnection.GetLineTo]" + } + + # Perks that are unavailable + line = { + visible = "[Not( Or( PerkGuiTree.HasUnlockedPerk( PerkLineConnection.GetChild.GetItem ), CharacterLifestyleWindow.CanSelectPerkIgnoreCost( PerkLineConnection.GetChild.GetItem ) ) )]" + using = Line_Lifestyles_Unavailable + from = "[PerkLineConnection.GetLineFrom]" + to = "[PerkLineConnection.GetLineTo]" + } + } + } + } + + item = { + widget = { + size = { 100 100 } + datacontext = "[PerkLineItem.GetItem]" + position = "[PerkGuiTree.GetItemPosition( Perk.Self )]" + + container = { + parentanchor = center + + widget = { + name = "top_pin" + visible = "[PerkLineItem.SetupTopWidget( PdxGuiWidget.Self )]" + position = { 0 -20 } + } + + widget = { + name = "bottom_pin" + visible = "[PerkLineItem.SetupBottomWidget( PdxGuiWidget.Self )]" + position = { 0 -15 } + } + } + + flowcontainer = { + parentanchor = top|hcenter + direction = vertical + ignoreinvisible = yes + + # Normal, non-chosen perks + button_normal = { + size = { 95 75 } + visible = "[And(And( Character.IsLocalPlayer, Not( Character.HasPerk( Perk.Self ) ) ), Not(Perk.IsFinisher) )]" + onclick = "[CharacterLifestyleWindow.SelectPerk( Perk.Self )]" + enabled = "[And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid)]" + + tooltipwidget = { + using = perk_tooltip_selection + } + using = tooltip_se + tooltip_offset = {30 0} + + widget = { + size = { 50 50 } + parentanchor = center + alwaystransparent = yes + visible = "[And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid)]" + + # animation_attention = { + # position = { 0 -22 } + # texture = "gfx/particles/glow.dds" + # } + } + + highlight_icon = { + parentanchor = top|hcenter + texture = "[Perk.GetIcon]" + size = { 32 32 } + framesize = { 60 60 } + + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + } + + text_multi = { + visible = "[And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid)]" + parentanchor = top|hcenter + position = { 0 30 } + max_width = 115 + autoresize = yes + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + default_format = "#high" + align = top|hcenter + + background = { + using = Background_Area + margin = { 20 0 } + margin_bottom = 5 + margin_top = 5 + } + } + + text_multi = { + visible = "[Not(And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid))]" + parentanchor = top|hcenter + position = { 0 30 } + max_width = 115 + autoresize = yes + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + default_format = "#low" + align = top|hcenter + + background = { + using = Background_Area + margin = { 20 0 } + margin_bottom = 5 + margin_top = 5 + } + } + } + + # Normal chosen perks + widget = { + visible = "[And(Or( Not( Character.IsLocalPlayer ), Character.HasPerk( Perk.Self ) ), Not(Perk.IsFinisher))]" + size = { 95 75 } + + state = { + name = _show + on_start = "[GetVariableSystem.Set( 'perk_spent', 'true' )]" + } + + tooltipwidget = { + using = perk_tooltip_contents + } + using = tooltip_se + tooltip_offset = {30 0} + + icon = { + parentanchor = top|hcenter + enabled = "[Character.HasPerk( Perk.Self )]" + texture = "[Perk.GetIcon]" + + size = { 32 32 } + framesize = { 60 60 } + frame = "[BoolTo1And2( Character.HasPerk( Perk.Self ) )]" + } + + text_multi = { + parentanchor = top|hcenter + position = { 0 32 } + max_width = 115 + autoresize = yes + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + align = top|hcenter + + background = { + using = Background_Area_Dark + margin = { 20 0 } + margin_bottom = 5 + margin_top = 5 + } + } + } + + # Non-chosen Mastery perks + button_normal = { + visible = "[And(And( Character.IsLocalPlayer, Not( Character.HasPerk( Perk.Self ) ) ), Perk.IsFinisher )]" + size = { 100 100 } + onclick = "[CharacterLifestyleWindow.SelectPerk( Perk.Self )]" + enabled = "[And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid)]" + + gfxtype = framedbuttongfx + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + + tooltipwidget = { + using = perk_tooltip_selection + } + using = tooltip_se + tooltip_offset = {30 0} + + highlight_icon = { + parentanchor = top|hcenter + position = { 0 -10 } + texture = "[Perk.GetIcon]" + + size = { 60 60 } + + gfxtype = framedbuttongfx + shaderfile = "gfx/FX/pdxgui_pushbutton.shader" + } + + text_multi = { + visible = "[And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid)]" + parentanchor = center + position = { 0 5 } + size = { 115 50 } + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + default_format = "#high" + align = center + + background = { + using = Background_Area + margin_bottom = 3 + margin = { 10 0 } + } + } + + text_multi = { + visible = "[Not(And(CharacterLifestyleWindow.CanSelectPerk( Perk.Self ), Character.GetLifestyle.IsValid))]" + parentanchor = center + position = { 0 5 } + size = { 115 50 } + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + default_format = "#low" + align = center + + background = { + using = Background_Area + margin_bottom = 3 + margin = { 10 0 } + } + } + } + + # Chosen Mastery perks + widget = { + visible = "[And(Or( Not( Character.IsLocalPlayer ), Character.HasPerk( Perk.Self ) ), Perk.IsFinisher)]" + size = { 100 100 } + + tooltipwidget = { + using = perk_tooltip_contents + } + + icon = { + parentanchor = top|hcenter + position = { 0 -10 } + enabled = "[Character.HasPerk( Perk.Self )]" + texture = "[Perk.GetIcon]" + + size = { 60 60 } + frame = "[BoolTo1And2( Character.HasPerk( Perk.Self ) )]" + } + + text_multi = { + parentanchor = center + position = { 0 5 } + size = { 115 50 } + + text = "[Perk.GetNameNoTooltip( Character.Self )]" + align = center + + background = { + using = Background_Area + margin_bottom = 3 + } + } + } + } + } + } + } + } + + expand = {} + } + } + } + } + } + } + } + } + } + } + + flowcontainer = { + parentanchor = bottom|left + position = { 20 -10 } + spacing = 10 + direction = vertical + + background = { + using = Background_Area_Dark + margin_top = 150 + margin_bottom = 20 + margin_right = 280 + margin_left = 20 + mirror = horizontal + modify_texture = { + texture = "gfx/interface/component_masks/mask_fade_corner.dds" + blend_mode = alphamultiply + } + } + + # background = { + # texture = "gfx/interface/window_character/characterlist_skills_bg.dds" + # spriteType = Corneredstretched + # spriteborder = { 10 10 } + # margin = { 15 5 } + # } + + # background = { + # using = Background_Area_Dark + # margin = { 10 5 } + # } + + flowcontainer = { + spacing = 5 + margin_left = 15 + margin_right = 25 + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + frame = 1 + } + + icon = { + name = "skill_icon" + size = { 35 35 } + framesize = { 60 60 } + frame = 1 + texture = "gfx/interface/icons/icon_skills.dds" + } + + text_single = { + name = "skill_value" + parentanchor = vcenter + text = "[Character.GetSkill( 'diplomacy' )]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + } + + flowcontainer = { + spacing = 5 + margin_left = 15 + margin_right = 25 + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + frame = 2 + } + + icon = { + name = "skill_icon" + size = { 35 35 } + framesize = { 60 60 } + frame = 2 + texture = "gfx/interface/icons/icon_skills.dds" + } + + text_single = { + name = "skill_value" + parentanchor = vcenter + text = "[Character.GetSkill( 'martial' )]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + } + + flowcontainer = { + spacing = 5 + margin_left = 15 + margin_right = 25 + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + frame = 3 + } + + icon = { + name = "skill_icon" + size = { 35 35 } + framesize = { 60 60 } + frame = 3 + texture = "gfx/interface/icons/icon_skills.dds" + } + + text_single = { + name = "skill_value" + parentanchor = vcenter + text = "[Character.GetSkill( 'stewardship' )]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + } + + flowcontainer = { + spacing = 5 + margin_left = 15 + margin_right = 25 + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + frame = 4 + } + + icon = { + name = "skill_icon" + size = { 35 35 } + framesize = { 60 60 } + frame = 4 + texture = "gfx/interface/icons/icon_skills.dds" + } + + text_single = { + name = "skill_value" + parentanchor = vcenter + text = "[Character.GetSkill( 'intrigue' )]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + } + + flowcontainer = { + spacing = 5 + margin_left = 15 + margin_right = 25 + + background = { + name = "skill_icon_bg" + texture = "gfx/interface/window_character/character_view_skills_bg.dds" + framesize = { 70 26 } + frame = 5 + } + + icon = { + name = "skill_icon" + size = { 35 35 } + framesize = { 60 60 } + frame = 5 + texture = "gfx/interface/icons/icon_skills.dds" + } + + text_single = { + name = "skill_value" + parentanchor = vcenter + text = "[Character.GetSkill( 'learning' )]" + default_format = "#high" + using = Font_Size_Medium + align = nobaseline + } + } + } +} diff --git a/gui/window_faith.gui b/gui/window_faith.gui index bcbc07cfc6..ed9deedb54 100644 --- a/gui/window_faith.gui +++ b/gui/window_faith.gui @@ -1473,7 +1473,8 @@ types FaithWindow } spacing = 8 - using = tooltip_ne + # Warcraft + using = tooltip_ws block "doctrine_icon" { diff --git a/gui/window_faith_creation.gui b/gui/window_faith_creation.gui index 8ac46bf3c6..9a7b19dcf5 100644 --- a/gui/window_faith_creation.gui +++ b/gui/window_faith_creation.gui @@ -1276,7 +1276,10 @@ types "FaithCreation" name = "faith_list_item" datacontext = "[GuiFaithDoctrineItem.GetDoctrine]" spacing = 5 - using = tooltip_nw + + # Warcraft + using = tooltip_ws + tooltip = "FAITH_WINDOW_DOCTRINE_TOOLTIP" icon_doctrine = { diff --git a/gui/window_my_realm.gui b/gui/window_my_realm.gui index d5f7acc441..d275a6b3d2 100644 --- a/gui/window_my_realm.gui +++ b/gui/window_my_realm.gui @@ -1,4 +1,4 @@ -###################################################### +###################################################### ##################### MY REALM ####################### ###################################################### @@ -197,8 +197,8 @@ window = { } text_single = { layoutpolicy_horizontal = expanding - - text = "MONTHLY_DARK_FRENZY_LIST" + + text = "[Scope.GetScriptValueDesc('yearly_dark_frenzy_decay_value' )]" } divider_light = { diff --git a/history/characters/100000_vrykul.txt b/history/characters/100000_vrykul.txt index 9b222a733b..8462ad91db 100644 --- a/history/characters/100000_vrykul.txt +++ b/history/characters/100000_vrykul.txt @@ -18,11 +18,11 @@ # add_spouse = 100001 # Angerboda # effect = { # set_relation_soulmate = character:100001 - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_4 - # # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 # } # 20.1.1 = { # death = { death_reason = death_vanished } @@ -44,6 +44,8 @@ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 603.1.1={ religion = death_god @@ -63,11 +65,11 @@ 2.1.1={ birth=yes trait=creature_vrykul effect = { add_character_modifier = hibernated_modifier } } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 610.1.1={ death=yes } } @@ -85,11 +87,11 @@ 2.1.1={ birth=yes trait=creature_vrykul effect = { add_character_modifier = hibernated_modifier } } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 610.1.1={ death=yes } } @@ -106,11 +108,11 @@ 2.1.1={ birth=yes trait=creature_vrykul effect = { add_character_modifier = hibernated_modifier } } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 610.1.1={ death=yes } } @@ -130,11 +132,11 @@ } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 610.1.1={ death=yes } } @@ -514,11 +516,11 @@ 478.12.14={ trait=shieldmaiden effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 591.11.1 = { add_unpressed_claim = title:d_valkyrion @@ -1836,11 +1838,11 @@ astrid_bjornrittar={ 451.4.8={ birth=yes trait=creature_vrykul } 467.4.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 591.11.1={ religion = death_god @@ -2230,11 +2232,11 @@ astrid_bjornrittar={ 450.8.18={ birth=yes trait=creature_vrykul } 466.8.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_5 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_5 give_nickname = nick_the_mighty } 591.11.1={ @@ -2407,11 +2409,11 @@ astrid_bjornrittar={ } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 610.1.1={ death=yes } } @@ -2428,11 +2430,11 @@ astrid_bjornrittar={ 2.1.1={ birth=yes trait = creature_kvaldir trait = being_undead } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 610.1.1={ death=yes } } @@ -2454,12 +2456,13 @@ astrid_bjornrittar={ } 20.4.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 1000.9.8={ death=yes } } @@ -5388,7 +5391,11 @@ astrid_bjornrittar={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } + + set_variable = { name = wc_elemental_air_favour_variable value = wc_decay_elemental_favour_threshold_value } } + + } 610.1.1={ death=yes } } @@ -5999,11 +6006,11 @@ captain_sten={ } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 615.1.31={ death=yes } } diff --git a/history/characters/10000_orc.txt b/history/characters/10000_orc.txt index e1f1dfafb3..9bda905313 100644 --- a/history/characters/10000_orc.txt +++ b/history/characters/10000_orc.txt @@ -17,11 +17,11 @@ } 558.1.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 562.1.1={ add_spouse = 10001 #Urukal @@ -65,11 +65,11 @@ } 559.9.27={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 586.9.8={ death=yes } } @@ -91,11 +91,11 @@ } 579.9.14={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 590.9.14={ trait=one_eyed @@ -120,11 +120,11 @@ } 581.1.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 603.3.23={ death=yes } } @@ -148,11 +148,11 @@ } 582.3.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_dexterity_1 + #trait=physical_lifestyle_strength_1 } 583.1.1={ employer=10000 #Blackhand[2000] @@ -185,11 +185,11 @@ } 542.1.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 591.6.18={ death = { @@ -230,11 +230,11 @@ bleedinghollow1={ 537.4.7={ birth=yes trait=creature_orc } 566.4.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 570.8.27={ death = { @@ -254,11 +254,11 @@ bleedinghollow1={ 558.4.26={ birth=yes trait=creature_orc } 582.4.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 582.9.23={ death = { @@ -278,11 +278,11 @@ bleedinghollow1={ 540.6.18={ birth=yes trait=creature_orc } 567.6.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 570.12.19={ death = { @@ -302,11 +302,11 @@ bleedinghollow1={ 560.4.9={ birth=yes trait=creature_orc } 582.4.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 582.12.26={ death = { @@ -326,11 +326,11 @@ bleedinghollow1={ 548.4.23={ birth=yes trait=creature_orc } 570.4.23={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 575.1.19={ death = { @@ -358,11 +358,11 @@ bleedinghollow1={ # } # 569.6.18={ # effect={ - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_3 - # # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 # } # 583.1.1={ # effect={ @@ -404,12 +404,17 @@ bleedinghollow1={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 591.11.1={ culture=scourge religion=death_god trait = being_undead remove_trait = creature_orc add_trait = creature_lich + effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + + trait = lich_king remove_trait = education_learning_4 add_trait = education_learning_5 @@ -544,8 +549,8 @@ neema={ 556.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -593,6 +598,7 @@ neema={ } 552.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 583.1.1={ employer = 10015 @@ -608,14 +614,15 @@ neema={ add_trait = creature_human culture = stormreaver effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } change_first_name = Teron # dynasty = 2352 # Gorefiend } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 609.2.19={ death=yes } } @@ -691,11 +698,11 @@ neema={ effect={ set_relation_best_friend = character:10050 - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 573.1.1={ add_spouse = 10020 @@ -738,8 +745,8 @@ neema={ } 576.8.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -767,8 +774,8 @@ lokra={ } 577.8.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -850,15 +857,19 @@ zuura={ type = ritual_best_friend_hook } add_opinion = { modifier = mentored_me_opinion target = character:10100 } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + + + + } 603.5.10={ effect={ @@ -1255,6 +1266,7 @@ omakka_wolfbrother={ 532.1.1={ birth=yes trait=creature_orc } 548.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 583.1.1={ employer = 10015 @@ -1270,12 +1282,13 @@ omakka_wolfbrother={ add_trait = creature_human culture = stormreaver effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 591.10.6={ death=yes } } @@ -1294,6 +1307,7 @@ omakka_wolfbrother={ trait = lifestyle_mystic value = 50 } + add_trait = user_of_disorder_magic_3 } } 583.1.1={ @@ -1330,11 +1344,11 @@ omakka_wolfbrother={ } 578.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 583.1.1={ add_prestige = 750 # Should be able to invite clans when he's Warchief @@ -1401,11 +1415,11 @@ gelnar={ #Orgrim's distant ancestor. Responsible for the creation of the legenda 556.2.11={ birth=yes trait=creature_orc } 581.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ trait=being_undead @@ -1425,6 +1439,7 @@ gelnar={ #Orgrim's distant ancestor. Responsible for the creation of the legenda trait=being_undead religion=voidfarer effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 700.9.23={ death=yes } } @@ -1450,6 +1465,10 @@ gelnar={ #Orgrim's distant ancestor. Responsible for the creation of the legenda set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + + + } 583.1.1={ employer=10019 @@ -1496,15 +1515,15 @@ kalthar={ #semi-lore son of Drek'Thar from Warcraft Adventures } 572.2.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 577.5.12={ add_spouse = 10600 @@ -1592,6 +1611,7 @@ golmash = { } 577.5.26 = { # Gul'dan form other warlocks, but Nekros never joined the Shadow Council effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 585.6.6 = { add_trait = one_legged } # Nekros peg leg 593.2.23 = { # Battle of Grim'batol @@ -1735,15 +1755,15 @@ garneg_charskull={ 550.5.18={ birth=yes trait=creature_orc } 566.5.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 590.1.1={ trait = being_demon } 603.10.21={ @@ -1764,11 +1784,11 @@ garneg_charskull={ 555.3.11={ birth=yes trait=creature_orc } 570.1.1=={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 582.1.1={ employer=10002 #Dal'rend @@ -1792,11 +1812,11 @@ garneg_charskull={ } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 600.1.1={ religion=orcish_shamanism } 615.8.3={ death=yes } @@ -1825,11 +1845,11 @@ garneg_charskull={ } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } } - # trait=physical_lifestyle_endurance_5 - # trait=physical_lifestyle_strength_5 + #trait=physical_lifestyle_endurance_5 + #trait=physical_lifestyle_strength_5 } 587.1.1={ religion=orcish_shamanism @@ -1861,11 +1881,11 @@ garneg_charskull={ } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 583.1.1 = { employer = 10000 @@ -1919,8 +1939,8 @@ dranosh={ } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 @@ -1950,6 +1970,7 @@ dranosh={ 563.3.14={ birth=yes trait=creature_orc } 580.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 587.6.1={ culture = stormreaver @@ -2006,8 +2027,8 @@ dranosh={ } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter @@ -2019,8 +2040,8 @@ dranosh={ value = 50 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 employer=10000 #Blackhand } #586.2.1={ employer=10200 } #Grommash @@ -2102,8 +2123,8 @@ leoroxx={ } 576.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_dexterity_4 # trait=physical_lifestyle_strength_4 @@ -2160,10 +2181,12 @@ leoroxx={ 584.10.5={ birth=yes trait=creature_orc } 600.11.3={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 603.9.27={ trait = being_undead effect={ change_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_disorder_magic rank = 1 } religion = death_god give_nickname = nick_the_remorseless } @@ -2181,6 +2204,7 @@ leoroxx={ 583.11.5={ birth=yes trait=creature_orc } 600.11.3={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 609.1.1 ={ death=yes } } @@ -2196,6 +2220,7 @@ leoroxx={ 583.11.5={ birth=yes trait=creature_orc } 600.11.3={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 609.1.1 ={ death=yes } } @@ -2236,11 +2261,11 @@ leoroxx={ 571.2.7={ birth=yes trait=creature_orc } 587.2.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.1.1={ culture = durotaric @@ -2261,11 +2286,11 @@ leoroxx={ } 571.3.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 583.1.1={ employer=10019 @@ -2277,6 +2302,10 @@ leoroxx={ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + + + + } 607.1.1={ effect = { @@ -2318,11 +2347,11 @@ leoroxx={ 541.5.4={ birth=yes trait=creature_orc } 557.5.4={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 598.2.5={ death=yes } } @@ -2342,11 +2371,11 @@ leoroxx={ } 580.1.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 583.1.1={ employer=10019 @@ -2381,11 +2410,11 @@ leoroxx={ } 577.1.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 620.1.1={ death=yes } } @@ -2478,8 +2507,8 @@ samuro_blademaster = { } 580.9.14={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 @@ -2580,11 +2609,11 @@ thok={ 563.1.10={ birth=yes trait=creature_orc } 581.1.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 630.1.31={ death=yes } } @@ -2601,8 +2630,8 @@ eitrigg={ } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 @@ -2643,8 +2672,8 @@ ariok={ } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 @@ -2693,15 +2722,15 @@ genjuros={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 603.10.21={ death = { @@ -2719,15 +2748,15 @@ haomarush={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 603.10.21={ death = { @@ -2745,15 +2774,15 @@ khanzo={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 603.1.1={ employer = 10550 #Jubei'thos @@ -2773,15 +2802,15 @@ mazrigos={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 603.10.21={ death = { @@ -2798,15 +2827,15 @@ throk_feroth={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 603.10.21={ death = { @@ -2825,8 +2854,8 @@ slave_master={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -2847,12 +2876,12 @@ master_kang={ 563.9.6={ birth=yes trait=creature_orc } 566.5.18={ effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 603.1.1={ employer = 58018 #Jorach @@ -2870,15 +2899,15 @@ captain_galvangar={ 553.9.6={ birth=yes trait=creature_orc } 568.5.18={ effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 585.1.1={ employer = 10100 #Drek'thar @@ -3014,8 +3043,8 @@ garthok={ } 580.1.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -3039,8 +3068,8 @@ grunt_maug={ } 580.1.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -3211,8 +3240,8 @@ gathilzogg={ #one of the Warlords of the Blackrock clan 564.2.12={ birth=yes trait=creature_orc } 580.1.1=={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -3369,8 +3398,8 @@ gaz_soulripper={ add_trait = creature_human culture = stormreaver effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } # trait=physical_lifestyle_endurance_1 @@ -3482,8 +3511,8 @@ ras_splinterspine={ add_trait = creature_human culture = stormreaver effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } # trait=physical_lifestyle_endurance_1 @@ -3539,8 +3568,8 @@ rage_winterchill={ add_trait = creature_human culture = stormreaver effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } # trait=physical_lifestyle_endurance_1 @@ -3572,8 +3601,8 @@ gargok={ 561.1.1={ birth=yes trait=creature_orc } 577.1.1={ effect = { - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 638.2.19={ death=yes } @@ -3588,8 +3617,8 @@ krenna={ 579.1.1={ birth=yes trait=creature_orc } 597.1.1={ effect = { - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 610.12.23 = { @@ -3609,8 +3638,8 @@ gorgonna={ 581.1.1={ birth=yes trait=creature_orc } 597.1.1={ effect = { - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 658.2.19={ death=yes } @@ -3623,8 +3652,8 @@ rokaro={ 565.3.25={ birth=yes trait=creature_orc } 577.1.1={ effect = { - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 605.5.19{ diff --git a/history/characters/110000_scourge.txt b/history/characters/110000_scourge.txt index 05c3bc2fdc..049900440c 100644 --- a/history/characters/110000_scourge.txt +++ b/history/characters/110000_scourge.txt @@ -9,6 +9,7 @@ 520.1.1={ birth=yes trait=creature_orc } 540.1.1={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 591.1.1 = { culture=scourge religion=death_god diff --git a/history/characters/11000_dark_iron.txt b/history/characters/11000_dark_iron.txt index 6af557ef60..8c8be6d089 100644 --- a/history/characters/11000_dark_iron.txt +++ b/history/characters/11000_dark_iron.txt @@ -1101,6 +1101,7 @@ 2.1.1={ birth=yes trait=creature_dwarf } 50.7.23={ effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + add_spouse = 12001 } 350.1.1={ @@ -1126,6 +1127,7 @@ 30.5.7={ birth=yes trait=creature_dwarf } 50.5.7={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 354.6.1={ death={ @@ -1149,6 +1151,7 @@ } 369.5.7={ effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 533.2.3 = { effect = { @@ -2569,11 +2572,11 @@ dagran2={ 582.1.1={birth=yes trait=creature_dwarf } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 872.1.1={death=yes} } @@ -2607,6 +2610,7 @@ dagran2={ 355.1.1={ religion=ragnarism effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 610.1.1={ death=yes } } @@ -2623,6 +2627,7 @@ dagran2={ 355.1.1={ religion = ragnarism effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 687.3.1={ death=yes } } @@ -2829,7 +2834,7 @@ yorla_darksnare={ trait=impatient trait=sadistic trait=brave 433.2.13={ birth=yes trait=creature_dwarf } 455.1.1={ - effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } + # effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 611.1.1={ religion = twilights_hammer_cult @@ -2874,8 +2879,8 @@ fineous_darkvire={ 355.1.1={ religion = ragnarism effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 diff --git a/history/characters/120000_nraqi.txt b/history/characters/120000_nraqi.txt index 906a3524cc..749a3e278d 100644 --- a/history/characters/120000_nraqi.txt +++ b/history/characters/120000_nraqi.txt @@ -9,11 +9,11 @@ 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 685.4.13={ death=yes } } @@ -29,11 +29,11 @@ 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 861.6.23={ death=yes } } @@ -47,7 +47,10 @@ trait=education_learning_4 trait=greedy trait=gluttonous trait=arbitrary trait=intellect_good_2 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void } - 16.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 16.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + } 641.12.21={ death=yes } } # dynasty=90100 @@ -61,11 +64,11 @@ 2.1.1={ birth=yes trait = creature_nraqi trait = being_void } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 861.6.23={ death=yes } } @@ -80,11 +83,11 @@ 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void give_nickname = nick_the_hungering } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 861.6.23={ death=yes } } @@ -97,7 +100,10 @@ trait=education_martial_4 trait=zealous trait=sadistic trait=wrathful trait=arrogant 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void } - 16.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 16.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + } 861.6.23={ death=yes } } # dynasty=90103 @@ -109,7 +115,10 @@ trait=education_martial_4 trait=zealous trait=sadistic trait=honest trait=patient 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void } - 16.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 16.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + } 861.6.23={ death=yes } } @@ -126,11 +135,11 @@ 2.1.1={ birth=yes trait = creature_cthraxxi trait = being_void culture=nraqi } 16.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } } - # trait=physical_lifestyle_endurance_5 - # trait=physical_lifestyle_strength_5 + #trait=physical_lifestyle_endurance_5 + #trait=physical_lifestyle_strength_5 } 30.1.3={ death = { diff --git a/history/characters/140000_satyr.txt b/history/characters/140000_satyr.txt index 9361ad8b13..a031b33dd0 100644 --- a/history/characters/140000_satyr.txt +++ b/history/characters/140000_satyr.txt @@ -253,6 +253,7 @@ } 580.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + give_nickname=nick_the_wildshaper } 1325.6.21={ death=yes } @@ -267,11 +268,11 @@ 384.3.19={ birth=yes trait=creature_satyr trait=being_demon } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 1325.6.21={ death=yes } } diff --git a/history/characters/150000_naga.txt b/history/characters/150000_naga.txt index 56a1d3a500..f8fbabcbaf 100644 --- a/history/characters/150000_naga.txt +++ b/history/characters/150000_naga.txt @@ -8,11 +8,11 @@ trait=ambitious trait=deceitful trait=diligent trait=arrogant 2.1.14={ birth=yes trait=creature_naga } 25.1.1={ - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } if = { limit = { NOT = { game_start_date >= 603.1.1 } } @@ -93,6 +93,7 @@ caravan_master_tset={ effect = { set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 25.1.1={ effect = { @@ -115,11 +116,11 @@ caravan_master_tset={ 2.12.12={ birth=yes trait=creature_naga } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 25.1.1={ effect = { @@ -284,6 +285,7 @@ caravan_master_tset={ 2.9.8={ birth=yes trait=creature_naga } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 25.1.1={ effect = { @@ -309,11 +311,11 @@ caravan_master_tset={ 2.7.21={ birth=yes trait=creature_naga } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 25.1.1={ effect = { @@ -338,11 +340,11 @@ caravan_master_tset={ 2.7.21={ birth=yes trait=creature_naga } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 25.1.1={ effect = { @@ -366,11 +368,11 @@ caravan_master_tset={ 2.4.12={ birth=yes trait=creature_naga } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 25.1.1={ effect = { @@ -396,6 +398,7 @@ caravan_master_tset={ 2.7.21={ birth=yes trait=creature_naga } 20.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + give_nickname=nick_the_harbinger_of_the_void } 25.1.1={ @@ -423,7 +426,7 @@ lady_darkscale={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 606.2.1={ death = { @@ -446,7 +449,7 @@ athissa={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 615.2.1={ death = { @@ -469,7 +472,7 @@ lady_hatecoil={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 615.2.1={ death = { @@ -492,7 +495,7 @@ lady_sssurine={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 600.2.20={ employer=prince_oceanus @@ -517,7 +520,7 @@ tidemistress_sashjtar={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 615.2.1={ death = { @@ -536,7 +539,7 @@ lord_shalzaru={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 32.1.1={ add_spouse=lady_szallah @@ -556,7 +559,7 @@ lady_szallah={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 613.2.1={ death = { @@ -576,7 +579,7 @@ general_skessesh={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_elemental_water_decay_magic_2 + } 613.2.1={ death = { diff --git a/history/characters/15000_gurubashi.txt b/history/characters/15000_gurubashi.txt index e75d09e6ba..e321093784 100644 --- a/history/characters/15000_gurubashi.txt +++ b/history/characters/15000_gurubashi.txt @@ -904,6 +904,7 @@ } 507.11.13={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 512.1.24={ death=yes } } @@ -917,11 +918,11 @@ 487.2.27={ birth=yes trait=creature_troll } 503.2.27={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 521.1.24={ death=yes } } @@ -935,11 +936,11 @@ 489.5.11={ birth=yes trait=creature_troll } 505.5.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_dexterity_1 + #trait=physical_lifestyle_strength_1 } 545.7.9={ death=yes } } @@ -995,6 +996,7 @@ 532.6.3={ birth=yes trait=creature_troll } 548.6.3={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 587.1.22={ death=yes } } @@ -1077,10 +1079,12 @@ 479.2.8={ birth=yes trait=creature_troll } 495.2.8 = { effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=ambitious trait=zealous trait=education_learning_3 } 532.6.3 = { effect={ change_variable = { name = wc_death_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_death_magic rank = 1 } } 564.5.24 = { death = { @@ -1101,11 +1105,11 @@ 499.7.25={ birth=yes trait=creature_troll } 515.7.25={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_dexterity_1 + #trait=physical_lifestyle_strength_1 } 522.5.20={ death=yes } } @@ -1119,11 +1123,11 @@ 520.4.20={ birth=yes trait=creature_troll } # 536.4.20={ # effect={ - # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } # } - # # trait=physical_lifestyle_dexterity_4 - # # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_dexterity_4 + # #trait=physical_lifestyle_strength_4 # } 565.3.8 = { death = { @@ -1156,12 +1160,13 @@ 473.2.12={ birth=yes trait=creature_troll } 489.2.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + } 521.9.8={ death=yes } } @@ -1181,6 +1186,7 @@ } 588.1.1={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + give_nickname = nick_the_prophet } 611.1.12 = { # slain by adventurers in Temple of Atal'Hakkar in Cata @@ -1209,6 +1215,8 @@ jindo = { # Jin'do the Hexxer value = 50 } } + + give_nickname = nick_the_hexxer } 608.7.13 = { # slain by adventurers in Zul'Gurub diff --git a/history/characters/160000_quilboar.txt b/history/characters/160000_quilboar.txt index 282c72eac4..57a1bb8473 100644 --- a/history/characters/160000_quilboar.txt +++ b/history/characters/160000_quilboar.txt @@ -8028,12 +8028,13 @@ 126.3.17={ trait=adventurer effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 171.7.3={ death=yes } } diff --git a/history/characters/16000_gnome.txt b/history/characters/16000_gnome.txt index 6bab95b3b8..0738882398 100644 --- a/history/characters/16000_gnome.txt +++ b/history/characters/16000_gnome.txt @@ -60,6 +60,7 @@ } 580.2.12={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 610.10.2={ death=yes } } @@ -2358,7 +2359,7 @@ kelsey_steelspark={ 538.06.28={ employer = 16000 #Gelbin effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 710.3.6={ death=yes } diff --git a/history/characters/17000_28000_bronzebeard.txt b/history/characters/17000_28000_bronzebeard.txt index 3cf1afec26..2828ce7f2b 100644 --- a/history/characters/17000_28000_bronzebeard.txt +++ b/history/characters/17000_28000_bronzebeard.txt @@ -8,11 +8,11 @@ 2.1.1={ birth=yes trait=creature_dwarf } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 354.1.23={ # create_bloodline = { @@ -39,12 +39,11 @@ } 383.4.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 - + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 set_relation_friend = character:17002 #Muradin set_relation_friend = character:17028 #Brann } @@ -86,12 +85,12 @@ trait=physique_good_2 #Mountain King trait=education_martial_prowess_3 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 590.1.1={ # Ambassador in Lordaeron City @@ -401,8 +400,8 @@ } 431.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_traveler track = travel @@ -420,8 +419,8 @@ learn_language = language_gnomish add_opinion = { modifier = mentored_me_opinion target = character:samul_strangehands } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 #trait = explorer } 511.8.19={ @@ -465,6 +464,7 @@ } 551.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } #Around WoW Classic 608.1.7={ @@ -1907,11 +1907,11 @@ 486.7.23={ birth=yes trait=creature_dwarf } 506.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 606.1.1={ death={ death_reason=death_battle killer=60003 } #Arthas Menethil @@ -2332,12 +2332,12 @@ 400.4.16={ trait=physique_good_2 #Mountain King effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 600.1.1={ add_pressed_claim=title:c_alterac_valley @@ -2388,8 +2388,8 @@ 476.1.10={ employer=captain_ironhill effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -2424,11 +2424,11 @@ 482.2.22={ birth=yes trait=creature_dwarf } 500.4.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_endurance_1 + # #trait=physical_lifestyle_strength_1 } 511.7.14={ employer=17001 #Magni[4200] @@ -2612,16 +2612,16 @@ 303.1.15={ birth=yes trait=creature_dwarf } 330.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 100 } } - # trait=physical_lifestyle_endurance_5 - # trait=physical_lifestyle_dexterity_5 + #trait=physical_lifestyle_endurance_5 + #trait=physical_lifestyle_dexterity_5 trait=strong } 564.9.21={ @@ -2658,16 +2658,16 @@ hemet_nesingwary_jr={ } 520.4.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 50 } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 564.9.21={ effect = { learn_language = language_common } @@ -2742,11 +2742,11 @@ krohm_dawnhammer={ } 402.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - #trait=physical_lifestyle_endurance_2 - #trait=physical_lifestyle_strength_2 + ##trait=physical_lifestyle_endurance_2 + ##trait=physical_lifestyle_strength_2 } 445.7.5={ employer=17042 @@ -2755,7 +2755,6 @@ krohm_dawnhammer={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #trait=user_of_light_magic_2 #employer=60036 } 603.5.27={ @@ -2825,7 +2824,7 @@ grimbooze_thunderbrew={ } } 375.1.1={ - effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + effect={ #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } add_trait_xp = { trait = lifestyle_reveler value = 50 @@ -2862,7 +2861,7 @@ ragnar_thunderbrew={ } } 415.1.1={ - effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + effect={ #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } add_trait_xp = { trait = lifestyle_reveler value = 25 @@ -2887,7 +2886,7 @@ daran_thunderbrew={ } } 445.1.1={ - effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } + #effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } add_spouse=ita_thunderbrew } 687.3.1={ death=yes } @@ -3041,12 +3040,12 @@ torq_ironblast={ 400.4.16={ trait=physique_good_2 #Mountain King effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } learn_language = language_common } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 576.1.1={ effect={ @@ -3069,8 +3068,8 @@ murgen_hammerfall={ #first to use Thunder Clap 400.4.16={ trait=physique_good_2 #Mountain King effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } learn_language = language_common } # trait=physical_lifestyle_endurance_2 @@ -3088,8 +3087,8 @@ dorgar_stonebrow={ #Warrior of the Scarlet Crusade, Lord of the Red Caverns 400.4.16={ trait=physique_good_2 #Mountain King effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } learn_language = language_common } # trait=physical_lifestyle_endurance_2 @@ -3304,7 +3303,8 @@ marleth_barleybrew={ } } 415.1.1={ - effect={ set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + effect={ + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } add_trait_xp = { trait = lifestyle_reveler value = 25 @@ -3331,8 +3331,8 @@ yorus_barleybrew={ #warrior challenger at the Lakeshire Inn } 445.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 582.11.13={ @@ -3406,8 +3406,8 @@ malgin_barleybrew={ #Bael'dun Morale Officer 424.2.13={ birth=yes trait=creature_dwarf } 445.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 605.5.19={ @@ -3425,8 +3425,8 @@ general_twinbraid={ 424.2.13={ birth=yes trait=creature_dwarf } 445.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 605.5.19={ @@ -3457,8 +3457,8 @@ marley_twinbraid={ 514.2.13={ birth=yes trait=creature_dwarf } 465.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 605.5.19={ @@ -3508,8 +3508,8 @@ captain_ironhill={ 364.2.13={ birth=yes trait=creature_dwarf } 445.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 611.1.12={ @@ -3528,8 +3528,8 @@ mithras_ironhill={ 546.2.13={ birth=yes trait=creature_dwarf } 575.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 608.1.12={ @@ -3550,8 +3550,8 @@ forba_slabchisel={ 446.2.13={ birth=yes trait=creature_dwarf } 475.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 713.1.29={ death=yes } @@ -3568,8 +3568,8 @@ shilah_slabchisel={ 452.2.13={ birth=yes trait=creature_dwarf } 475.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 713.1.29={ death=yes } @@ -3600,8 +3600,8 @@ dirk_thunderwood={ 446.2.13={ birth=yes trait=creature_dwarf } 475.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 603.1.1={ @@ -3622,8 +3622,8 @@ smudge_thunderwood={ 452.2.13={ birth=yes trait=creature_dwarf } 475.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 603.1.1={ @@ -3659,8 +3659,8 @@ buliwyf_stonehand={ #located at Timberline Arms in the Military Ward in Ironforg 365.4.1={ birth=yes trait=creature_dwarf } 475.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 511.7.14={ @@ -3703,8 +3703,8 @@ aerin_stonehand={ #part of King Magni Bronzebeard's elite guard 515.4.1={ birth=yes trait=creature_dwarf } 535.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } employer=17001 #Magni[4200] } diff --git a/history/characters/180000_magnataur.txt b/history/characters/180000_magnataur.txt index e0923ad533..8ee8864da2 100644 --- a/history/characters/180000_magnataur.txt +++ b/history/characters/180000_magnataur.txt @@ -899,11 +899,11 @@ } 579.9.14={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 612.4.7={ death=yes } } @@ -1852,6 +1852,7 @@ 582.9.17={ birth=yes trait = creature_magnataur } 589.9.14={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 675.10.25={ death=yes } } @@ -7915,11 +7916,11 @@ 565.5.24={ birth=yes trait = creature_magnataur } 573.01.05={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 600.01.01={ give_nickname = nick_the_impaler diff --git a/history/characters/190000_taunka.txt b/history/characters/190000_taunka.txt index 384d81f3ef..f05298a5d4 100644 --- a/history/characters/190000_taunka.txt +++ b/history/characters/190000_taunka.txt @@ -717,7 +717,10 @@ trait=education_diplomacy_3 trait=temperate trait=honest trait=gregarious father=190062 #Dezrel'l't 551.2.12={ birth=yes trait = creature_taunka } - 567.2.12={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } + 567.2.12={ + effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 607.11.3={ death=yes } } @@ -2784,7 +2787,11 @@ trait=education_diplomacy_4 trait=honest trait=craven trait=diligent father=190361 #Kualen 552.10.20={ birth=yes trait = creature_taunka } - 568.10.20={ effect={ set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } } + 568.10.20={ + effect={ + set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } + } + } 625.11.26={ death=yes } } 190363={ @@ -3659,11 +3666,11 @@ 553.7.3={ birth=yes trait = creature_taunka } 572.3.5={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 573.4.11={ # give_nickname = nick_the_scarred @@ -4512,7 +4519,9 @@ trait=education_diplomacy_4 trait=zealous trait=compassionate trait=trusting trait=gregarious father=190575 #Huldomo 538.10.21={ birth=yes trait = creature_taunka } - 554.10.21={ effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 554.10.21={ + effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 619.2.15={ death=yes } } 190579={ diff --git a/history/characters/1_azerothian.txt b/history/characters/1_azerothian.txt index 62dae78df5..600d318988 100644 --- a/history/characters/1_azerothian.txt +++ b/history/characters/1_azerothian.txt @@ -48,11 +48,11 @@ } 557.6.9 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 568.6.10={ add_spouse=6 @@ -135,11 +135,11 @@ } 593.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 add_spouse=482 # Tiffin effect = { if = { limit = { character:482 = { is_alive = yes } } set_relation_soulmate = character:482 } # Tiffin @@ -4990,6 +4990,7 @@ 563.3.27={ birth=yes } 603.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 646.9.28={ death=yes } } @@ -5023,11 +5024,11 @@ 589.5.14={ birth=yes } 605.5.14={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 660.7.16={ death=yes } } @@ -5888,8 +5889,8 @@ value = 25 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 employer=28050 #Hemet[4337] } 610.1.1={ @@ -6694,6 +6695,7 @@ 544.5.15={ birth=yes } 564.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -7641,11 +7643,11 @@ 542.5.7={ birth=yes } 564.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -7684,6 +7686,7 @@ 572.2.24={ birth=yes } 592.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 643.11.26={ death=yes } } @@ -7842,8 +7845,8 @@ value = 50 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 add_gold = 300 } 565.1.1 = { @@ -9314,11 +9317,11 @@ 555.1.23={ birth=yes } 575.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -10161,6 +10164,7 @@ 529.8.10={ birth=yes } 550.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -11263,6 +11267,7 @@ } 567.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -12321,6 +12326,7 @@ 541.4.17={ birth=yes } 561.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 585.1.1={ death={ death_reason = death_murder_known killer = 5000 } # Killed by Medivh @@ -13399,11 +13405,11 @@ effect={ set_relation_lover = character:1610 #Waltion - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } 560.1.1={ employer=1 #Barathen Wrynn @@ -13443,11 +13449,11 @@ 550.1.22={ birth=yes } 570.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 575.11.10={ death=yes } } @@ -13477,11 +13483,11 @@ } 590.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } 600.1.1={ employer=8 #Varian Wrynn @@ -13523,11 +13529,11 @@ 530.1.11={ birth=yes } 550.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 trait=physique_good_1 } 620.8.28={ death=yes } @@ -13550,12 +13556,14 @@ } 580.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + employer=2 #Llane Wrynn # Bishop of Stormwind before 585 give_council_position = councillor_court_chaplain } 585.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + religion=forgotten_shadow } 589.1.1={ death=yes } @@ -13575,6 +13583,7 @@ } 580.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=beauty_good_1 # Don't ask anything } 585.1.1={ @@ -13610,6 +13619,7 @@ trait=being_order # May change later with the Guardian trait effect = { set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + #add_trait = user_of_order_magic_5 } # trait = guardian_of_tirisfal # effect = { @@ -13624,6 +13634,7 @@ effect = { set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } add_character_flag = is_medivh_flag + #add_trait = user_of_disorder_magic_5 make_character_crypto_religionist_effect = { CRYPTO_RELIGION = faith:burning_legion_religion } } } @@ -13651,6 +13662,7 @@ 501.1.1={ birth=yes trait=creature_human effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 537.1.1={ add_spouse = 60578 @@ -16143,11 +16155,11 @@ } 557.8.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 573.8.10={ give_nickname = nick_the_dire @@ -16207,7 +16219,8 @@ } 590.4.12={ employer=5809 - effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + trait=lunatic_1 religion=maldraxxi } @@ -16247,11 +16260,11 @@ 570.2.5={ birth=yes } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.1.1={ effect={ @@ -16276,8 +16289,8 @@ chief_esquivel={ #the interim chief of the Kurzen's Expedition after the death o 570.2.5={ birth=yes trait=creature_human } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -16306,8 +16319,8 @@ chief_anders={ #one of the four big Kurzen's Expedition chiefs. He leads the com 570.2.5={ birth=yes trait=creature_human } 590.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -16424,11 +16437,11 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen trait = being_undead religion = maldraxxi effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 630.1.1={ death=yes } } @@ -16470,12 +16483,13 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen 584.12.3={ trait = being_undead effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + religion = maldraxxi } 600.1.1={ @@ -16492,8 +16506,9 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen trait=education_learning_2 trait=ambitious trait=sadistic trait=diligent trait=cynical disallow_random_traits = yes 541.2.13={ birth=yes trait=creature_human } - 580.4.12={ - effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + 580.4.12={ + effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } #608.3.19={ death=yes } 610.1.1={ @@ -16519,12 +16534,13 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen 544.1.15={ birth=yes } 580.4.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 618.3.19={ death=yes } } @@ -16561,8 +16577,8 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen value = 20 } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 608.1.8 = { death = { @@ -16742,11 +16758,11 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen } 588.1.1 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 590.1.1 = { employer=8 # Varian Wrynn @@ -16805,6 +16821,7 @@ chief_miranda={ #one of the four chiefs of Kurzen's Expedition, leads the Kurzen set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } #join_society_twilights_hammer_cult_effect = yes } + } 619.10.4={ death=yes } } @@ -16899,8 +16916,8 @@ leeroy_jenkins={ 568.1.11 = { birth=yes } 588.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } @@ -16941,8 +16958,8 @@ john_keeshan = { #Leader of the Bravo Company } 582.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 683.4.3 = { death = yes } @@ -16995,8 +17012,8 @@ jorgensen = { #member the Bravo Company 566.10.3 = { birth = yes trait = creature_human } 582.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } @@ -17015,8 +17032,8 @@ krakauer = { #member the Bravo Company 566.10.3 = { birth = yes trait = creature_human } 582.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 611.1.13 = { @@ -17034,8 +17051,8 @@ danforth = { #member the Bravo Company 566.10.3 = { birth = yes trait = creature_human } 583.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 611.1.13 = { @@ -17130,8 +17147,8 @@ dougan = { 566.10.3 = { birth = yes trait = creature_human } 582.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } @@ -17155,8 +17172,8 @@ adena = { 566.10.3 = { birth = yes trait = creature_human } 582.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } @@ -17194,8 +17211,36 @@ lieren = { } 602.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + } + # trait=physical_lifestyle_endurance_2 + # trait=physical_lifestyle_strength_2 + } + 605.9.9={ + religion=scarletism + } + 611.1.12 = { + death = { + death_reason = death_battle + } + } +} + +ellen_stanbridge={ + name=Ellen + female=yes + dynasty=stanbridge + culture=azerothian religion=holy_light + trait=education_martial_2 trait=education_martial_prowess_2 + trait=just trait=brave trait=stubborn + 570.2.12={ birth=yes trait=creature_human } + 605.9.9={ + religion = argent + } + 608.12.30={ + death = { + death_reason = death_execution #Killed by the human death knight pc } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -17248,8 +17293,8 @@ loania = { } 602.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 605.5.1={ @@ -17268,8 +17313,8 @@ woo_ping = { 576.10.3 = { birth = yes trait = creature_human } 593.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 diff --git a/history/characters/200000_farraki.txt b/history/characters/200000_farraki.txt index db48e10b18..bd1fc8716d 100644 --- a/history/characters/200000_farraki.txt +++ b/history/characters/200000_farraki.txt @@ -1048,11 +1048,11 @@ } 602.8.24={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 654.3.26={ death=yes } } diff --git a/history/characters/210000_tauren.txt b/history/characters/210000_tauren.txt index daacf90d88..fc03a6a8c5 100644 --- a/history/characters/210000_tauren.txt +++ b/history/characters/210000_tauren.txt @@ -21,11 +21,11 @@ effect={ if = { limit = { character:210002 = { is_alive = yes } } set_relation_soulmate=character:210002 } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 603.1.10={ effect={ @@ -53,12 +53,12 @@ } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_orcish } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 672.6.24={ death=yes } } @@ -90,6 +90,10 @@ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + + + + trait=content trait=just trait=shrewd } 636.6.8={ death=yes } @@ -114,6 +118,10 @@ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + + + + } 661.10.5={ death=yes } } @@ -143,11 +151,11 @@ 550.9.18={ birth=yes trait=creature_tauren } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 660.10.3={ death=yes } } @@ -175,11 +183,11 @@ 540.10.11={ birth=yes trait=creature_tauren } 560.2.2={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 666.7.21={ death=yes } } @@ -195,11 +203,11 @@ 540.1.1={ birth=yes trait=creature_tauren } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 650.4.20={ death=yes } } @@ -218,6 +226,7 @@ } 603.11.15={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 667.11.5={ death=yes } } @@ -234,11 +243,11 @@ 550.6.12={ birth=yes trait=creature_tauren } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 675.9.4={ death=yes } } @@ -254,11 +263,11 @@ 535.11.6={ birth=yes trait=creature_tauren } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 630.5.2={ death=yes } } @@ -274,11 +283,11 @@ 550.4.22={ birth=yes trait=creature_tauren } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 712.5.14={ death=yes } } @@ -306,11 +315,11 @@ 534.9.4={ birth=yes trait=creature_tauren } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 649.11.3={ death=yes } } @@ -343,7 +352,10 @@ } 575.1.1={ trait=ambitious } 581.1.1={ - effect={ set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + effect={ + set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } + } 582.1.1={ add_spouse=2100887 } 649.11.18={ death=yes } @@ -8849,12 +8861,12 @@ #culture = blackwater religion = cult_of_wealth effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_relation_rival = character:90001 #Firallon[60001] } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 644.5.27={ death=yes } } @@ -8883,10 +8895,6 @@ bovan_windtotem={ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - #UNCOMMENTLATER# trait=user_of_elemental_fire_spirit_magic_2 - #UNCOMMENTLATER# trait=user_of_elemental_water_spirit_magic_2 - #UNCOMMENTLATER# trait=user_of_elemental_air_spirit_magic_2 - #UNCOMMENTLATER# trait=user_of_elemental_earth_spirit_magic_2 } 622.1.28 = { death = yes } } @@ -8905,8 +8913,8 @@ tagar_regent={ } 580.3.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } } 595.4.1={ @@ -8934,8 +8942,8 @@ gamon={ } 611.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 @@ -8963,8 +8971,8 @@ mr_smite={ } 591.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_blademaster value = 50 @@ -8989,11 +8997,11 @@ orthus_cliffwalker={ 570.6.12={ birth=yes trait=creature_tauren } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 611.9.4={ death=yes } } @@ -9008,12 +9016,12 @@ masha_cliffwalker={ 550.6.12={ birth=yes trait=creature_tauren } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } add_spouse=210036 #Rerel'man - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 611.9.4={ death=yes } } diff --git a/history/characters/220000_dark_troll.txt b/history/characters/220000_dark_troll.txt index e78372d5a8..9c1377b7a3 100644 --- a/history/characters/220000_dark_troll.txt +++ b/history/characters/220000_dark_troll.txt @@ -915,6 +915,7 @@ 575.1.26={ birth=yes trait = creature_troll } 595.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 629.8.9={ death=yes } } diff --git a/history/characters/22000_wildhammer.txt b/history/characters/22000_wildhammer.txt index 90266a0e35..d93385faf2 100644 --- a/history/characters/22000_wildhammer.txt +++ b/history/characters/22000_wildhammer.txt @@ -8,11 +8,11 @@ 2.1.1={ birth=yes trait=creature_dwarf } 24.1.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 354.1.6={ } @@ -36,11 +36,11 @@ } 420.3.25={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 effect = { if = { limit = { game_start_date < 591.11.1 } @@ -64,11 +64,11 @@ } 378.3.25={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 591.11.1 = { effect = { @@ -347,11 +347,11 @@ 406.2.9={ birth=yes trait=creature_dwarf } 505.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_dexterity_4 + # #trait=physical_lifestyle_strength_4 } 752.2.28={ death=yes } } @@ -1853,11 +1853,11 @@ firebeard_father={ 350.3.11={ birth=yes trait=creature_dwarf } 390.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 750.2.11={ death=yes } } diff --git a/history/characters/230000_hozen.txt b/history/characters/230000_hozen.txt index 69ba3eb5d6..9d7cc0ca16 100644 --- a/history/characters/230000_hozen.txt +++ b/history/characters/230000_hozen.txt @@ -15275,8 +15275,8 @@ mokimo_the_strong={ 586.11.11={ birth=yes } 600.1.2={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_5 diff --git a/history/characters/240000_qiraji.txt b/history/characters/240000_qiraji.txt index 59bce7b25b..c59bcc1b82 100644 --- a/history/characters/240000_qiraji.txt +++ b/history/characters/240000_qiraji.txt @@ -11,11 +11,11 @@ 21.1.1={ birth=yes trait=creature_qiraji trait=being_void } 22.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } } - # trait=physical_lifestyle_endurance_5 - # trait=physical_lifestyle_strength_5 + #trait=physical_lifestyle_endurance_5 + #trait=physical_lifestyle_strength_5 } 100.1.1={ effect = { set_relation_friend = character:240001 } } 610.11.17={ death=yes } @@ -30,7 +30,12 @@ trait=scholar trait=intellect_good_2 trait=patient trait=temperate trait=arrogant trait=diligent father=240003 #Nuzzarad 21.1.1={ birth=yes trait=creature_qiraji trait=being_void } - 22.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } } + 22.1.1={ + effect = { + set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + add_trait = user_of_shadow_magic_5 + } + } 610.11.10={ death=yes } } # Placeholder father of twin emperors @@ -41,7 +46,10 @@ martial=5 diplomacy=5 stewardship=5 intrigue=5 learning=5 trait=education_learning_4 2.1.1={ birth=yes trait=creature_qiraji trait=being_void } - 16.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } } + 16.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + + } 20.1.1={ death=yes } } # dynasty=118001 @@ -53,14 +61,15 @@ trait=education_learning_4 trait=lifestyle_mystic trait=intellect_good_2 trait=deceitful trait=temperate trait=zealous 2.1.1={ birth=yes trait=creature_qiraji trait=being_void } - 16.1.1={ - effect={ + 16.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } add_trait_xp = { trait = lifestyle_mystic value = 50 } - } + add_trait = user_of_shadow_magic_4 + } } 610.11.10={ death=yes } } diff --git a/history/characters/260000_northern.txt b/history/characters/260000_northern.txt index b5d90de407..e09e008c7c 100644 --- a/history/characters/260000_northern.txt +++ b/history/characters/260000_northern.txt @@ -5566,9 +5566,12 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 591.11.1={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + religion = death_god culture = scourge } @@ -5577,6 +5580,7 @@ trait = being_undead add_trait = creature_lich effect={ change_variable = { name = wc_death_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_death_magic rank = 1 } give_nickname = nick_the_summoner } 612.10.15={ death=yes } diff --git a/history/characters/270000_tolvir.txt b/history/characters/270000_tolvir.txt index 62c1a9a5e1..bc8ac55a8b 100644 --- a/history/characters/270000_tolvir.txt +++ b/history/characters/270000_tolvir.txt @@ -956,11 +956,11 @@ 142.11.22={ birth=yes trait = creature_tolvir } 163.6.14 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 229.11.11={ death=yes } } @@ -1831,11 +1831,11 @@ 548.2.19={ birth=yes trait = creature_tolvir } 570.1.1 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 628.5.26={ death=yes } } @@ -2688,6 +2688,7 @@ # Becomes a Shadow Priest 602.7.13 = { effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } # Turns into a full-blown Void follower 609.2.11 = { @@ -12118,6 +12119,7 @@ } 570.1.14={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 603.6.7={ death=yes } } @@ -13987,11 +13989,11 @@ 13.2.16={ birth=yes trait = creature_tolvir } 100.1.1 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 610.9.22={ death=yes } } @@ -14007,6 +14009,7 @@ 10.8.11={ birth=yes trait = creature_tolvir } 100.1.1 = { effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 580.1.1 = { employer = 270464 # Itesh @@ -14028,11 +14031,11 @@ } 390.1.1 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 580.1.1 = { employer = 270464 # Itesh diff --git a/history/characters/29000_gnoll.txt b/history/characters/29000_gnoll.txt index f9fb2dca53..abd53469ba 100644 --- a/history/characters/29000_gnoll.txt +++ b/history/characters/29000_gnoll.txt @@ -21,11 +21,11 @@ trait=brave add_prestige = 350 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 611.1.13 = { death = { @@ -43,8 +43,8 @@ sergeant_brashclaw={ #a rare gnoll found in a gnoll camp in Westfall } 580.12.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -67,8 +67,8 @@ jango_spothide={ #found at the Dust Plains in Westfall 573.1.1={employer=29003} #Hogger[12001] 580.12.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -90,8 +90,8 @@ fedfennel={ #a rare gnoll who can be found at the gnoll camps northwest of Stone 573.1.1={employer=29003} #Hogger[12001] 580.12.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -114,8 +114,8 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 573.1.1={employer=29003} #Hogger[12001] 580.12.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -350,11 +350,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 560.3.11={ birth=yes trait=creature_gnoll } 576.3.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 626.7.4={ death=yes } } @@ -369,11 +369,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 562.3.19={ birth=yes trait=creature_gnoll } 578.3.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 644.8.15={ death=yes } } @@ -853,11 +853,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West trait=sadistic trait=greedy effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 trait=wrathful trait=reckless #spawn_great_commander_effect = yes @@ -881,12 +881,12 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 524.05.15 = { trait=education_learning_3 #trait = malnourished - #trait = frail trait=paranoid trait=content trait=gluttonous trait=stubborn effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + give_nickname=nick_the_mad } 564.06.13 = { death=yes } @@ -1070,11 +1070,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 350.4.6={ give_nickname = nick_the_ruthless effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_5_physical_trait_value } } - # trait=physical_lifestyle_endurance_5 - # trait=physical_lifestyle_strength_5 + #trait=physical_lifestyle_endurance_5 + #trait=physical_lifestyle_strength_5 } 388.1.1={ death=yes } } @@ -1460,11 +1460,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West trait=education_martial_4 trait=aggressive_attacker effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 569.01.21={ death=yes } } @@ -1504,11 +1504,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 455.10.31={ birth=yes trait=creature_gnoll } 471.10.31={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 511.1.7={ death=yes } } @@ -1630,8 +1630,8 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 564.2.17={ birth=yes trait=creature_gnoll employer=29038 add_pressed_claim=title:c_dawning_isles } 580.6.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -1653,11 +1653,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 597.4.24={ employer=29039 } 600.6.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 605.5.5={ #Possessed by banshee of Sylvanas #employer=42076 @@ -1706,11 +1706,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 507.12.6={ birth=yes trait=creature_gnoll } 523.12.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_dexterity_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_dexterity_1 } 548.8.16={ employer=29038 add_pressed_claim=title:c_dawning_isles } 561.3.19={ death=yes } @@ -1725,11 +1725,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 548.8.16={ birth=yes trait=creature_gnoll employer=29038 add_pressed_claim=title:c_dawning_isles } 562.6.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 585.1.7={ death=yes } } @@ -1845,11 +1845,11 @@ gruff_swiftbite={ #a rare gnoll who can be found at Forest's Edge, south of West 454.11.24={ birth=yes trait=creature_gnoll } 470.11.24={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 511.3.7={ death=yes } } diff --git a/history/characters/310000_patron_characters.txt b/history/characters/310000_patron_characters.txt index 49b5f894a3..76f291c943 100644 --- a/history/characters/310000_patron_characters.txt +++ b/history/characters/310000_patron_characters.txt @@ -13,14 +13,15 @@ } 569.11.3={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 605.9.9={ religion=scarletism @@ -41,12 +42,13 @@ } 53.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 603.10.1={ culture=blood_elf @@ -90,14 +92,15 @@ } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 606.9.9={ religion=scarletism @@ -115,6 +118,13 @@ 582.1.1={ effect={add_patron_trait_character_effect=yes} } + 579.1.1={ + effect={ + set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + add_trait = user_of_light_magic_3 + } + } + 639.8.31={ death=yes } } # dynasty=125005 310050={ @@ -130,11 +140,11 @@ } 581.1.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 610.1.31={ death=yes } } @@ -155,11 +165,11 @@ } 601.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 add_prestige = 21 } 640.1.31={ death=yes } @@ -207,6 +217,7 @@ 595.1.1={ trait=education_learning_4 effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=shy trait=craven trait=ambitious trait=diligent } 626.2.11={ death=yes } @@ -228,14 +239,15 @@ 562.4.25={ employer=60246 } # c_tyrs_hand 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 607.7.21={ death=yes } } @@ -253,11 +265,11 @@ } 577.10.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 622.11.29={ death=yes } } @@ -274,7 +286,10 @@ 2.6.16={ effect={add_patron_trait_character_effect=yes} } - 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 20.1.1={ + effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 691.8.29={ death=yes } } @@ -293,7 +308,10 @@ make_character_crypto_religionist_effect = { CRYPTO_RELIGION = faith:orcish_fel } } } - 582.10.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 582.10.1={ + effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 615.2.6={ death=yes } } @@ -312,6 +330,7 @@ } 582.2.10={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 620.6.7={ death=yes } } @@ -333,11 +352,11 @@ } 577.2.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 620.6.7={ death=yes } } @@ -355,11 +374,11 @@ 560.1.1={ birth=yes trait=creature_orc effect={add_fan_trait_character_effect=yes} } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 658.10.21={ death=yes } } @@ -377,17 +396,18 @@ 560.1.1={ birth=yes trait=creature_orc effect={add_fan_trait_character_effect=yes} } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 583.1.1={ employer=10019 # Durotan } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 603.1.1={ employer=10021 # Go'el @@ -413,14 +433,15 @@ } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 643.2.23={ death=yes } } @@ -454,11 +475,18 @@ 560.1.1={ birth=yes trait=creature_high_elf effect={add_fan_trait_character_effect=yes} } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + } + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } + 590.1.1={ + religion=holy_light + effect={ + set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } + add_trait = user_of_light_magic_1 } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 } 603.10.1={ culture=blood_elf @@ -479,11 +507,11 @@ 560.1.1={ birth=yes trait=creature_dwarf effect={add_fan_trait_character_effect=yes} } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 643.2.23={ death=yes } } @@ -506,6 +534,7 @@ } 580.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -550,6 +579,7 @@ 580.1.1={ give_nickname = nick_the_mystery_seeker effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 643.2.23={ death=yes } } @@ -567,14 +597,15 @@ 560.5.8={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 576.5.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 620.7.15={ death=yes } } @@ -591,14 +622,15 @@ 559.12.19={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 575.12.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 643.11.9={ death=yes } } @@ -616,14 +648,15 @@ 559.1.4={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 575.1.4={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 629.4.6={ death=yes } } @@ -642,11 +675,11 @@ 559.9.21={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 575.9.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 632.4.11={ death=yes } } @@ -665,11 +698,11 @@ 300.5.15={ birth=yes trait=creature_high_elf effect={add_patron_trait_character_effect=yes} } 316.5.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 603.10.1={ culture=blood_elf @@ -708,6 +741,8 @@ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + trait=scholar } 650.7.2={ death=yes } @@ -724,11 +759,11 @@ 520.1.1={ trait=education_martial_4 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=wrathful trait=arrogant trait=brave trait=education_martial_prowess_4 } @@ -745,11 +780,11 @@ 320.1.1={ trait=education_martial_4 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=wrathful trait=sadistic trait=lazy trait=strong trait=lifestyle_hunter @@ -774,6 +809,7 @@ 580.1.1={ trait=education_intrigue_4 effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=schemer } 630.8.22={ death=yes } @@ -794,6 +830,7 @@ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } # set_light_gfx_effect=yes } + trait=compassionate trait=trusting trait=honest trait=shy trait=theologian } @@ -815,15 +852,16 @@ 553.1.20={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait=strategist } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 630.6.22={ death=yes } } @@ -844,15 +882,16 @@ } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait=architect } 590.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 630.10.21={ death=yes } } @@ -868,11 +907,11 @@ 563.10.7={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=shrewd trait=education_martial_prowess_4 } @@ -890,8 +929,15 @@ trait=ambitious trait=patient trait=cynical trait=sadistic 563.10.14={ birth=yes trait=creature_murloc effect={add_patron_trait_character_effect=yes} } 583.1.1={ - effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - trait=lifestyle_mystic + effect={ + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + add_trait = user_of_order_magic_3 + add_trait = lifestyle_mystic + add_trait_xp = { + trait = lifestyle_mystic + value = 50 + } + } } 636.2.18={ death=yes } } @@ -906,8 +952,15 @@ 563.9.9={ birth=yes trait=creature_night_elf effect={add_patron_trait_character_effect=yes} } 583.1.1={ trait=education_diplomacy_4 - effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - trait=lifestyle_mystic + effect={ + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + add_trait = user_of_order_magic_3 + add_trait = lifestyle_mystic + add_trait_xp = { + trait = lifestyle_mystic + value = 50 + } + } trait=ambitious trait=lustful trait=lazy trait=cynical } 700.4.18={ death=yes } @@ -928,6 +981,7 @@ 583.1.1={ trait=education_learning_3 effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=scholar trait=celibate trait=diligent trait=wrathful trait=arrogant trait=deceitful } @@ -951,11 +1005,11 @@ 580.1.1={ trait=education_intrigue_3 effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 trait=shrewd trait=strategist trait=ambitious trait=arrogant trait=greedy trait=patient @@ -981,12 +1035,16 @@ 580.1.1={ trait=education_martial_4 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + # add_trait = physical_lifestyle_endurance_3 + # add_trait = physical_lifestyle_strength_3 + add_trait = lifestyle_mystic + add_trait_xp = { + trait = lifestyle_mystic + value = 50 + } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 - trait=lifestyle_mystic trait=scarred trait=one_eyed trait=lustful trait=wrathful trait=brave trait=zealous trait=unyielding_defender trait=rough_terrain_expert } 616.7.30={ death=yes } @@ -1023,6 +1081,7 @@ } 580.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=magic_good_1 trait=scholar } @@ -1039,11 +1098,11 @@ 580.1.1={ trait=education_martial_2 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=shrewd trait=education_martial_prowess_4 trait=diligent trait=patient trait=brave trait=stubborn @@ -1066,6 +1125,8 @@ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + trait=theologian trait=physique_bad_2 trait=wrathful trait=arbitrary trait=diligent trait=gluttonous } @@ -1090,6 +1151,10 @@ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + + + + trait=seducer trait=ambitious trait=compassionate trait=lustful trait=diligent } @@ -1121,6 +1186,7 @@ } 580.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=seducer } 620.6.8={ death=yes } @@ -1145,12 +1211,13 @@ } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=physique_good_1 trait=theologian } @@ -1171,12 +1238,13 @@ 583.1.1={ trait=education_martial_2 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + trait=strong trait=architect trait=wounded_1 trait=wrathful trait=honest trait=brave trait=content @@ -1198,12 +1266,18 @@ 551.4.16={ birth=yes trait=creature_troll effect={add_patron_trait_character_effect=yes} } 571.1.1={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + trait=shrewd trait=lifestyle_reveler } 603.1.1={ trait=being_undead - effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + effect={ + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + } + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 religion=death_god } 620.8.22={ death=yes } @@ -1224,11 +1298,11 @@ 2.3.20={ birth=yes trait=creature_night_elf effect={add_patron_trait_character_effect=yes} } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 trait=strong trait=lifestyle_hunter } @@ -1248,12 +1322,13 @@ 582.8.13={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 602.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=beauty_good_1 trait=strategist } @@ -1279,11 +1354,11 @@ 579.4.11={ birth=yes trait=creature_goblin effect={add_patron_trait_character_effect=yes} } 599.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=strong trait=torturer } @@ -1307,8 +1382,15 @@ trait=lustful trait=stubborn trait=shrewd trait=ambitious trait=diligent 563.11.26={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 583.1.1={ - effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - trait=lifestyle_mystic + effect={ + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + add_trait = user_of_order_magic_3 + add_trait = lifestyle_mystic + add_trait_xp = { + trait = lifestyle_mystic + value = 50 + } + } } 620.7.17={ death=yes } } @@ -1332,12 +1414,13 @@ } 568.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=education_martial_prowess_4 } 603.10.1={ @@ -1360,12 +1443,13 @@ 579.9.3={ birth=yes trait=creature_human effect={add_patron_trait_character_effect=yes} } 599.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=strong trait=scholar } @@ -1385,11 +1469,11 @@ 387.1.1={ trait=education_martial_4 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=shrewd trait=strategist trait=scarred trait=ambitious trait=honest @@ -1420,11 +1504,11 @@ 577.1.1={ trait=education_martial_1 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=beauty_good_1 trait=one_eyed trait=bastard trait=generous trait=humble trait=trusting trait=honest } @@ -1445,6 +1529,7 @@ 242.1.1={ trait=education_martial_4 effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait=scholar trait=diligent trait=wrathful trait=brave trait=trusting } @@ -1468,11 +1553,11 @@ 376.5.20={ birth=yes trait=creature_high_elf effect={add_patron_trait_character_effect=yes} } 396.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait=shrewd trait=scholar trait=scarred @@ -1480,6 +1565,7 @@ 603.7.29={ trait=being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion=death_god } 647.12.16={ death=yes } diff --git a/history/characters/320000_centaur.txt b/history/characters/320000_centaur.txt index 18335cfdb8..893e314e15 100644 --- a/history/characters/320000_centaur.txt +++ b/history/characters/320000_centaur.txt @@ -11,11 +11,11 @@ 560.1.20={ birth = yes trait = creature_centaur } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 625.9.6={ death=yes } } @@ -30,11 +30,11 @@ 561.10.18={ birth = yes trait = creature_centaur } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 633.6.22={ death=yes } } @@ -50,11 +50,11 @@ 542.10.25={ birth = yes trait = creature_centaur } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 602.12.9={ death=yes } } @@ -78,11 +78,11 @@ } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 609.9.5={ death=yes } } @@ -98,11 +98,11 @@ 555.6.23={ birth = yes trait = creature_centaur } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 608.3.29={ death=yes } } @@ -1903,7 +1903,10 @@ father=410102 #Zaetar 52.6.7={ birth = yes trait = creature_centaur } 72.6.21={ - effect={ set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + effect={ + set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + add_trait = user_of_elemental_earth_decay_magic_4 + } # create_bloodline = { # type = maraudos # } @@ -4753,11 +4756,11 @@ 38.11.8={ birth = yes trait = creature_centaur } 82.9.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 # create_bloodline = { # type = kolk # } @@ -5509,11 +5512,11 @@ 532.8.16={ birth = yes trait = creature_centaur } 550.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 596.7.7={ death=yes } } @@ -5556,11 +5559,11 @@ 549.7.25={ birth = yes trait = creature_centaur } 579.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 602.6.10={ death=yes } } @@ -6448,11 +6451,11 @@ khan_shodo={ 561.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 611.4.12={ give_nickname = nick_the_son_of_cenarion @@ -6469,11 +6472,11 @@ rhoho={ 581.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 611.1.13={ death = { @@ -6491,11 +6494,11 @@ sherik={ 583.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 611.1.13={ death = { @@ -6513,11 +6516,11 @@ jorreth={ 585.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 611.1.13={ death = { @@ -6536,11 +6539,11 @@ kherrah={ 588.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_endurance_1 + # #trait=physical_lifestyle_strength_1 } 611.1.13={ death = { @@ -6571,11 +6574,11 @@ gragtor={ 581.10.25={ birth = yes trait = creature_centaur } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 605.5.18={ death = { diff --git a/history/characters/32000_frostmane.txt b/history/characters/32000_frostmane.txt index d0a14a891a..ea20415c9b 100644 --- a/history/characters/32000_frostmane.txt +++ b/history/characters/32000_frostmane.txt @@ -802,8 +802,8 @@ 590.12.7={ birth=yes trait=creature_troll } 599.4.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } give_nickname=nick_the_berserker } } @@ -2403,8 +2403,8 @@ vejrek={ 596.07.14={employer=32076} #Arctikus [8120] 599.4.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 674.9.13={ death=yes } @@ -2432,8 +2432,8 @@ skullcrusher_gundu={ 596.07.14={employer=32076} #Arctikus [8120] 599.4.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } } 674.9.13={ death=yes } diff --git a/history/characters/330000_highborne.txt b/history/characters/330000_highborne.txt index 901cb46df1..3e3ace31d6 100644 --- a/history/characters/330000_highborne.txt +++ b/history/characters/330000_highborne.txt @@ -10,8 +10,8 @@ 2.1.23={ birth=yes trait=creature_highborne } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -83,13 +83,15 @@ remove_trait=creature_highborne add_trait = creature_naga effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + + set_variable = { name = wc_elemental_air_favour_variable value = 0 } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 604.1.1={ religion = illidari @@ -124,6 +126,7 @@ 20.1.1={ trait = being_demon effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + religion = burning_legion_religion give_nickname = nick_the_twisted } @@ -139,6 +142,7 @@ 2.1.11={ birth=yes trait=creature_highborne } 20.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 505.1.1={ trait = adventurer @@ -262,8 +266,8 @@ illyanna_ravenoak={ 20.1.1={ #Give her a little of strength and dexterity, since that seems to be what most hunter characters have effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_dexterity_1 diff --git a/history/characters/33000_vilebranch.txt b/history/characters/33000_vilebranch.txt index fdf07d1567..15a0e4b9c8 100644 --- a/history/characters/33000_vilebranch.txt +++ b/history/characters/33000_vilebranch.txt @@ -344,8 +344,8 @@ umboda_three_heads={ 599.4.13={ religion=cult_of_hakkar effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } employer=33002 } @@ -377,8 +377,8 @@ retherokk_the_berserker={ 599.4.13={ religion=cult_of_hakkar effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } give_nickname=nick_the_berserker } add_matrilineal_spouse=qiaga_the_keeper diff --git a/history/characters/340000_night_elf.txt b/history/characters/340000_night_elf.txt index 13d3607ce6..aad15a1a2b 100644 --- a/history/characters/340000_night_elf.txt +++ b/history/characters/340000_night_elf.txt @@ -10,11 +10,11 @@ 2.12.21={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 25.1.1={ add_spouse=340001 @@ -35,6 +35,7 @@ 2.9.23={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 25.1.1={ add_spouse=340000 @@ -64,11 +65,11 @@ 2.5.2={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 1338.9.21={ death=yes } } @@ -170,6 +171,7 @@ } 40.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + # trait = bear_form_mastered # effect = { # set_character_flag = cat_form @@ -205,12 +207,13 @@ } 40.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 + } 41.1.1={ employer = 340021 @@ -291,11 +294,11 @@ 2.12.4={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 1442.9.27={ death=yes } } @@ -311,11 +314,11 @@ 2.5.15={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 1044.9.14={ death=yes } } @@ -333,6 +336,7 @@ } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait = cat_form_mastered # effect = { # set_character_flag = bear_form @@ -370,11 +374,11 @@ 2.6.4={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 50.1.5={ death=yes } } @@ -406,11 +410,11 @@ } 45.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 effect = { set_relation_rival = character:340009 } #Illidan } 605.6.30 = { @@ -444,11 +448,11 @@ } 47.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 add_spouse=340024 #Shalasyr effect={ set_relation_soulmate = character:340024 #Shalasyr @@ -470,6 +474,7 @@ 27.1.26={ birth=yes trait=creature_night_elf } 47.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 617.5.1={ death=yes } } @@ -767,6 +772,7 @@ 2.10.23={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait = talon_form_mastered # effect = { # set_character_flag = bear_form @@ -789,6 +795,7 @@ 2.3.24={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 1213.8.29={ death=yes } } @@ -803,6 +810,7 @@ 2.7.9={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # effect = { # set_character_flag = bear_form # set_character_flag = talon_form @@ -826,6 +834,7 @@ 2.11.5={ birth=yes trait=creature_night_elf } 608.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # effect = { # set_character_flag = bear_form # set_character_flag = talon_form @@ -848,6 +857,7 @@ 2.6.3={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 989.2.1={ death=yes } } @@ -882,6 +892,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 1472.3.16={ death=yes } } @@ -896,6 +907,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 1472.3.16={ death=yes } } @@ -912,6 +924,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -930,6 +943,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -948,6 +962,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -966,6 +981,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -984,6 +1000,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1002,6 +1019,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1020,6 +1038,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1038,6 +1057,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1056,6 +1076,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1075,6 +1096,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1094,6 +1116,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1113,6 +1136,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1143,6 +1167,7 @@ 20.10.17={ birth=yes trait=creature_night_elf } 38.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1162,6 +1187,7 @@ 25.10.17={ birth=yes trait=creature_night_elf } 45.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1181,6 +1207,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1199,6 +1226,7 @@ 2.10.17={ birth=yes trait=creature_night_elf } 20.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + # trait=subclass_moon_priest # effect={ # join_society_sisterhood_of_elune_effect = yes @@ -1229,16 +1257,16 @@ } 48.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 25 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 } 68.1.2={ employer=340003 @@ -1267,11 +1295,11 @@ } 30.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 30.1.2={ employer=340021 #Maiev @@ -1567,6 +1595,7 @@ 100.3.27={ birth=yes trait=creature_night_elf } 120.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } #Follows Illidan 603.9.6={ @@ -1590,6 +1619,7 @@ 99.5.20={ birth=yes trait=creature_night_elf } 120.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } #Follows Illidan 603.9.6={ @@ -1613,6 +1643,7 @@ 99.5.11={ birth=yes trait=creature_night_elf } 120.1.1={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } #Follows Illidan 603.9.6={ @@ -1659,11 +1690,11 @@ altruis_the_sufferer={ trait = being_undead religion = maldraxxi effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 615.3.21={ death=yes } } @@ -2069,11 +2100,11 @@ marin_bladewing={ } 45.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 715.1.1={ death=yes } } @@ -2090,8 +2121,8 @@ arkonarin_starshade={ } 445.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 @@ -2131,8 +2162,8 @@ jessir_moonbow={ } 45.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 @@ -2206,8 +2237,8 @@ naisha={ } 45.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -2244,8 +2275,8 @@ arantir={ } 350.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } } 605.5.5={ diff --git a/history/characters/34000_murloc.txt b/history/characters/34000_murloc.txt index f62ea3845e..bfb4a193d6 100644 --- a/history/characters/34000_murloc.txt +++ b/history/characters/34000_murloc.txt @@ -22,11 +22,11 @@ 565.8.13={ add_prestige = 300 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 599.8.13={ give_nickname = nick_the_old_murkeye @@ -17598,11 +17598,11 @@ grrvrgull_the_conqueror={ add_prestige = 300 give_nickname=nick_the_conqueror effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 615.1.30={ death=yes } } @@ -17614,11 +17614,11 @@ flllurlokkr={ 570.1.1={ birth=yes trait=creature_murloc } 582.8.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_endurance_1 + # #trait=physical_lifestyle_strength_1 } 615.1.30={ death=yes } } @@ -17630,11 +17630,11 @@ elder_murkeye={ 562.1.1={ birth=yes trait=creature_murloc } 582.8.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 615.1.30={ death=yes } } @@ -17669,11 +17669,11 @@ underlight_murloc1={ #non-canon 552.1.1={ birth=yes trait=creature_murloc } 582.8.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 603.5.1={ death = { @@ -17691,9 +17691,9 @@ underlight_murloc2={ #non-canon 582.1.1={ birth=yes trait=creature_murloc } 602.8.13={ effect={ - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_strength_1 } 715.1.30={ death=yes } } diff --git a/history/characters/360000_eredruin.txt b/history/characters/360000_eredruin.txt index 59cd434f2e..05b9c8201f 100644 --- a/history/characters/360000_eredruin.txt +++ b/history/characters/360000_eredruin.txt @@ -19,11 +19,11 @@ } 16.4.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 2000.6.21={ death=yes } } @@ -47,11 +47,11 @@ } 16.4.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 2000.6.21={ death=yes } } @@ -64,11 +64,11 @@ 2.4.17={ birth=yes trait=creature_eredruin trait=being_demon } 16.4.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 } 2000.6.21={ death=yes } } @@ -80,8 +80,8 @@ akkrilus={ 5.4.17={ birth=yes trait=creature_eredruin trait=being_demon } 16.4.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -100,8 +100,8 @@ destroyer_zardikar={ 5.4.17={ birth=yes trait=creature_eredruin trait=being_demon } 16.4.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 diff --git a/history/characters/38000_arathorian.txt b/history/characters/38000_arathorian.txt index 93f5b866a0..dc57e173ee 100644 --- a/history/characters/38000_arathorian.txt +++ b/history/characters/38000_arathorian.txt @@ -33,11 +33,19 @@ set_relation_friend = character:60001 #Terenas Menethil } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_strength_4 + } + 583.1.1 = { + effect = { + appoint_court_position = { + recipient = character:logan_palimore + court_position = antiquarian_court_position + } + } } 583.1.1 = { effect = { @@ -65,11 +73,11 @@ 577.2.21={ birth=yes trait=creature_human effect = { make_important_lore_character_effect = yes } } 590.2.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 608.1.8 = { effect = { @@ -113,12 +121,12 @@ 548.3.7={ birth=yes trait=creature_human effect = { make_important_lore_character_effect = yes } } 566.3.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } set_relation_best_friend = character:22002 #Kurdran } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 591.11.1 = { effect = { @@ -504,6 +512,7 @@ } 603.2.24={ effect={ change_variable = { name = wc_order_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_order_magic rank = 1 } trait = being_undead remove_trait = creature_human add_trait = creature_lich @@ -521,11 +530,11 @@ kenata_dabyrie={ 566.8.15={ birth=yes trait=creature_human } 576.5.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_endurance_1 + # #trait=physical_lifestyle_strength_1 } 665.1.4={ death=yes } } @@ -538,11 +547,11 @@ fardel_dabyrie={ 586.8.15={ birth=yes trait=creature_human } 596.5.8={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_dexterity_1 + # #trait=physical_lifestyle_strength_1 } 665.1.4={ death=yes } } @@ -555,11 +564,11 @@ marcel_dabyrie={ 588.8.15={ birth=yes trait=creature_human } 596.5.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 665.1.4={ death=yes } } diff --git a/history/characters/381000_vulpera.txt b/history/characters/381000_vulpera.txt index 144fe49a01..a2151bbab7 100644 --- a/history/characters/381000_vulpera.txt +++ b/history/characters/381000_vulpera.txt @@ -12,11 +12,11 @@ } 560.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 770.5.20={ death=yes } } @@ -29,11 +29,11 @@ 551.10.7={ birth=yes trait=creature_vulpera } 567.10.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 770.3.16={ death=yes } } @@ -56,11 +56,11 @@ 487.2.12={ birth=yes trait=creature_vulpera } 505.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 542.3.21={ death=yes } } diff --git a/history/characters/390000_sethrak.txt b/history/characters/390000_sethrak.txt index 7adf170c89..08b597e356 100644 --- a/history/characters/390000_sethrak.txt +++ b/history/characters/390000_sethrak.txt @@ -13,11 +13,11 @@ } 30.5.6={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=desert_warrior trait = immortal give_nickname = nick_the_brave @@ -40,11 +40,11 @@ } 30.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=holy_warrior trait=desert_warrior trait = immortal } @@ -64,11 +64,11 @@ 3.7.25={ birth=yes trait=creature_sethrak } 25.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait=holy_warrior } 30.1.1={ @@ -96,11 +96,11 @@ } 575.3.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait=holy_warrior } 622.10.6={ death=yes } diff --git a/history/characters/400000_titan.txt b/history/characters/400000_titan.txt index 732dd969a7..4c54296083 100644 --- a/history/characters/400000_titan.txt +++ b/history/characters/400000_titan.txt @@ -54,6 +54,7 @@ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 425.1.1={ give_nickname = nick_the_prime_designate #Odyn imprisoned by Helya diff --git a/history/characters/410000_dryad.txt b/history/characters/410000_dryad.txt index 0c0fef5799..1a8e1b9e06 100644 --- a/history/characters/410000_dryad.txt +++ b/history/characters/410000_dryad.txt @@ -11,6 +11,7 @@ 50.8.9={ birth=yes trait = creature_dryad trait = being_life } 70.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 1098.1.30={ death=yes } } @@ -28,6 +29,7 @@ } 96.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + } 1535.2.5={ death=yes } } @@ -49,6 +51,7 @@ } 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + #trait = forest_demigod } #Killed by Grommash @@ -68,6 +71,7 @@ 550.8.9={ birth=yes trait = creature_dryad trait = being_life } 570.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 9999.1.30={ death=yes } } @@ -101,12 +105,13 @@ } 70.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + } 9999.1.30={ death=yes } } @@ -121,6 +126,7 @@ 80.1.1={ birth=yes trait = creature_dryad trait = being_life } 100.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 9999.1.30={ death=yes } } @@ -135,6 +141,7 @@ 19.1.1={ birth=yes trait = creature_dryad trait = being_life } 40.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 61.1.30={ death = { @@ -154,6 +161,7 @@ 335.1.1={ birth=yes trait = creature_dryad trait = being_life } 370.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 376.1.1={ employer=320281 #Kragripenh(centaur) @@ -187,6 +195,7 @@ 440.1.1={ birth=yes trait = creature_dryad trait = being_life } 470.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 900.1.30={ death=yes } } diff --git a/history/characters/42000_high_elf.txt b/history/characters/42000_high_elf.txt index f246bf2f84..0ae5030fd3 100644 --- a/history/characters/42000_high_elf.txt +++ b/history/characters/42000_high_elf.txt @@ -38,13 +38,14 @@ 16.1.1={ add_prestige = 6000 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } learn_language = language_common } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + # create_bloodline = { # type = dathremar # } @@ -80,9 +81,11 @@ } 37.12.3={ effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + set_variable = { name = order_focus value = flag:fire } + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=user_of_order_magic_3 + trait=user_of_elemental_fire_magic_4 trait=shrewd # Described as shrewd } 583.1.1={ @@ -1099,13 +1102,13 @@ } 98.10.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } set_relation_friend = character:42077 #Halduron Brightwing set_relation_friend = character:42076 # Sylvanas } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 } 603.10.1={ culture=blood_elf @@ -1163,16 +1166,16 @@ } 227.10.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 25 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 trait=shrewd } 550.1.1={ @@ -1184,6 +1187,7 @@ 603.7.11={ trait=being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge trait=callous #The Scourge corrupted her @@ -1259,12 +1263,12 @@ } 187.5.22={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_relation_friend = character:42086 #Alleria Windrunner } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 589.11.1={ effect = { @@ -1309,9 +1313,8 @@ effect = { make_important_lore_character_effect = yes } } 173.7.19={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 603.7.1={ religion = death_god @@ -1320,6 +1323,7 @@ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } give_nickname=nick_the_betrayer } + } 603.8.3={ trait=being_undead @@ -1457,8 +1461,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 196.3.22={ employer=42002 #Anasterian effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common add_trait_xp = { trait = lifestyle_hunter @@ -1466,8 +1470,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers value = 25 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 588.8.10={ add_matrilineal_spouse=60247 #Turalyon @@ -1516,8 +1520,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 349.10.26={ employer=42002 #Anasterian effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common add_trait_xp = { trait = lifestyle_hunter @@ -1525,8 +1529,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers value = 25 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 591.4.6={ effect = { set_relation_ward = character:42100 } #Arator @@ -1577,11 +1581,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 18.1.1={ set_relation_friend = character:42002 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 603.10.1={ death = { @@ -1616,11 +1620,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 149.12.7={ birth=yes trait=creature_high_elf } 165.12.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 603.10.1={ culture=blood_elf @@ -1642,9 +1646,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers father=42090 #Sothis 200.3.6={ birth=yes trait=creature_high_elf } 216.3.6={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -1675,11 +1678,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 294.5.6={ birth=yes trait=creature_high_elf } 466.2.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 603.10.1={ culture=blood_elf @@ -1706,6 +1709,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 589.10.26={ death = { @@ -1782,13 +1787,14 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 607.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } # set_light_gfx_effect=yes } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + give_nickname = nick_the_redeemer } 642.9.2={ death=yes } @@ -1850,11 +1856,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 2.2.12={ birth=yes trait=creature_high_elf } 21.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } # Killed by the Scourge 603.10.1={ @@ -1981,11 +1987,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 66.1.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 100.1.1={ add_spouse=42201 @@ -2013,11 +2019,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 603.10.1={ culture=blood_elf @@ -2042,9 +2048,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers effect={add_patron_trait_character_effect=yes} } 579.6.23={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -2094,11 +2099,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 605.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } #Enslaved by Rehgar 609.12.24={ @@ -2133,9 +2138,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers trait=brave trait=wrathful 2.4.1={ birth=yes trait=creature_high_elf } 20.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -2152,9 +2156,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers mother=42220 #Lana'thel 300.1.23={ birth=yes trait=creature_high_elf } 320.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -2174,6 +2177,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=user_of_order_magic_2 + trait=user_of_elemental_fire_magic_4 } 603.10.1={ culture=blood_elf @@ -2191,9 +2196,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers trait=diligent trait=shrewd trait=content 100.6.2={ birth=yes trait=creature_high_elf } 120.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=scholar give_nickname=nick_the_calculator } @@ -2213,13 +2217,14 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 100.8.21={ birth=yes trait=creature_high_elf } 120.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } # set_light_gfx_effect=yes } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=strategist give_nickname=nick_the_shatterer } @@ -2242,11 +2247,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 99.1.22={ birth=yes trait=creature_high_elf } 120.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 trait=schemer } 603.10.1={ @@ -2269,6 +2274,7 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } # set_light_gfx_effect=yes } + trait=diplomat } 603.10.1={ @@ -2291,6 +2297,9 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + + trait=scholar } 603.10.1={ @@ -2308,9 +2317,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers trait=education_intrigue_3 trait=arrogant trait=craven 413.5.4={ birth=yes trait=creature_high_elf } 429.5.4={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 589.10.26={ death=yes } } @@ -2359,11 +2367,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 597.5.24={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 trait=diligent trait=shrewd trait=gregarious trait=lunatic_1 } @@ -2400,6 +2408,7 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } # set_light_gfx_effect=yes } + } 603.10.1={ culture=blood_elf @@ -2425,16 +2434,16 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 156.3.22={ employer=42002 #Anasterian effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 50 } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 give_council_position = councillor_marshal } 589.6.26={ @@ -2456,9 +2465,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers effect = { make_important_lore_character_effect = yes } } 20.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -2488,6 +2496,7 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } # set_light_gfx_effect=yes } + } 603.7.30={employer=42075} #Lor'themar[20015] 603.10.1={ @@ -2507,9 +2516,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 326.3.22={ employer = 42304 - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 603.10.1={ culture=blood_elf @@ -2529,6 +2537,7 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } # set_light_gfx_effect=yes } + } 603.10.1={ culture=blood_elf @@ -2555,11 +2564,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers } 545.9.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } # Becomes an assassin in Ravenholdt 580.1.1={ @@ -2577,12 +2586,12 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 605.1.1={ employer = 52000 religion = twilights_hammer_cult - effect={ + #effect={ #join_society_twilights_hammer_cult_effect = yes - change_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable add = wc_perks_given_for_physical_level_up_value } - change_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable add = wc_perks_given_for_physical_level_up_value } - } + # change_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable add = wc_perks_given_for_physical_level_up_value } + # change_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable add = wc_perks_given_for_physical_level_up_value } + # } # change_trait_rank = { trait = wc_lifestyle_physical_dexterity rank = 1 } # change_trait_rank = { trait = wc_lifestyle_physical_strength rank = 1 } } @@ -2611,11 +2620,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 114.3.20={ birth=yes trait=creature_high_elf } 532.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 625.2.11={ death=yes } } @@ -2631,11 +2640,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 241.2.24={ birth=yes trait=creature_high_elf } 532.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 603.5.24={ trait=being_undead @@ -2672,15 +2681,16 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 421.1.24={ birth=yes trait=creature_high_elf } 439.1.24={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } # Becomes a death knight and a blood elf 603.9.14={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + culture=blood_elf trait=being_undead religion=death_god @@ -2708,11 +2718,11 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers 447.5.15={ birth=yes trait=creature_high_elf } 465.5.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.10.1={ death = { @@ -2816,9 +2826,8 @@ thalothas_brightsun={ #heads the Thalo'dan Privateers trait=magic_good_2 328.7.21={ birth=yes trait=creature_high_elf} 360.3.8={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + } 502.6.29={ employer = 59002 # Nehrud @@ -2841,11 +2850,11 @@ jalinde_summerdrake={ 411.5.11={ birth=yes trait=creature_high_elf } 500.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_dexterity_3 + # #trait=physical_lifestyle_strength_3 } 800.7.3={ death = yes @@ -2948,8 +2957,8 @@ fellari_swiftarrow={ #Ranger Captain of the Scarlet Crusade } 316.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common } } @@ -3120,8 +3129,8 @@ myrokos_silentform={ 299.5.20={ birth=yes trait=creature_high_elf } 385.9.4={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_1 # trait=physical_lifestyle_strength_1 @@ -3154,8 +3163,8 @@ talthressar={ #one of the elven lieutenants serving under Alleria Windrunner dur } 196.3.22={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } learn_language = language_common } # trait=physical_lifestyle_endurance_3 diff --git a/history/characters/430000_nathrezim.txt b/history/characters/430000_nathrezim.txt index 780262add1..6f1c5b8049 100644 --- a/history/characters/430000_nathrezim.txt +++ b/history/characters/430000_nathrezim.txt @@ -15,7 +15,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -61,7 +68,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -110,7 +124,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -156,7 +177,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -202,7 +230,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -257,7 +292,14 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + } + + + } 591.11.1={ employer=10014 # Ner'zhul effect = { @@ -307,7 +349,10 @@ } } 20.1.1={ - effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + } } 604.1.1={ learn_language = language_eredun @@ -337,9 +382,11 @@ malganis={ } 20.1.1={ effect={ - set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + + } 591.11.1={ employer=10014 # Ner'zhul @@ -530,8 +577,8 @@ talnivarr_the_sleeper={ } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -563,8 +610,8 @@ vagath={ } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -600,8 +647,8 @@ lothros={ } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 diff --git a/history/characters/440000_storm_giant.txt b/history/characters/440000_storm_giant.txt index 4c629f4258..7c35d2c4a4 100644 --- a/history/characters/440000_storm_giant.txt +++ b/history/characters/440000_storm_giant.txt @@ -20,11 +20,11 @@ 20.1.21={ birth=yes trait=creature_giant } 40.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 1122.6.15={ death=yes } } @@ -39,11 +39,11 @@ 21.6.13={ birth=yes trait=creature_giant } 41.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 729.11.4={ death=yes } } diff --git a/history/characters/44000_baradin.txt b/history/characters/44000_baradin.txt index 87664f75d8..2b38b65db1 100644 --- a/history/characters/44000_baradin.txt +++ b/history/characters/44000_baradin.txt @@ -163,11 +163,11 @@ 540.7.4={ birth=yes trait=creature_human } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 608.9.20={ death=yes } } diff --git a/history/characters/450000_sayaadi.txt b/history/characters/450000_sayaadi.txt index 820799d056..46c8b9eae1 100644 --- a/history/characters/450000_sayaadi.txt +++ b/history/characters/450000_sayaadi.txt @@ -68,7 +68,12 @@ } } } - 20.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 20.1.1={ + effect={ + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + add_trait = user_of_disorder_magic_3 + } + } 2000.6.21={ death=yes } } @@ -133,8 +138,8 @@ sinstralis_of_the_pain={ 2.4.17={ birth=yes trait=creature_sayaadi trait=being_demon } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 diff --git a/history/characters/460000_drust.txt b/history/characters/460000_drust.txt index 491132752c..ab7106fa3e 100644 --- a/history/characters/460000_drust.txt +++ b/history/characters/460000_drust.txt @@ -21,7 +21,10 @@ # type = ulfar # } } - 20.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 20.1.1={ + effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + } 583.1.1={ employer = 310280 # Markus [patron] } diff --git a/history/characters/46000_gilnean.txt b/history/characters/46000_gilnean.txt index c893fb94d2..6df6a169aa 100644 --- a/history/characters/46000_gilnean.txt +++ b/history/characters/46000_gilnean.txt @@ -27,14 +27,14 @@ add_prestige = 750 add_spouse=46002 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_relation_soulmate = character:46002 set_relation_friend = character:24001 #Darius Crowley set_relation_friend = character:krennan_aranas } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.8.14={ add_gold = 300 #Military budget @@ -94,11 +94,11 @@ 556.2.20={ birth=yes trait=creature_human effect = { make_important_lore_character_effect = yes } } 576.2.20={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 603.8.14={ add_gold = 300 #Military budget @@ -133,11 +133,11 @@ 558.2.20={ birth=yes trait=creature_human effect = { make_important_lore_character_effect = yes } } 578.2.20={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 611.1.14={ effect={ @@ -241,7 +241,10 @@ trait=generous trait=shrewd trait=humble trait=compassionate disallow_random_traits = yes 530.1.11={ birth=yes trait=creature_human } - 546.1.11={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } } + 546.1.11={ + effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 607.6.13={ death=yes } } @@ -511,6 +514,7 @@ } 590.11.14 = { effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 603.7.2 = { religion = wolf_cult_religion @@ -571,11 +575,11 @@ 491.5.23={ birth=yes trait=creature_human } 522.5.23={ # effect={ - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_2 - # # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 564.7.22={ death=yes } } @@ -591,6 +595,7 @@ 468.8.17={ birth=yes trait=creature_human } 484.8.17={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 530.9.8={ death=yes } } @@ -2059,6 +2064,7 @@ 492.7.3={ birth=yes } 510.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 548.11.19={ death=yes } } @@ -2373,6 +2379,7 @@ 280.5.14={ birth=yes } 298.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 364.7.11={ death=yes } } diff --git a/history/characters/48000_tirassian.txt b/history/characters/48000_tirassian.txt index 0d20b1a851..7d62aa7c2c 100644 --- a/history/characters/48000_tirassian.txt +++ b/history/characters/48000_tirassian.txt @@ -824,12 +824,21 @@ if = { limit = { character:1008 = { is_alive = yes } } set_relation_friend=character:1008 } #Anduin if = { limit = { character:48085 = { is_alive = yes } } set_relation_soulmate=character:48085 } #Katherine - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 + + } + 595.1.1={ + effect={ + add_hook_no_toast = { + target = character:rufus_montaine + type = loyalty_hook + } + } } 595.1.1={ effect={ @@ -873,14 +882,18 @@ } 592.1.1={ employer=59000 # k_dalaran + #she's a prodigy so she probably made contact with the elements at a young age given her religion + set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } 596.2.13={ religion = kirin_torian #She mentions Light a lot so probably she embraced it in Dalaran effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + set_variable = { name = order_focus value = flag:ice } + set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + trait=user_of_order_magic_4 + trait=user_of_elemental_fire_magic_2 + trait=user_of_elemental_water_magic_3 } 598.1.1={ effect={ @@ -971,11 +984,11 @@ } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=strong } 589.8.1 = { @@ -1045,11 +1058,11 @@ 2.11.21={ birth=yes trait=creature_human } 20.11.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 67.3.6={ death=yes } } @@ -1853,11 +1866,11 @@ } 560.1.22={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 add_spouse=48168 effect = { set_relation_soulmate = character:48168 @@ -1901,6 +1914,8 @@ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 616.2.19 = { death = { @@ -2750,6 +2765,7 @@ } 583.1.1={ effect={ set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 646.8.13={ death=yes } } @@ -3616,11 +3632,11 @@ 564.10.11={ birth=yes trait=creature_human effect = { make_important_lore_character_effect = yes } } 582.2.14={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 add_matrilineal_spouse=48437 } 616.8.25 = { @@ -3638,11 +3654,11 @@ 561.7.16={ birth=yes trait=creature_human } 577.7.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 605.11.19={ death=yes } } @@ -11023,11 +11039,11 @@ 565.9.4={ birth=yes trait=creature_human } 582.9.4={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 add_prestige = 1000 add_spouse=49175 effect={ @@ -11059,11 +11075,11 @@ 620.4.15={ trait=diligent trait=brave trait=just effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 681.11.11={ death=yes } } @@ -12957,11 +12973,11 @@ 560.8.3={ birth=yes trait=creature_human } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 630.9.2={ death=yes } } @@ -12979,11 +12995,11 @@ 553.4.23={ birth=yes trait=creature_human } 575.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 589.11.1={ #Renowned veteran of 2nd War add_prestige=75 @@ -13010,6 +13026,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + culture = azerothian religion = holy_light } @@ -13066,13 +13084,13 @@ employer = 63080 # Colton } 603.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + #employer = 53053 # Vorrel } 605.1.1={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + culture = northsea employer = 63080 # Colton } @@ -13143,8 +13161,8 @@ lieutenant_benedict={ #Found in Tiragarde Keep in Durotar 569.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -13165,8 +13183,8 @@ lieutenant_palliter={ #Found in Tiragarde Keep in Durotar 579.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -13185,8 +13203,8 @@ keep_watcher_kerry={ #Located in Northwatch Hold in the Southern Barrens. Locate 579.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -13204,8 +13222,8 @@ watch_commander_zalaphil={ #Found in Tiragarde Keep in Durotar 579.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -13227,8 +13245,8 @@ sergeant_curtis={ #Found in Tiragarde Keep in Durotar 579.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -13252,7 +13270,7 @@ zerx_hydromon={ #a hydromancer who has a camp outside of Vol'jin's new base camp 559.4.4={ birth=yes trait=creature_human } 583.1.1={ effect={ - set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } } 606.1.1={ diff --git a/history/characters/500000_pandaren.txt b/history/characters/500000_pandaren.txt index 8881ca956a..c75a4faad6 100644 --- a/history/characters/500000_pandaren.txt +++ b/history/characters/500000_pandaren.txt @@ -808,12 +808,13 @@ 535.8.13={ birth=yes trait=creature_pandaren } 555.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + } 585.9.3={ death=yes } } @@ -859,12 +860,13 @@ } 583.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 + } 648.5.13={ death=yes } } @@ -1726,11 +1728,11 @@ 568.3.19={ birth=yes trait=creature_pandaren } 584.3.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 608.7.11={ death=yes } # Unaccounted for in-lore } @@ -1774,11 +1776,11 @@ 2.2.7={ birth=yes trait=creature_pandaren } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 57.5.25={ death=yes } } @@ -3670,12 +3672,13 @@ 520.7.3={ birth=yes trait=creature_pandaren } 540.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 611.5.12={ death=yes } } @@ -3689,11 +3692,11 @@ 531.11.25={ birth=yes trait=creature_pandaren } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 611.5.12={ death=yes } } @@ -7283,12 +7286,13 @@ 568.5.20={ birth=yes trait=creature_pandaren } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + give_nickname = nick_the_nightingale } 611.8.21={ death=yes } @@ -38891,13 +38895,15 @@ master_lao={ #innkeeper at the Temple of the White Tiger in the Kun-Lai Summit } 565.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + + } # Booty Bay 583.1.1={ @@ -38968,15 +38974,19 @@ master_lao={ #innkeeper at the Temple of the White Tiger in the Kun-Lai Summit } 576.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + + + + } 582.1.1={ effect = { @@ -39064,13 +39074,15 @@ master_lao={ #innkeeper at the Temple of the White Tiger in the Kun-Lai Summit } 614.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + + } 689.3.20={ death=yes } } diff --git a/history/characters/50000_kobold.txt b/history/characters/50000_kobold.txt index 033301a6f0..b73b598b5f 100644 --- a/history/characters/50000_kobold.txt +++ b/history/characters/50000_kobold.txt @@ -685,11 +685,11 @@ 577.8.29={ birth=yes trait = creature_kobold } 607.1.3={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 trait=scarred } 611.1.4={ @@ -716,6 +716,7 @@ 519.3.7={ trait=education_learning_2 effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 546.7.30={ death=yes } } @@ -816,9 +817,9 @@ grizlak = { 602.1.1={ employer=nazrim_commander effect={ - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_strength_1 } 637.6.2 = { death = yes } } diff --git a/history/characters/520000_mogu.txt b/history/characters/520000_mogu.txt index bd78dcd2a6..9f9f30ef15 100644 --- a/history/characters/520000_mogu.txt +++ b/history/characters/520000_mogu.txt @@ -99,8 +99,8 @@ lineofxinze8={ 540.11.20={ birth=yes trait=creature_mogu } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait = lifestyle_blademaster add_trait_xp = { trait = lifestyle_blademaster @@ -112,8 +112,8 @@ lineofxinze8={ } } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 give_nickname = nick_the_weaponmaster } 611.10.11={ death=yes } @@ -1777,7 +1777,11 @@ lineofxinze9={ trait=wrathful father=520161 #Zou 556.10.13={ birth=yes trait=creature_mogu } - 575.1.1={ effect={ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 575.1.1={ + effect={ + set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } + } + } 637.2.3={ death=yes } } # Lore character @@ -1789,7 +1793,10 @@ lineofxinze9={ trait=education_learning_4 trait=brave trait=wrathful trait=sadistic trait=zealous father=520161 #Zou 563.2.22={ birth=yes trait=creature_mogu } - 580.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } + 580.1.1={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 667.4.8={ death=yes } } # Qon-Tien clan [172003] @@ -2581,11 +2588,11 @@ lineofxinze9={ 522.12.26={ birth=yes trait=creature_mogu } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 625.8.21={ death=yes } } @@ -3428,11 +3435,11 @@ lineofxinze9={ 559.3.12={ birth=yes trait=creature_mogu } 580.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 give_nickname = nick_the_brute } 615.3.18={ death=yes } @@ -4249,11 +4256,11 @@ lineofxinze9={ 525.12.14={ birth=yes trait=creature_mogu } 550.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 601.2.2={ death=yes } } @@ -5088,12 +5095,13 @@ lineofxinze9={ 544.6.25={ birth=yes trait=creature_mogu } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + give_nickname = nick_the_unstoppable } 627.12.21={ death=yes } @@ -6803,11 +6811,11 @@ lineofxinze9={ 514.4.10={ birth=yes trait=creature_mogu } 530.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 633.2.11={ death=yes } } @@ -7702,6 +7710,7 @@ lineofxinze9={ 564.2.14 = { #religion = maldraxxi effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 620.4.13={ death=yes } } @@ -10430,11 +10439,11 @@ lineofxinze9={ 556.12.25={ birth=yes trait=creature_mogu } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 658.4.26={ death=yes } } diff --git a/history/characters/52000_ogre.txt b/history/characters/52000_ogre.txt index 892b20dce7..544ead0ea9 100644 --- a/history/characters/52000_ogre.txt +++ b/history/characters/52000_ogre.txt @@ -16,14 +16,13 @@ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } learn_language = language_orcish + add_trait = user_of_disorder_magic_4 + #if = { + # limit = { NOT = { game_start_date >= 603.1.1 } } + # join_society_shadow_council_effect = yes + # society_rank_up = 2 + #} } - # effect={ - # if = { - # limit = { NOT = { game_start_date >= 603.1.1 } } - # join_society_shadow_council_effect = yes - # society_rank_up = 2 - # } - # } } 583.1.1={ # culture=twilights_hammer #for now it's disabled until he gets his own DNA since otherwise he looks like an orc @@ -47,6 +46,7 @@ # add_character_modifier = { name = follower_of_cthun duration = -1 } # set_global_flag = twilights_hammer_kalimdor } + } 606.1.1={ effect = { @@ -801,11 +801,11 @@ 550.10.18={ birth=yes trait=creature_ogre } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 620.1.5={ death=yes } } @@ -820,11 +820,11 @@ 590.1.1={ give_nickname=nick_the_destroyer effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 596.1.1={ religion = burning_legion_religion } 628.6.17={ death=yes } @@ -887,6 +887,9 @@ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + + + } 654.2.11={ death=yes } } @@ -901,11 +904,11 @@ 543.1.29={ birth=yes trait=creature_ogre } 589.2.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 591.2.1={ give_nickname = nick_the_ravager @@ -923,11 +926,11 @@ 561.5.21={ birth=yes trait=creature_ogre } 577.5.22={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 611.1.15={ death = { @@ -955,6 +958,9 @@ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + + } 603.1.1={ effect = { @@ -1108,8 +1114,8 @@ guard_moldar={ 563.3.17={ birth=yes trait=creature_ogre } 579.3.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -1130,8 +1136,8 @@ guard_fengus={ 562.7.19={ birth=yes trait=creature_ogre } 578.7.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -1152,8 +1158,8 @@ guard_slipkik={ 564.4.16={ birth=yes trait=creature_ogre } 580.4.16={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -1176,8 +1182,8 @@ captain_kromcrush={ 576.11.8={ #He has slightly better lifestyle stats than the guards, but still less than King Gordok himself effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_2 diff --git a/history/characters/530000_saurok.txt b/history/characters/530000_saurok.txt index 03fde3e989..29ed6c8cc1 100644 --- a/history/characters/530000_saurok.txt +++ b/history/characters/530000_saurok.txt @@ -6506,11 +6506,11 @@ 559.3.23={ birth=yes trait=creature_saurok } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 633.3.29={ death=yes } } diff --git a/history/characters/53000_hillsbrad.txt b/history/characters/53000_hillsbrad.txt index f428bfe18c..f9f777b327 100644 --- a/history/characters/53000_hillsbrad.txt +++ b/history/characters/53000_hillsbrad.txt @@ -10,11 +10,11 @@ 533.9.1={ birth=yes trait=creature_human } 549.9.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 563.6.20={ death = { @@ -37,11 +37,11 @@ } 574.6.23={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 585.1.1 = { effect = { @@ -70,11 +70,11 @@ 565.10.4={ birth=yes trait=creature_human } 581.10.4={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 603.2.16={ death=yes } } @@ -587,11 +587,11 @@ 473.10.13={ birth=yes trait=creature_human } 489.10.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 536.3.11={ death = { @@ -613,11 +613,11 @@ effect={ set_relation_friend = character:53063 #Orenel - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } # 536.3.11={ } #Father died 566.3.7={ @@ -704,8 +704,8 @@ skarloc={ 572.6.26={ birth=yes trait=creature_human } 588.6.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_relation_friend = character:58002 #Aliden Perenolde add_opinion = { modifier = mentored_me_opinion target = character:53001 } #Aedelas Blackmoore @@ -727,8 +727,8 @@ sergeant={ 562.6.26={ birth=yes trait=creature_human } 578.6.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -758,8 +758,8 @@ herod={ 587.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -780,8 +780,8 @@ grandpa_vishas={ 547.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -802,8 +802,8 @@ james_vishas={ 587.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -826,8 +826,8 @@ nancy_vishas={ 587.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 diff --git a/history/characters/540000_mantid.txt b/history/characters/540000_mantid.txt index c91c6e8a1a..2b779307f1 100644 --- a/history/characters/540000_mantid.txt +++ b/history/characters/540000_mantid.txt @@ -11,7 +11,10 @@ birth=yes trait=creature_mantid trait=being_void effect = { make_important_lore_character_effect = yes } } - 466.1.2={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } } + 466.1.2={ + effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + } 603.1.1={ trait = paranoid # Sha of Fear trait=possessed_1 # Sha of Fear @@ -44,6 +47,7 @@ zekhara = { 475.7.12={ birth=yes trait=creature_mantid trait=being_void } 585.7.12={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + employer = 540000 } 620.6.18={ death=yes } @@ -3389,11 +3393,11 @@ zekhara = { 529.8.8={ birth=yes trait=creature_mantid trait=being_void } 560.1.1 = { effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 619.4.1={ death=yes } } @@ -4216,11 +4220,11 @@ zekhara = { 560.1.1 = { employer = 540000 # Shek'zeer effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 618.5.3={ death=yes } } @@ -5018,11 +5022,11 @@ zekhara = { 509.7.13={ birth=yes trait=creature_mantid trait=being_void } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 611.2.11={ death=yes } } @@ -6027,11 +6031,11 @@ zekhara = { } 560.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 633.3.25={ death=yes } } @@ -7900,11 +7904,11 @@ zekhara = { 515.12.24={ birth=yes trait=creature_mantid trait=being_void } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 626.5.8={ death=yes } } @@ -7989,11 +7993,11 @@ zekhara = { 501.6.12={ birth=yes trait=creature_mantid trait=being_void } 560.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 612.3.13={ death=yes } } @@ -8033,6 +8037,7 @@ zekhara = { 304.6.12={ birth=yes trait=creature_mantid trait=being_void } 560.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 612.3.13={ death=yes } } @@ -8053,11 +8058,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_dexterity_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8080,6 +8085,7 @@ zekhara = { set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } #put_to_sleep_paragon_effect = yes } + } #Died in Siege of Orgrimmar 613.11.1={ @@ -8101,11 +8107,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8128,6 +8134,7 @@ zekhara = { set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } #put_to_sleep_paragon_effect = yes } + } #Died in Siege of Orgrimmar 613.11.1={ @@ -8149,11 +8156,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8175,11 +8182,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8200,11 +8207,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } #Killed during quest 613.6.1={ @@ -8225,11 +8232,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } #Died, date unknown 40.11.1={ @@ -8251,6 +8258,7 @@ zekhara = { set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } #put_to_sleep_paragon_effect = yes } + } #Killed during quest 613.6.1={ @@ -8272,11 +8280,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8299,11 +8307,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ @@ -8324,11 +8332,11 @@ zekhara = { effect = { #put_to_sleep_paragon_effect = yes - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } #Died in Siege of Orgrimmar 613.11.1={ diff --git a/history/characters/54000_witherbark.txt b/history/characters/54000_witherbark.txt index 886126d532..e04134044e 100644 --- a/history/characters/54000_witherbark.txt +++ b/history/characters/54000_witherbark.txt @@ -9,11 +9,11 @@ 560.2.10={ birth=yes } 576.2.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 612.9.17={ death=yes } } diff --git a/history/characters/550000_yaungol.txt b/history/characters/550000_yaungol.txt index 5d5f9175b8..dac3e4ae73 100644 --- a/history/characters/550000_yaungol.txt +++ b/history/characters/550000_yaungol.txt @@ -11,6 +11,7 @@ religion = ordonism trait = immortal effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + } 47.2.10={ death = { @@ -1494,6 +1495,7 @@ 601.1.23={ religion = maldraxxi effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 616.7.12={ death=yes } } @@ -3184,7 +3186,10 @@ trait=education_learning_2 trait=celibate trait=temperate trait=paranoid father=550310 #Bugural 536.11.12={ birth=yes trait=creature_yaungol } - 583.1.1={ effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } + 583.1.1={ + effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 607.4.9={ death=yes } } 550313={ @@ -3225,11 +3230,11 @@ 566.9.5={ birth=yes trait=creature_yaungol } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 629.11.19={ death=yes } } @@ -4992,11 +4997,11 @@ 551.2.25={ birth=yes trait=creature_yaungol } 583.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 628.11.13={ death=yes } } diff --git a/history/characters/55000_revantusk.txt b/history/characters/55000_revantusk.txt index ea4eca9b12..923b794e5a 100644 --- a/history/characters/55000_revantusk.txt +++ b/history/characters/55000_revantusk.txt @@ -116,11 +116,11 @@ gan_dranda={ 573.3.23={ birth=yes trait=creature_troll } 588.1.27={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_3 trait=strong trait=education_martial_prowess_3 add_pressed_claim=title:c_shaolwatha } diff --git a/history/characters/56000_mossflayer.txt b/history/characters/56000_mossflayer.txt index e80b028319..2c90108080 100644 --- a/history/characters/56000_mossflayer.txt +++ b/history/characters/56000_mossflayer.txt @@ -81,8 +81,8 @@ 561.6.12={ birth=yes trait=creature_troll } 580.10.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 diff --git a/history/characters/57000_amani.txt b/history/characters/57000_amani.txt index 824e7ea3af..5bffb69be6 100644 --- a/history/characters/57000_amani.txt +++ b/history/characters/57000_amani.txt @@ -20,11 +20,11 @@ } 581.7.24={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 } 589.11.1={ effect={ @@ -55,9 +55,11 @@ 564.10.18={ birth=yes trait=creature_troll } 580.10.18={ effect={ - set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 627.3.22={ death=yes } } @@ -76,9 +78,11 @@ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } + + } 635.10.25={ death=yes } } @@ -240,11 +244,11 @@ 549.11.12={ birth=yes trait=creature_troll } 565.11.12={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 620.1.14={ death=yes } } @@ -834,11 +838,11 @@ zulmarosh = { 579.2.19={ birth=yes trait=creature_troll trait = physique_good_3 } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 trait=strong give_nickname=nick_the_invincible } @@ -875,11 +879,11 @@ kazrajin = { # Amani representative of the Council of Elders 550.11.13={ birth=yes trait=creature_troll } 570.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 620.4.17={ death=yes } } @@ -894,7 +898,7 @@ voshgajin={ 587.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } } 590.1.1={ diff --git a/history/characters/58000_alteraci.txt b/history/characters/58000_alteraci.txt index 1bb50cae2d..91f5714ae9 100644 --- a/history/characters/58000_alteraci.txt +++ b/history/characters/58000_alteraci.txt @@ -19,12 +19,12 @@ } 569.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_relation_rival = character:38001 #Thoras Trollbane } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 add_prestige = 400 add_spouse=58001 } @@ -70,12 +70,12 @@ 572.6.26={ birth=yes trait=creature_human } 588.6.26={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 590.1.1={ add_pressed_claim=title:k_alterac @@ -110,6 +110,7 @@ 570.11.12={ birth=yes trait=creature_human } 587.11.12={ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 590.1.1={ add_pressed_claim=title:k_alterac @@ -274,11 +275,11 @@ } 553.1.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 589.12.29={ death=yes } #died in the Second War } @@ -292,11 +293,11 @@ 566.12.17={ birth=yes trait=creature_human } 582.12.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 589.12.29={ death=yes } } @@ -358,11 +359,11 @@ 543.4.1={ birth=yes trait=creature_human } 559.4.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 605.12.11={ death=yes } } @@ -376,11 +377,11 @@ 569.9.4={ birth=yes trait=creature_human } 585.9.4={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_dexterity_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_dexterity_4 + #trait=physical_lifestyle_strength_4 trait=shrewd } 608.6.29={ death=yes } @@ -631,11 +632,11 @@ 549.9.7={ birth=yes trait=creature_human } 580.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 603.1.1={ employer = 58018 @@ -715,6 +716,7 @@ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } #join_society_twilights_hammer_cult_effect = yes } + } 608.10.27={ death=yes } } @@ -2250,8 +2252,8 @@ valea_twinblades={ #Warrior of the Scarlet Crusade 571.4.24={ birth=yes } 586.2.13={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_dexterity_2 # trait=physical_lifestyle_strength_2 @@ -2498,8 +2500,8 @@ master_ryson={ #found in the Veiled Cleft in Alterac Valley 557.7.27={ birth=yes trait=creature_human } 574.6.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_dexterity_2 # trait=physical_lifestyle_strength_2 @@ -2685,8 +2687,8 @@ carlo_aurelius={ 576.7.27={ birth=yes trait=creature_human } 585.9.4={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_1 # trait=physical_lifestyle_strength_1 @@ -2706,8 +2708,8 @@ milton_beats={ 576.7.27={ birth=yes trait=creature_human } 585.9.4={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_1 # trait=physical_lifestyle_strength_1 @@ -2728,8 +2730,8 @@ pai_stormbringer={ 577.7.27={ birth=yes trait=creature_human } 586.9.4={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_2 # trait=physical_lifestyle_strength_1 diff --git a/history/characters/59000_dalaranian.txt b/history/characters/59000_dalaranian.txt index 33b8b3ef58..215db1aff9 100644 --- a/history/characters/59000_dalaranian.txt +++ b/history/characters/59000_dalaranian.txt @@ -15,6 +15,9 @@ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + + } 580.1.1={ add_prestige = 1000 @@ -49,6 +52,9 @@ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + + } 586.1.1 = { # This is the date when he starts training under Medivh ("aged 17") but it's also the same date when Medivh dies so idk trait = shrewd # I think dealing with Medivh made him big smart @@ -92,9 +98,8 @@ } } 480.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 508.1.1={ add_prestige = 1000 @@ -152,12 +157,13 @@ } 549.10.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 601.9.24={ death=yes } } @@ -172,9 +178,8 @@ employer = 59000 # Dalaran } 588.5.8={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 646.11.16={ death=yes } } @@ -205,6 +210,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + + give_council_position = councillor_spymaster } 598.1.1={ @@ -214,8 +221,8 @@ } 601.1.1={ effect={ - set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } + set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } religion = death_god culture = scourge @@ -261,6 +268,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + give_council_position = councillor_marshal set_relation_friend = character:aethas_sunreaver } @@ -285,9 +294,8 @@ employer = 59000 # Dalaran } 571.10.6={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + give_council_position = councillor_court_chaplain } 603.11.1={ @@ -312,11 +320,11 @@ } 598.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 religion=cult_of_wealth culture=blackwater trait=greedy @@ -343,9 +351,8 @@ disallow_random_traits = yes 531.7.9={ birth=yes trait=creature_human } 549.3.8={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 552.1.1={ employer = 59000 # Dalaran @@ -376,12 +383,13 @@ employer = 5000 # Medivh trait = being_undead effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + religion = maldraxxi } 615.7.12={ @@ -410,14 +418,17 @@ } 584.9.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + + + } 601.1.1={ give_council_position = councillor_steward @@ -440,9 +451,8 @@ employer = 59000 # Dalaran } 563.2.14={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 601.1.1={ give_council_position = councillor_spymaster @@ -463,9 +473,8 @@ trait=education_learning_2 trait=greedy trait=cynical 574.8.12={ birth=yes trait=creature_human } 591.2.13={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + religion=burning_legion_religion } 613.6.13={ death=yes } @@ -484,15 +493,13 @@ employer = 59000 # Dalaran } 567.5.8={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 590.5.8={ give_nickname=nick_the_decrepit - effect={ - set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + religion = illidari } 640.11.16={ death=yes } @@ -509,9 +516,8 @@ trait=deceitful 564.11.25={ birth=yes trait=creature_human } 570.11.25={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 602.6.3={ effect={ @@ -520,6 +526,7 @@ # join_society_cult_of_the_damned_effect = yes # society_rank_up = 1 } + } 603.7.1={ religion = death_god @@ -547,6 +554,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + + } 534.1.16={ death = { @@ -572,12 +581,14 @@ effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + add_trait = user_of_order_magic_4 + add_trait = user_of_elemental_water_magic_5 + add_trait = lifestyle_mystic add_trait_xp = { trait = lifestyle_mystic value = 50 } } - trait=lifestyle_mystic } 552.1.1={ employer = 59000 # Antonidas @@ -594,9 +605,8 @@ 484.2.14={ birth=yes trait=creature_human } 502.6.29={ employer = 59002 # Nehrud - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 552.1.1={ employer = 59000 # Antonidas @@ -614,9 +624,8 @@ 474.2.14={ birth=yes trait=creature_human } 508.1.1={ employer = 59002 # Nehrud - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 545.3.14 = { death=yes } } @@ -634,6 +643,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + + } 551.3.11 = { death=yes } } @@ -694,8 +705,8 @@ invar_one_arm={ #The first Chief Assassin of the Scarlet Crusade 562.12.4={ birth=yes trait=creature_human } 580.10.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_dexterity_2 # trait=physical_lifestyle_strength_2 @@ -720,8 +731,8 @@ yana_bloodspear={ #The Second Chief Assassin of the Scarlet Crusade 562.12.4={ birth=yes trait=creature_human } 580.10.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_dexterity_2 # trait=physical_lifestyle_strength_2 @@ -746,8 +757,8 @@ jailor_kassan={ 556.12.4={ birth=yes trait=creature_human } 570.10.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -822,8 +833,8 @@ mardigan={ 582.1.4={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } } 645.3.14 = { death=yes } diff --git a/history/characters/60000_63000_lordaeronian.txt b/history/characters/60000_63000_lordaeronian.txt index 333ea49ee9..f4ce71ed1f 100644 --- a/history/characters/60000_63000_lordaeronian.txt +++ b/history/characters/60000_63000_lordaeronian.txt @@ -94,8 +94,8 @@ } 595.1.27={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } if ={ limit = { NOT = { game_start_date >= 603.5.15 } } @@ -103,9 +103,11 @@ } add_opinion = { modifier = mentored_me_opinion target = character:17002 } # Muradin } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 - trait=strong trait=education_martial_prowess_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + + trait=strong + trait=education_martial_prowess_3 } 598.1.1={ effect={ @@ -121,6 +123,10 @@ limit = { NOT = { has_perk = organized_retreat_perk } } add_perk = organized_retreat_perk } + if = { + limit = { NOT = { has_perk = light_magic_tree_1_perk_1 } } + add_perk = light_magic_tree_1_perk_1 + } } } # Sinks ships @@ -205,6 +211,7 @@ } 605.1.1 = { effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait = scholar } 623.1.11={ death=yes } @@ -320,11 +327,11 @@ } 553.2.23={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 565.1.1={ add_spouse=60010 @@ -338,6 +345,7 @@ 603.6.1={ trait = being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge } @@ -358,9 +366,8 @@ trait=callous trait=arrogant trait=chaste 547.3.16={ birth=yes trait=creature_human } 563.3.16={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 568.1.1={ add_spouse=60009 @@ -376,6 +383,8 @@ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + trait = being_undead religion = death_god culture = scourge @@ -399,9 +408,8 @@ mother=60010 #Illucia 570.4.14={ birth=yes trait=creature_human } 586.4.14={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 601.1.1={ # effect = { @@ -435,11 +443,11 @@ trait=stubborn trait=arbitrary effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 603.6.1={ trait = being_undead @@ -466,11 +474,11 @@ trait=arbitrary trait=gregarious effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 630.3.17={ death=yes } } @@ -495,8 +503,8 @@ } 562.7.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } add_hook_no_toast = { target = character:myranda_the_hag type = loyalty_hook @@ -522,7 +530,7 @@ } # create_bloodline = { #Silver Hand Founder # type = tirion - # } + # } } 599.1.1={ effect = { @@ -567,12 +575,13 @@ 588.7.8={ birth=yes trait=creature_human } 604.7.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + trait=strong } 605.9.9={ @@ -606,11 +615,11 @@ } 578.1.18={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 580.1.1={ add_spouse=60018 @@ -671,12 +680,13 @@ 587.1.1={ birth=yes trait=creature_human } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 601.1.1={ set_relation_friend = character:60572 #Sally Whitemane @@ -708,12 +718,13 @@ } 605.2.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 608.3.15={ trait=being_undead @@ -721,6 +732,7 @@ add_character_flag = { flag = wc_light_magic_lifestyle_perks_were_reset_flag } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 640.1.5={ death=yes } } @@ -745,8 +757,8 @@ } 561.11.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -763,8 +775,8 @@ trait=holy_warrior # create_bloodline = { #Silver Hand Founder # type = saidan - # } - } + # } + } 605.9.9={ religion=scarletism } @@ -790,11 +802,11 @@ } 554.10.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 601.1.1={ effect = { @@ -805,6 +817,7 @@ 603.5.1={ trait = being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge } @@ -824,8 +837,8 @@ 582.3.13={ birth=yes trait=creature_human } 598.3.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_1 @@ -838,6 +851,7 @@ add_character_flag = { flag = wc_light_magic_lifestyle_perks_were_reset_flag } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 610.3.1={ death = { @@ -859,11 +873,11 @@ 563.8.17={ birth=yes trait=creature_human } 579.8.17={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 583.1.1={ add_spouse=60025 @@ -885,6 +899,7 @@ add_character_flag = { flag = wc_light_magic_lifestyle_perks_were_reset_flag } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 630.10.19={ death=yes } } @@ -1003,11 +1018,19 @@ 582.2.23={ add_prestige = 500 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + } + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + } + 588.5.1={ + effect={ + if = { + limit = { NOT = { has_perk = light_magic_tree_1_perk_1 } } + add_perk = light_magic_tree_1_perk_1 #knows how to cast the Holy Light spell + } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 } # 604.1.1={ # effect = { @@ -1056,8 +1079,8 @@ modifier = secrets_of_language_modifier #linguist } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 } 588.5.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } @@ -1140,8 +1163,8 @@ value = 25 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 562.7.21 = { effect = { @@ -1156,6 +1179,7 @@ value = 25 } } + give_nickname = nick_the_lightbringer # create_bloodline = { #Silver Hand Founder # type = uther @@ -1624,16 +1648,17 @@ set_relation_soulmate = character:42076 #Sylvanas add_opinion = { modifier = loyal_servant target = character:42076 } } - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } add_trait_xp = { trait = lifestyle_hunter track = hunter value = 5 } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_dexterity_3 } 604.1.1={ trait=being_undead @@ -1669,11 +1694,11 @@ 555.11.5={ birth=yes trait=creature_human } 575.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 603.1.17={ employer=378 #Count Remington Ridgewell @@ -3252,11 +3277,11 @@ } 581.1.2={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -3320,9 +3345,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron birth=yes trait=creature_human trait=being_undead dynasty_house=house_felstorm } 20.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + } 650.6.26={ death=yes } } @@ -3338,7 +3362,10 @@ dorus={ #Turalyon's dad, a noble of Lordaeron trait=education_martial_2 trait=zealous trait=shy trait=lazy trait=content 525.5.23={ birth=yes trait=creature_human } - 541.5.23={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } + 541.5.23={ + effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 546.1.1={ add_spouse=60256 } 595.5.2={ death=yes } } @@ -3363,11 +3390,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 551.9.23={ birth=yes trait=creature_human } 567.9.23={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 572.1.1={ add_spouse=60257 } 616.8.2={ death=yes } @@ -3394,6 +3421,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 557.1.4={ birth=yes trait=creature_human } 572.1.4={ effect={ set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 601.6.19={ death=yes } } @@ -3468,11 +3496,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 545.7.23={ birth=yes trait=creature_human } 561.7.23={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 566.1.1={ add_spouse=60267 } 594.1.1={ @@ -3612,11 +3640,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 547.6.19={ birth=yes trait=creature_human } 563.6.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 } 568.1.1={ add_spouse=60281 } 592.8.12={ death=yes } @@ -3630,7 +3658,10 @@ dorus={ #Turalyon's dad, a noble of Lordaeron father=60268 #Louvel mother=60280 #Carmina 550.12.12={ birth=yes trait=creature_human } - 566.12.12={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } } + 566.12.12={ + effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 594.1.1={ religion = death_god culture = scourge @@ -3678,9 +3709,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron mother=60280 #Carmina 557.4.8={ birth=yes trait=creature_human } 573.4.8={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 594.1.1={ religion = death_god @@ -3935,6 +3965,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 552.4.10={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 576.3.1={ name=Alonsus @@ -3962,6 +3993,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 553.8.9={ birth=yes } 573.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 576.3.1={ employer=60300 #Alonsus @@ -4001,12 +4033,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 579.1.25={ birth=yes } # Was nine shortly before the Second War 599.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 615.2.1={ death={ death_reason=death_sacrificed_to_gods killer=42076 } } #Sylvanas killed him } @@ -4036,12 +4069,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 569.1.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 651.8.10={ death=yes } } @@ -4060,12 +4094,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 579.1.15={ effect={ set_relation_soulmate = character:60450 - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 605.8.10={ death=yes } } @@ -4089,11 +4124,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 600.3.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 666.6.6={ death=yes } } @@ -4138,11 +4173,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 564.2.7={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } @@ -4171,8 +4206,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 581.3.19={ birth=yes trait=creature_human employer=60001 } 601.5.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -4249,6 +4284,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 603.1.1={ employer=60021 effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 605.9.9={ religion=scarletism @@ -4352,9 +4388,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron effect = { make_important_lore_character_effect = yes } } 20.1.1={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } } + trait = being_order } 553.1.16={ @@ -4387,11 +4422,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron set_relation_friend = character:60003 #Arthas set_relation_friend = character:60610 #Marwyn - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 602.1.1={ employer=60003 #Arthas @@ -4400,6 +4435,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 603.5.1={ trait=being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge remove_trait=generous @@ -4422,11 +4458,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 595.1.1={ effect={ set_relation_friend = character:60003 #Arthas - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 602.1.1={ employer=60003 #Arthas @@ -4435,6 +4471,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 603.5.1={ trait=being_undead effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge } @@ -4455,12 +4492,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 592.1.1={ trait=holy_warrior effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 605.9.9={ religion = argent @@ -4481,12 +4519,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 570.10.16={ birth=yes trait=creature_human } 590.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + } 604.1.1={ trait=holy_warrior } 640.10.14={ death=yes } @@ -4517,8 +4556,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron value = 10 } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 605.4.21={ religion = forsaken_cult @@ -4545,11 +4584,11 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 576.3.10={ birth=yes trait=creature_human } 589.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 590.7.9={ employer=marcus_redpath # Southshore @@ -4589,9 +4628,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron martial=6 diplomacy=5 stewardship=5 intrigue=5 learning=7 571.5.12={ birth=yes trait=creature_human } 587.1.14={ - effect={ - set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } - } + effect={ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait = education_learning_4 } 603.2.21={ @@ -4605,6 +4643,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + + } 613.2.28={ death=yes } } @@ -4619,16 +4659,17 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 561.4.16={ birth=yes trait=creature_human } 577.5.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait = education_martial_3 } 603.2.26={ give_nickname=nick_the_black effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + trait = being_undead religion = death_god culture = scourge @@ -4646,11 +4687,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 574.5.12={ birth=yes trait=creature_human } 590.8.19={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait = education_learning_4 } 603.2.21={ give_nickname=nick_the_zealous effect={ change_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_shadow_magic rank = 1 } trait = being_undead remove_trait = creature_human add_trait = creature_lich @@ -4671,15 +4714,16 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 556.1.19={ birth=yes trait=creature_human } 572.8.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 trait = education_diplomacy_4 trait = education_martial_prowess_2 } 603.2.21={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + trait = being_undead religion = death_god culture = scourge @@ -4698,8 +4742,8 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 578.6.14={ birth=yes trait=creature_human } 594.8.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -4707,6 +4751,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 603.2.21={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + trait = being_undead religion = death_god culture = scourge @@ -4725,6 +4770,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 582.9.11={ birth=yes trait=creature_human } 596.9.18={ effect={ set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + trait = education_learning_3 } 603.2.21={ @@ -4745,6 +4791,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 571.4.15={ birth=yes trait=creature_human } 587.9.18={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + trait = education_stewardship_2 } 603.2.21={ @@ -4766,12 +4813,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron 572.2.18={ birth=yes trait=creature_human } 588.3.10={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + trait = education_martial_2 } 603.2.21={ @@ -4780,6 +4828,7 @@ dorus={ #Turalyon's dad, a noble of Lordaeron add_character_flag = { flag = wc_light_magic_lifestyle_perks_were_reset_flag } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + religion = death_god culture = scourge } @@ -4809,12 +4858,13 @@ dorus={ #Turalyon's dad, a noble of Lordaeron } 588.2.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 603.3.1={ trait=journaller } #Writes to Taelia 605.2.13={ @@ -4870,8 +4920,8 @@ mara_fordragon={ 577.7.15={ set_relation_ward = character:60686 effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_1 @@ -4938,12 +4988,13 @@ arthur_fordragon={ } 588.2.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 603.3.15={ employer=8 @@ -5055,11 +5106,11 @@ arthur_fordragon={ } 591.2.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.1.1={ employer=60003 @@ -5080,11 +5131,11 @@ arthur_fordragon={ } 591.2.15={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 603.1.1={ employer=60003 @@ -7671,16 +7722,16 @@ arthur_fordragon={ 569.7.21={ employer=60014 #Tirion effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 } 594.7.21={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } add_opinion = { modifier = mentored_me_opinion target = character:60014 } } @@ -9806,12 +9857,13 @@ arthur_fordragon={ } 603.5.6={ # Raised as a death knight effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 + trait=being_undead religion = death_god culture = scourge @@ -11060,9 +11112,8 @@ arthur_fordragon={ father=63064 #Thorin 548.6.11={ birth=yes } 567.2.13={ - effect={ - set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } - } + effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } + } 603.5.1={ trait=being_undead @@ -11126,11 +11177,11 @@ arthur_fordragon={ } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 culture = northsea trait=gallowsbait } @@ -11161,11 +11212,11 @@ arthur_fordragon={ 583.3.11={ birth=yes trait=creature_human } 600.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 culture = northsea } 602.7.12={ @@ -11590,12 +11641,12 @@ dagren_orcslayer={ birth=yes trait=creature_human } 555.2.26={ - effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - } - #trait=physical_lifestyle_endurance_3 - #trait=physical_lifestyle_strength_3 + effect={ + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + } + ##trait=physical_lifestyle_endurance_3 + ##trait=physical_lifestyle_strength_3 } 560.8.10={ employer=60001 #Terenas @@ -11645,11 +11696,11 @@ halahk_lifebringer={ } 585.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - #trait=physical_lifestyle_endurance_2 - #trait=physical_lifestyle_strength_2 + ##trait=physical_lifestyle_endurance_2 + ##trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -11685,11 +11736,11 @@ magroth_defender={ } 583.8.19={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - #trait=physical_lifestyle_endurance_2 - #trait=physical_lifestyle_strength_2 + ##trait=physical_lifestyle_endurance_2 + ##trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -11791,11 +11842,11 @@ borugh_sclord={ } 585.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - #trait=physical_lifestyle_endurance_2 - #trait=physical_lifestyle_strength_2 + ##trait=physical_lifestyle_endurance_2 + ##trait=physical_lifestyle_strength_2 } 594.2.17={ effect={ @@ -11828,11 +11879,11 @@ ballador_bright={ } 555.2.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -11861,11 +11912,11 @@ sage_truthbearer={ } 555.2.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -11904,8 +11955,8 @@ aeonas={ } 555.2.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -11934,11 +11985,11 @@ brother_karman={ } 555.2.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 588.5.1={ effect={ @@ -11961,8 +12012,8 @@ brother_korloff={ 580.7.8={ birth=yes trait=creature_human } 600.7.8={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -12452,8 +12503,8 @@ holia_sunshield={ #Defender of the Scarlet Crusade } 581.1.2={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -12511,8 +12562,8 @@ galvar_pureblood={ 567.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12533,8 +12584,8 @@ michael_goodchilde={ 588.2.8={ birth=yes trait=creature_human } 592.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12597,8 +12648,8 @@ commander_durand={ #Successor to Renault Mograine, the commander of rebuilding S 556.2.8={ birth=yes trait=creature_human } 568.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -12619,8 +12670,8 @@ scarlet_commander_rodrick={ #located in the Scarlet Hold in the Scarlet Enclave 576.2.8={ birth=yes trait=creature_human } 588.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12645,8 +12696,8 @@ high_protector_lorik={ #found in Hearthglen. Paladin of the Scarlet Crusade. Gua 576.2.8={ birth=yes trait=creature_human } 588.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12671,8 +12722,8 @@ cavalier_durgen={ #found near Hearthglen in the Western Plaguelands 576.2.8={ birth=yes trait=creature_human } 588.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12697,8 +12748,8 @@ high_protector_tarsen={ #found near the Northridge Lumber Camp in the Western Pl 576.2.8={ birth=yes trait=creature_human } 588.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12790,8 +12841,8 @@ joseph_the_awakened={ 586.2.8={ birth=yes trait=creature_human } 598.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } # trait=physical_lifestyle_endurance_2 @@ -12832,8 +12883,8 @@ trey_lightforge={ 559.2.26={ birth=yes trait=creature_human } 579.2.26={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -12869,8 +12920,8 @@ tyler_durd={ #in Vandermar Village in WC3. In WoW there's an NPC with the same n } 590.10.11={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_1 # trait=physical_lifestyle_strength_1 @@ -12897,8 +12948,8 @@ robert_gossom={ #in Vandermar Village in WC3. In WoW there's an NPC with the sam } 590.10.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -12984,8 +13035,8 @@ duke_lionheart={ } 575.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } #trait=physical_lifestyle_endurance_2 #trait=physical_lifestyle_strength_2 @@ -13019,8 +13070,8 @@ delora_lionheart={ } 585.4.11={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } #trait=physical_lifestyle_endurance_2 #trait=physical_lifestyle_strength_2 @@ -13042,8 +13093,8 @@ halford_wyrmbane={ } 581.1.2={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 diff --git a/history/characters/6000_gurubashi.txt b/history/characters/6000_gurubashi.txt index e0de08a3fd..eb94b93046 100644 --- a/history/characters/6000_gurubashi.txt +++ b/history/characters/6000_gurubashi.txt @@ -354,6 +354,7 @@ 481.12.16={ birth=yes trait=creature_troll } 487.12.16={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 554.7.12={ death=yes } } @@ -554,8 +555,8 @@ 582.1.7={ birth=yes trait=creature_troll } 599.4.13={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } give_nickname=nick_the_cruel } } @@ -753,12 +754,13 @@ 552.5.9={ birth=yes trait=creature_troll } 562.5.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 + } #601.1.22 ={ # effect = { @@ -1792,6 +1794,7 @@ 560.1.1={ birth=yes trait=creature_troll } 580.1.1={ effect={ set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + give_nickname=nick_the_outcast } 606.1.1={ death=yes } diff --git a/history/characters/62000_dragon.txt b/history/characters/62000_dragon.txt index 8c8e430b5e..3e36273833 100644 --- a/history/characters/62000_dragon.txt +++ b/history/characters/62000_dragon.txt @@ -30,6 +30,7 @@ 30.1.1={ effect={ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + add_trait = user_of_life_magic_5 } } 100.1.1={ @@ -247,6 +248,8 @@ set_variable = { name = wc_life_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 100.1.1={ add_matrilineal_spouse=62402 @@ -345,6 +348,8 @@ set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + } 100.1.1={ add_spouse=62601 @@ -535,7 +540,9 @@ colbatann={ } 40.1.1={ effect={ + set_variable = { name = order_focus value = flag:chronomancy } set_variable = { name = wc_order_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_magic_trait_value } + add_trait = user_of_order_magic_5 } } 100.1.1={ diff --git a/history/characters/64000_goblin.txt b/history/characters/64000_goblin.txt index 895a700244..ae81545e71 100644 --- a/history/characters/64000_goblin.txt +++ b/history/characters/64000_goblin.txt @@ -9,11 +9,11 @@ 564.8.13={ birth=yes trait=creature_goblin } 580.8.13={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 649.4.26={ death=yes } } @@ -41,7 +41,9 @@ mother=64013 #Nallyx 548.6.13={ birth=yes trait=creature_goblin } 569.1.1={ - effect={ set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + effect={ + set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } + } add_spouse=64014 } 611.9.26={ death=yes } @@ -57,11 +59,11 @@ 551.7.12={ birth=yes trait=creature_goblin } 567.7.12={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_dexterity_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_strength_2 } 638.2.18={ death=yes } } @@ -86,12 +88,13 @@ 558.7.12={ birth=yes trait=creature_goblin } 574.7.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + #trait=physical_lifestyle_endurance_1 + #trait=physical_lifestyle_strength_1 + } 625.8.5={ death=yes } } diff --git a/history/characters/66000_zandalari.txt b/history/characters/66000_zandalari.txt index ecb7e98b2d..c891a6a85f 100644 --- a/history/characters/66000_zandalari.txt +++ b/history/characters/66000_zandalari.txt @@ -89,6 +89,9 @@ aakul = { set_variable = { name = wc_death_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + + + } 440.1.1 = { effect = { add_character_modifier = loa_blessing } @@ -130,6 +133,7 @@ aakul = { } 600.1.1={ effect={ set_variable = { name = wc_light_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + trait=shrewd } 650.2.16={ death=yes } @@ -157,6 +161,7 @@ aakul = { } } } + } 616.2.19 = { # killed by adventurers in Uldir death = { @@ -180,6 +185,7 @@ aakul = { 560.1.1={ give_council_position = councillor_spymaster effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 616.8.15={ # slain by adventurers in Atal'Dazar death = { @@ -275,6 +281,7 @@ apari = { # Talanji's childhood best friend 545.9.17={ birth=yes trait=creature_troll } 570.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_magic_trait_value } } + } 616.2.19 = { death = { @@ -295,11 +302,11 @@ apari = { # Talanji's childhood best friend } 20.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 900.10.17={ death=yes } } diff --git a/history/characters/68000_darkspear.txt b/history/characters/68000_darkspear.txt index f952040c15..5412a4476c 100644 --- a/history/characters/68000_darkspear.txt +++ b/history/characters/68000_darkspear.txt @@ -18,7 +18,8 @@ } } 552.1.1={ - set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } + effect = { set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 602.4.1={ death = { @@ -42,12 +43,13 @@ } 593.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 + } 602.4.1={ effect={ @@ -746,12 +748,13 @@ } 599.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_dexterity_2 + } 602.4.1={ employer=68001 #Vol'jin @@ -780,6 +783,7 @@ } 570.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 602.4.1={ employer=68001 #Vol'jin @@ -813,6 +817,7 @@ } 590.1.1={ effect={ set_variable = { name = wc_shadow_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_magic_trait_value } } + } 602.4.1={ employer=68001 #Vol'jin @@ -830,11 +835,11 @@ 580.1.1={ birth=yes trait=creature_troll } 600.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 602.4.1={ employer=68001 #Vol'jin @@ -870,12 +875,14 @@ } 597.1.1={ effect={ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 602.4.1={ employer=68001 #Vol'jin } 603.1.1={ effect={ change_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_elemental_air_spirit_magic rank = 1 } } 603.10.6={ #Implied to die in battle during the Third War @@ -900,9 +907,11 @@ } 603.1.1={ effect={ set_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } + } 605.1.1={ effect={ change_variable = { name = wc_elemental_air_magic_lifestyle_additional_perks_variable add = wc_perks_given_for_magical_level_up_value } } + change_trait_rank = { trait = wc_lifestyle_elemental_air_spirit_magic rank = 1 } } 640.1.1={ death=yes diff --git a/history/characters/75000_old_dwarven.txt b/history/characters/75000_old_dwarven.txt index ddbbbae9d0..61ec332489 100644 --- a/history/characters/75000_old_dwarven.txt +++ b/history/characters/75000_old_dwarven.txt @@ -71,11 +71,11 @@ } 508.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 607.11.1={ death = { @@ -98,11 +98,11 @@ } 526.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 } 810.1.1={ death=yes } } @@ -120,11 +120,11 @@ # 510.1.1={ birth=yes } # 526.1.1={ # effect={ - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_4 - # # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 # } # 810.1.1={ death=yes } # } @@ -142,11 +142,11 @@ # 210.1.1={ birth=yes } # 226.1.1={ # effect={ - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_4 - # # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 # } # 610.1.1={ death=yes } # } @@ -165,12 +165,12 @@ erik_the_swift={ 508.1.1={ birth=yes } 526.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } give_nickname = nick_the_swift } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_dexterity_4 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_dexterity_4 } 810.1.1={ death=yes } } @@ -187,12 +187,12 @@ baleog_the_fierce={ 509.1.1={ birth=yes } 526.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } give_nickname = nick_the_fierce } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_3 + # #trait=physical_lifestyle_strength_4 } 810.1.1={ death=yes } } @@ -209,12 +209,12 @@ olaf_the_stout={ 510.1.1={ birth=yes } 526.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } give_nickname = nick_the_stout } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 810.1.1={ death=yes } diff --git a/history/characters/76000_nerubian.txt b/history/characters/76000_nerubian.txt index 366c52e785..de4498b5bb 100644 --- a/history/characters/76000_nerubian.txt +++ b/history/characters/76000_nerubian.txt @@ -17,11 +17,11 @@ #} # 409.4.5={ # effect={ - # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + # #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } # } - # # trait=physical_lifestyle_endurance_4 - # # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 # } # 583.1.1={ effect = { set_relation_friend = character:76018 }} # 1240.5.4={ death=yes } @@ -136,11 +136,11 @@ nerubian10 = { #Generated 551.1.5={ birth = yes trait = creature_nerubian } 567.1.5={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_endurance_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_endurance_3 + #trait=physical_lifestyle_strength_3 } 593.11.1={ religion = death_god diff --git a/history/characters/79000_130000_furbolg.txt b/history/characters/79000_130000_furbolg.txt index 5f91287145..23814acd18 100644 --- a/history/characters/79000_130000_furbolg.txt +++ b/history/characters/79000_130000_furbolg.txt @@ -13239,13 +13239,13 @@ chieftain_graw={ 598.1.1={ add_spouse = mitishka effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } set_variable = { name = wc_elemental_fire_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } set_variable = { name = wc_elemental_earth_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_magic_trait_value } } - # trait=physical_lifestyle_endurance_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_endurance_1 + # #trait=physical_lifestyle_strength_1 } 614.1.1={ trait=irritable @@ -13273,11 +13273,11 @@ kathaw_the_savage={ 603.1.1={ employer = chieftain_graw effect = { - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 614.1.1={ trait=irritable diff --git a/history/characters/80000_drakkari.txt b/history/characters/80000_drakkari.txt index 3ee6efe50d..5c0fdfae39 100644 --- a/history/characters/80000_drakkari.txt +++ b/history/characters/80000_drakkari.txt @@ -400,12 +400,13 @@ } 560.5.9={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } set_variable = { name = wc_elemental_water_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + #trait=physical_lifestyle_endurance_4 + #trait=physical_lifestyle_strength_4 + } 613.7.5={ # slain by adventurers in Throne of Thunder death = { @@ -7869,8 +7870,8 @@ zolmaz={ add_spouse=tiri effect={ set_relation_soulmate = character:tiri - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } } # trait=physical_lifestyle_endurance_2 # trait=physical_lifestyle_strength_2 @@ -7900,8 +7901,8 @@ drekmaz={ 586.11.3={ birth=yes } 594.8.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 @@ -7920,8 +7921,8 @@ yara={ 589.11.3={ birth=yes } 597.8.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_endurance_1 # trait=physical_lifestyle_strength_1 diff --git a/history/characters/90000_pirate.txt b/history/characters/90000_pirate.txt index 7d6bb0be9f..c7959e4cea 100644 --- a/history/characters/90000_pirate.txt +++ b/history/characters/90000_pirate.txt @@ -24,11 +24,11 @@ 558.11.11={ birth=yes trait=creature_human } 560.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + #trait=physical_lifestyle_endurance_2 + #trait=physical_lifestyle_strength_2 } 606.3.23={ death=yes } } @@ -912,8 +912,8 @@ } 560.9.4={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 @@ -955,11 +955,11 @@ 567.3.17={ birth=yes trait=creature_human } 587.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 605.1.1={ culture = wastewander @@ -1901,11 +1901,11 @@ the_ginormus = { #Ayatollah of Kaja-Cola 546.6.10={ birth=yes trait=creature_human } 566.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 636.9.24={ death=yes } } @@ -2177,11 +2177,11 @@ the_ginormus = { #Ayatollah of Kaja-Cola 567.4.18={ birth=yes trait=creature_human } 600.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + #trait=physical_lifestyle_dexterity_3 + #trait=physical_lifestyle_strength_3 } 650.1.1={ death=yes } } @@ -2195,11 +2195,11 @@ captain_blindside={ 569.4.18={ birth=yes trait=creature_human } 600.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_dexterity_1 + # #trait=physical_lifestyle_strength_1 } 645.1.31={ death=yes } } @@ -2212,11 +2212,11 @@ mr_shackle={ 569.4.18={ birth=yes trait=creature_human } 580.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_1_physical_trait_value } } - # trait=physical_lifestyle_dexterity_1 - # trait=physical_lifestyle_strength_1 + # #trait=physical_lifestyle_dexterity_1 + # #trait=physical_lifestyle_strength_1 } 645.1.31={ death=yes } } @@ -2231,8 +2231,8 @@ pretty_boy_duncan={ 580.5.24={ birth=yes trait=creature_human } 598.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_1_physical_trait_value } } # trait=physical_lifestyle_dexterity_1 # trait=physical_lifestyle_strength_1 diff --git a/history/characters/annihilan.txt b/history/characters/annihilan.txt index 9b1ca04244..6078542e88 100644 --- a/history/characters/annihilan.txt +++ b/history/characters/annihilan.txt @@ -19,8 +19,8 @@ } 25.1.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_5_physical_trait_value } } # trait=physical_lifestyle_endurance_5 # trait=physical_lifestyle_strength_5 @@ -50,8 +50,8 @@ azgalor={ } 25.1.12={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } } # trait=physical_lifestyle_endurance_4 # trait=physical_lifestyle_strength_4 diff --git a/history/characters/drogbar.txt b/history/characters/drogbar.txt index b397b65028..371386539e 100644 --- a/history/characters/drogbar.txt +++ b/history/characters/drogbar.txt @@ -11,11 +11,11 @@ } 536.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 615.1.31={ death = { @@ -36,11 +36,11 @@ ularogg={ 536.1.1={ employer = dargrul effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 615.1.31={ death = { diff --git a/history/characters/highmountain.txt b/history/characters/highmountain.txt index 56707a8203..a16765e0c0 100644 --- a/history/characters/highmountain.txt +++ b/history/characters/highmountain.txt @@ -12,11 +12,11 @@ } 500.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 563.1.1={ death = { @@ -40,11 +40,11 @@ ulan_highmountain={ } 536.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 615.1.30={ death = { @@ -69,11 +69,11 @@ mayla_highmountain={ } 536.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_2_physical_trait_value } } - # trait=physical_lifestyle_endurance_2 - # trait=physical_lifestyle_strength_2 + # #trait=physical_lifestyle_endurance_2 + # #trait=physical_lifestyle_strength_2 } 715.1.30={ death=yes } } @@ -91,11 +91,11 @@ torok_bloodtotem={ } 536.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 615.1.1={ religion=burning_legion_religion @@ -119,11 +119,11 @@ mellok_bloodtotem={ } 536.1.1={ effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_4_physical_trait_value } } - # trait=physical_lifestyle_endurance_4 - # trait=physical_lifestyle_strength_4 + # #trait=physical_lifestyle_endurance_4 + # #trait=physical_lifestyle_strength_4 } 615.1.1={ religion=burning_legion_religion diff --git a/history/characters/nightborne.txt b/history/characters/nightborne.txt index bb1346c055..9461a283a4 100644 --- a/history/characters/nightborne.txt +++ b/history/characters/nightborne.txt @@ -20,6 +20,9 @@ elisande={ } 615.1.1={ religion=burning_legion_religion + effect = { + set_variable = { name = wc_disorder_magic_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_2_magic_trait_value } + } } 615.5.25={ death = { diff --git a/history/characters/northsea.txt b/history/characters/northsea.txt index beba08fe28..cbb451fe12 100644 --- a/history/characters/northsea.txt +++ b/history/characters/northsea.txt @@ -49,11 +49,11 @@ captain_broketooth={ 569.4.18={ birth=yes trait=creature_human } 600.1.1={ effect={ - set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_dexterity_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } + #set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = value = wc_perks_needed_for_level_3_physical_trait_value } } - # trait=physical_lifestyle_dexterity_3 - # trait=physical_lifestyle_strength_3 + # #trait=physical_lifestyle_dexterity_3 + # #trait=physical_lifestyle_strength_3 } 610.1.1={ trait=being_undead #vampyr diff --git a/history/characters/tortollan.txt b/history/characters/tortollan.txt index e14ff9bfa5..45b72e4155 100644 --- a/history/characters/tortollan.txt +++ b/history/characters/tortollan.txt @@ -869,10 +869,10 @@ apek_the_unkillable={ # Located in Dazar'alor trait=education_martial_4 trait=education_martial_prowess_4 trait=lifestyle_blademaster 1.1.1={ birth=yes trait=creature_tortollan } 95.1.27={ - effect={ - set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } - } + # effect={ + # set_variable = { name = wc_endurance_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # set_variable = { name = wc_strength_physical_lifestyle_additional_perks_variable value = wc_perks_needed_for_level_3_physical_trait_value } + # } # trait=physical_lifestyle_endurance_3 # trait=physical_lifestyle_strength_3 trait=strong diff --git a/history/cultures/alteraci.txt b/history/cultures/alteraci.txt index 06ba1503bb..cd78a6373e 100644 --- a/history/cultures/alteraci.txt +++ b/history/cultures/alteraci.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/baradin.txt b/history/cultures/baradin.txt index 652a43ffc8..e92a9b61f7 100644 --- a/history/cultures/baradin.txt +++ b/history/cultures/baradin.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/dalaranian.txt b/history/cultures/dalaranian.txt index 63fc06ebdf..26f22207b1 100644 --- a/history/cultures/dalaranian.txt +++ b/history/cultures/dalaranian.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/gilnean.txt b/history/cultures/gilnean.txt index 9c20f2689d..a7b93f1ab3 100644 --- a/history/cultures/gilnean.txt +++ b/history/cultures/gilnean.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/heritage_arathi.txt b/history/cultures/heritage_arathi.txt index 50dcc82575..ab490c0bde 100644 --- a/history/cultures/heritage_arathi.txt +++ b/history/cultures/heritage_arathi.txt @@ -24,7 +24,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/heritage_highborne.txt b/history/cultures/heritage_highborne.txt index b322a45fa7..bee5b9a3e3 100644 --- a/history/cultures/heritage_highborne.txt +++ b/history/cultures/heritage_highborne.txt @@ -20,7 +20,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/theramore.txt b/history/cultures/theramore.txt index 57af99dca1..3ed74db9d9 100644 --- a/history/cultures/theramore.txt +++ b/history/cultures/theramore.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/history/cultures/tirassian.txt b/history/cultures/tirassian.txt index ec96ea0020..2b0ccd63a2 100644 --- a/history/cultures/tirassian.txt +++ b/history/cultures/tirassian.txt @@ -15,7 +15,7 @@ discover_innovation = innovation_ledger discover_innovation = innovation_currency_01 # - discover_innovation = innovation_archmage + discover_innovation = innovation_archmagi # join_era = culture_era_early_medieval } diff --git a/localization/english/culture/wc_cultural_maa_innovations_l_english.yml b/localization/english/culture/wc_cultural_maa_innovations_l_english.yml index b3938d48e7..d347f01b5a 100644 --- a/localization/english/culture/wc_cultural_maa_innovations_l_english.yml +++ b/localization/english/culture/wc_cultural_maa_innovations_l_english.yml @@ -23,8 +23,8 @@ # Tribal Era # ############## - innovation_archmage:0 "Archmagi" - innovation_archmage_desc:0 "Weaving their intricate enchantments, these mages defend their people with all the magical powers at their disposal. The archmagi brandish magical blades and ancient staves that serve to channel their fierce energies in battle." + innovation_archmagi:0 "Archmagi" + innovation_archmagi_desc:0 "Weaving their intricate enchantments, these mages defend their people with all the magical powers at their disposal. The archmagi brandish magical blades and ancient staves that serve to channel their fierce energies in battle. The necessity of this magic to military endeavors has also led this culture to allow the open practice of arcane magic even if it is looked down upon as sinful by their faith." innovation_blademaster:0 "Blademasters" innovation_blademaster_desc:0 "The battle-hardened orcish Blademasters are few in number, yet they form an elite force within the Horde. Skilled swordsmen, they once belonged to the doomed clan of the Burning Blade, which, thanks to demonic corruption, teeters on the brink of destruction." diff --git a/localization/english/dlc/ce1/wc_epidemics_l_english.yml b/localization/english/dlc/ce1/wc_epidemics_l_english.yml index 63f4b1a54e..a0c21118fc 100644 --- a/localization/english/dlc/ce1/wc_epidemics_l_english.yml +++ b/localization/english/dlc/ce1/wc_epidemics_l_english.yml @@ -11,3 +11,47 @@ epidemic_events.5010.stromgarde: "Ancient beyond measure, Stromgarde has watched the successor lordships of the Arathi Basin rise and fall, yet still it stands strong. It has endured much, but it will need to endure further still.\n\nThe wind that soothed the heart of Thoradin himself today carries death with it as it blows. The malignant dead are carried away by masked soldiers and cast off the ancient parapets into the sea, but more and yet more replace them. The cliffsides are strewn with bodies, thrown haphazardly across their faces to save time, save space, save the living.\n\nThe old city withers." epidemic_events.5010.zuldazar: "At the foot of the Pyramid of Dazar'alor, an eerie silence has befallen the City of Gold. Where once the entire south seas came to give tribute, make trade, and seek the Loa's blessings now only the half-dead shamble.\n\nFrom the pyramid's terraced heights, the Zandalari nobility looks on in shame, as the city has grown to resemble the perversities of the infidel Troll kingdoms who embraced cruel Loa of blood, void, and death.\n\nA nation suffers as the Great Seal looks on in silence, holding a far greater terror at bay..." # epidemic_events.5010.varanasi: "It is more commonly known as the City of Light, but Varanasi has been the City of the Dead for just as long. It seems fitting, then, that it should play host to this most deadly of pestilences.\n\nIn happier times, the Ganges teems with life; now, it carries only the dead. Their bloated corpses catch on the riverbanks, kicked away by the few remaining living people who dare to venture outside.\n\nThe sounds of weeping and coughing bounce off the ancient stones of this antediluvian city." + + health.1018.t: "[SCOPE.Custom('EventTitleDisease')]: The Freezing" + health.1018.desc: "I can't get warm. No matter how many layers I wrap around myself, the cold seeps in. My breath feels like ice in my lungs, and my skin—it's turning pale, almost blue. My fingers are going numb, stiffening, and my hands won't stop trembling.\n\nThe chill digs deeper, into my bones, freezing me from the inside. Every breath feels harder, slower. I’m freezing alive." + health.1018.court_physician.desc: "\n\n"You seem to be affected by the frost of [ROOT.Char.GetFaith.DeathDeityName], my [ROOT.Char.GetLadyLord]."" + health.1018.a: "Make it warmer!" + health.1019.t: "[SCOPE.Custom('EventTitleDisease')]: Rotting From Within" + health.1019.desc: "I can feel them. Crawling. Beneath my skin, writhing like maggots. I scratch and scratch, but it doesn’t stop. My skin is sagging, turning gray, and I swear something’s moving under there. My muscles ache, like they’re rotting inside me.\n\nMy joints lock up, stiff, like I’ve been dead for days. Every inch of me reeks of decay. I can barely move, but it won’t stop—nothing stops the rot." + health.1019.court_physician.desc: "\n\n"My [ROOT.Char.GetLadyLord], you seem to be afflicted with Crypt Fever."" + health.1019.a: "I feel my skin rotting..." + health.1020.t: "[SCOPE.Custom('EventTitleDisease')]: Corrupted Veins" + health.1020.desc: "My veins burn. I can see them, dark and swollen under my skin, pulsing like they’re ready to burst. The fever is scorching, but my hands—they’re shaking, weak, covered in sores that won’t stop spreading.\n\nBlood oozes from the cracks in my skin, and every breath tastes like iron. It’s spreading fast, too fast. I can’t stop it. My blood’s turning against me, poisoning me from the inside." + health.1020.court_physician.desc: "\n\n"I most serious malady, my [ROOT.Char.GetLadyLord]. You have what is known in the more scholarly circles as Blood Plague."" + health.1020.a: "Just do something, please!" + + health.1021.t: "[SCOPE.Custom('EventTitleDisease')]: The Void's Embrace" + health.1021.desc: "I can feel it. The darkness. It’s creeping in, seeping through my skin, into my bones. My mind is clouded, my thoughts twisted, and I can’t shake the feeling that something’s watching me. My skin is turning black, like it’s rotting from the inside.\n\nMy hands—they’re shaking, trembling, and I can’t stop them. The whispers—they won’t stop. They’re getting louder, closer. I can’t escape the void." + health.1021.court_physician.desc: "\n\n"My [ROOT.Char.GetLadyLord], you seem to be suffering from a Void Sickness."" + health.1021.a: "The void is calling me..." + + health.1115.t: "[SCOPE.Custom('EventTitleDisease')]: The Warmth of the Sun" + health.1115.desc: "I rise slowly, my breath no longer hanging in the air like smoke on a winter morning. The biting cold that had gripped my bones for days has finally loosened. My skin, once pale and numb, flushes with warmth—an unfamiliar sensation.\n\nI flex my fingers, expecting the familiar stiffness, but they obey with ease. The endless trembling has ceased, leaving my limbs blessedly still.\n\nI exhale, savoring the quiet. The chill is gone, and with it, the fear. Peace. How I'd forgotten its embrace." + health.1115.a: "Once again I shall feel the suns embrace." + health.1116.t: "[SCOPE.Custom('EventTitleDisease')]: Rotting No More" + health.1116.desc: "I pull myself upright, and for the first time in days, my skin isn’t crawling with unseen vermin. The decay that had crept through my flesh has receded, leaving no more festering sores or blackened patches. My hands, once shaking and weak, are steady again.\n\nI press a hand to my chest, half-expecting the grinding pain to return, but it's gone—no more rot gnawing at my bones.\n\nI take a deep breath, the air free of that stench. Relief washes over me. Peace. I almost forgot what it felt like." + health.1116.a: "I am free from the rot." + health.1117.t: "[SCOPE.Custom('EventTitleDisease')]: Cleansed Veins" + health.1117.desc: "I sit up slowly, bracing for the burning under my skin, but there’s none. The fever that had boiled my blood is gone, and my veins no longer throb with darkened sickness. I glance at my arms, expecting the usual oozing wounds, but the sores have closed, leaving only faint scars.\n\nI flex my fingers, and they move without pain—no more throbbing, no more weakness.\n\nI breathe deeply, the air free of that sour, metallic taste. I exhale, feeling lighter. Peace. How long had it eluded me?" + health.1117.a: "The plague no longer owns my blood." + health.1118.t: "[SCOPE.Custom('EventTitleDisease')]: The Light Returns" + health.1118.desc: "I rise, and the sun greets me. It has been so long since I've known the light, and been free from the grasp og the void. The darkness that had enveloped me is gone." + health.1118.a: "My mind is clear, my soul is free." + + + epidemic_holder_fever:0 "$epidemic_holder_loc$ Fever" + epidemic_culture_fever:0 "$epidemic_culture_loc$ Fever" + epidemic_location_fever:0 "$epidemic_province_loc$ Fever" + + epidemic_titled_rulers_plague:0 "$epidemic_titled_ruler_possessive_loc$ Fever" + epidemic_holder_plague:0 "$epidemic_holder_loc$ Fever" + + epidemic_frost_fever:0 "$trait_frost_fever$" + epidemic_crypt_fever:0 "$trait_crypt_fever$" + epidemic_blood_plague:0 "$trait_blood_plague$" + epidemic_void_sickness:0 "$trait_void_sickness$" \ No newline at end of file diff --git a/localization/english/event_localization/prison_events/wc_prison_events_l_english.yml b/localization/english/event_localization/prison_events/wc_prison_events_l_english.yml new file mode 100644 index 0000000000..36f94d26fe --- /dev/null +++ b/localization/english/event_localization/prison_events/wc_prison_events_l_english.yml @@ -0,0 +1,5 @@ +l_english: + prison.1001.magic.desc:0 "[actor.GetTitledFirstName] straps me to the table [actor.GetHerselfHimself], dark magic pouring off [actor.GetHerHis] fingers. "I designed this spell specifically for people like you. Your skin will peel away and your flesh will rot," [actor.GetFirstName] says with a demented smile on [actor.GetHerHis] face. "All while keeping you alive."" + prison.1002.magic.desc:0 "Why rely on subtleties? Nothing compares to the elegance of dark magic slowly consuming the soul. The way flesh rots while still clinging to life—deliciously excruciating. Seeing the magic pouring from my fingers, it seems like [recipient.GetTitledFirstName] might be reconsidering their resistance." + prison.1003.magic.desc:0 "Why rely on subtleties? Nothing compares to the elegance of dark magic slowly consuming the soul. The way flesh rots while still clinging to life—deliciously excruciating. Soon, [recipient.GetTitledFirstName] will know the true depths of agony as their body betrays them, decaying from the inside out. The screams will be as sweet as the power that sustains them... for now." + prison.1010.magic.desc:0 "[actor.GetTitledFirstName] binds me with dark magic, a sinister gleam in [actor.GetHerHis] eyes. I’ve seen what happens—the flesh rotting, the agony tearing through the soul. I beg for release, but [actor.GetFirstNamePossessiveNoTooltip] grin only sharpens. The torment hasn’t even begun." \ No newline at end of file diff --git a/localization/english/event_localization/wc_elemental_ritual_events_l_english.yml b/localization/english/event_localization/wc_elemental_ritual_events_l_english.yml new file mode 100644 index 0000000000..94255cf5a3 --- /dev/null +++ b/localization/english/event_localization/wc_elemental_ritual_events_l_english.yml @@ -0,0 +1,252 @@ +l_english: + +################################## +# Fire Spirit Ritual +# 1000 -> 1499 +################################## + +wc_elemental_ritual_events.1001.title:0 "The Path to the Firelands" +wc_elemental_ritual_events.1001.desc:0 "In my many years of communion with the elements, I have heard whispers from the spirits and discerned ancient shamanic carvings regarding a feat of mastery that separates a simple tribal shaman from a truly legendary elementalist who has become one with the domain of Fire...\n\nWith the knowledge I have gathered over years of communion and research I have sketched the outline of a ritual that will transport me to the Elemental Plane of Fire itself. This ritual would be too dangerous for a journeyman ingnimancer, but I am sure that my strong bond with the fire spirits of Azeroth will protect me should I successfully reach the plane of Fire. The end result, an audience with the legendary Firelord, could grant me great power to protect my people and the elemental spirits of this world." +wc_elemental_ritual_events.1001.a:0 "Begin the Ritual!" +wc_elemental_ritual_events.1001.b:0 "I am not ready for this." + +wc_elemental_ritual_events.1002.title:0 "Translocation Ritual- Fire" +wc_elemental_ritual_events.1002.desc:0 "Enchanted braziers crackle in the dark, the scent of ash and brimstone fills the air. My assistant places hot embers at exact points on a sigil etched with charcoal onto the stone floor. My mind is focused as I pass the halfway mark of the complex incantation, my mind focused solely on my objective, reaching the Elemental plane of Fire.\n\nMonths of planning, preparation, and communion with the terrestrial elemental spirits of fire have led to this moment; the journey to the Elemental plane in the hopes of an audience with the Firelord himself. My mastery of elemental fire must be complete, or else I will spontaneously immolate upon arrival from the intense planar heat. This will not come to pass. I am ready." +wc_elemental_ritual_events.1002.air:0 "Ask the Air spirits for aid." +wc_air_spirits_cd:0 "All Elemental Air spells go on cooldown." +wc_elemental_ritual_events.1002.earth:0 "Ask the Earth spirits for aid." +wc_earth_spirits_cd:0 "All Elemental Earth spells go on cooldown." +wc_elemental_ritual_events.1002.water:0 "Ask the Water spirits for aid." +wc_water_spirits_cd:0 "All Elemental Water spells go on cooldown." +wc_elemental_ritual_events.1002.none:0 "May the Fire spirits guide me." +wc_translocation_success:0 "The Translocation is successful." +wc_translocation_fail:0 "The Translocation fails." + +wc_elemental_ritual_events.1003.title:0 "Planar Translocation- Fire" +wc_elemental_ritual_events.1003.desc:0 "A surge of heat courses across my body, and for an instant I see my assistant thrown back as I am engulfed in flame. The fire elemental spirits that have gathered around me surge into the inferno and reach their tendrils into my body, touching my essence and making me one of them for a time. I feel their heat, their will, the feelings of friendship and trust we have cultivated on this spiritual journey together. It gathers to a crescendo and suddenly...\n\nThe flames recede, uncovering my eyes. I see and feel my body glow red-hot but never burn, a magical sheen of fire fused to my skin. All across my field of view, pyres of flame flicker and dance in the shifting aether like trees as elementals of all shapes and sizes play in the fields of lava, ash, and molten sulfur. I have done it. I have reached the plane of Fire!" +wc_elements_ignore:0 "The Elements Ignore you." +wc_elements_welcome:0 "The Elements Welcome you." +wc_elemental_ritual_events.1003.a:0 "My journey begins now..." + +wc_elemental_ritual_events.1004.title:0 "Interrupted Translocation- Fire" +wc_elemental_ritual_events.1004.desc:0 "My concentration flickers as the elementals we have summoned engulf me in intense flame, and the heat singes my skin. Something has gone wrong! In the depths of my empathic connection with the fire spirits who are here to aid me, my heart resonates as they experience a moment of doubt. Even as their flames lash my pain-stricken body, I overcome physical distress and reach out in reassurance and gratitude towards my infernal friends and feel their concern for me. Although this development is unfavorable, it is no less accounted for in my plans.\n\nIn the split second I have to review my options I decide to..." +wc_elemental_ritual_events.1004.giveup:0 "Give up. My efforts are not working." +wc_elemental_ritual_events.1004.force:0 "Try again, using force to bring myself into the elemental plane." +wc_elemental_ritual_events.1004.sac:0 "Sacrifice Power." + +wc_elemental_ritual_events.1005.title:0 "Planar Fire Ritual Abandoned" +wc_elemental_ritual_events.1005.desc:0 "My concentration was broken, my skin was badly burned, the spirits seemed to have sensed my weakness and retreated out of concern for my safety. It is clear that something was done incorrectly, or possibly that my connection with the spirits simply was not strong enough. I must overcome this failure and bide my time until conditions are once again right for another attempt to reach the Elemental Plane of Fire." +wc_elemental_ritual_events.1005.a:0 "This is the end..." + +wc_elemental_ritual_events.1100.title:0 "The Silence of the Fire Spirits" +wc_elemental_ritual_events.1100.desc:0 "It seems my arrival on the Plane of Fire has not met with any attention, despite the alienness and dramatic nature of my appearance here. The elemental planes, unlike the world of Azeroth, are amorphous and do not behave according to the laws of geometry. It will be impossible to gain an audience with the Firelord unless I have the support of the planar elementals to guide me to their palace. I must find some way to get their attention..." +wc_elemental_ritual_events.1100.fail:0 "Your attempt to get their attention fails." +wc_elemental_ritual_events.1100.offended:0 "They are offended by your attempt." +wc_elemental_ritual_events.1100.success:0 "Your attempt to get their attention is successful." +wc_elemental_ritual_events.1100.journey:0 "Your Journey in the Firelands continues..." +wc_elemental_ritual_events.1100.diplomacy:0 "Surely my charisma is enough." +wc_elemental_ritual_events.1100.magic:0 "I will show them my power!" +wc_elemental_ritual_events.1100.terr:0 "Summoning a Terrestrial might be my best bet, actually." +wc_elemental_rituals_events.1100.desc_forced:0 "Although I know force is not the best way to proceed, I try my luck with it anyway. I begin to feel an almost painful warmth throughout my body, and realize I have made it into the Plane of Fire!\n\n" +wc_elemental_rituals_events.1100.desc_sac:0 "My power does not rival to that of the Elemental Spirits, but I hope my offering shows them the respect and admiration I have towards them. My skin softly singes as I am surrounded by flame, and in my concentration, I realize I have made it into the Plane of Fire!\n\n" + +wc_elemental_ritual_events.1101.title:0 "A Greeting from the Fire Spirits" +wc_elemental_ritual_events.1101.desc:0 "I am recognized by the planar elementals as a visitor from the terrestrial planes, and the spirits begin to gravitate towards me and circle me curiously. Some even touch me with their flaming appendages, puzzled by my alien, material nature.\n\nEventually, the crowd parts, and a vaguely humanoid elemental strides forth, arms outstretched in a gesture of generosity. In its right hand is a font of mystical energy that seems attracted to my being, sure to augment my power. The other is quite obviously molten gold, a rarity on this plane as it is on our world that will solidify when I return home.\n\nWith the friendship of the denizens of this sacred realm secured, my safe passage to the Firelord's palace should be assured. Now I must decide whether to accept one of these gifts..." +wc_elemental_ritual_events.1101.magic:0 "Accept the gift of flame." +wc_elemental_ritual_events.1101.magma:0 "Accept the gift of magma." +wc_elemental_ritual_events.1101.magma_gold:0 "The magma solidifies into gold:" +wc_elemental_ritual_events.1101.none:0 "Graciously refuse their gifts." +wc_elemental_ritual_events.1101.none_good:0 "The Elements recognize your wisdom" + +wc_elemental_ritual_events.1110.title:0 "Passage Through the Firelands" +wc_elemental_ritual_events.1110.desc:0 "With a guide secured from amongst my new friends here on the Plane of Fire, I now must choose a route to navigate the plane on my journey to the Firelord's palace. Due to the shifting and non-euclidean nature of the plane, every journey is different and each route may take a different amount of time.\n\nSome of these routes pass across the very borders of the plane, potentially granting me access to a font of elemental energy of purity not normally available on Azeroth.Which should I choose?" +wc_elemental_ritual_events.1110.air:0 "Journey through the Howling Spires." +wc_elemental_ritual_events.1110.air_tt:0 "Get bonuses related to Air magic throughout your Journey." +wc_elemental_ritual_events.1110.water:0 "Journey through the Magma Sea." +wc_elemental_ritual_events.1110.water_tt:0 "Get bonuses related to Water magic throughout your Journey." +wc_elemental_ritual_events.1110.earth:0 "Journey through the Erupting Ranges." +wc_elemental_ritual_events.1110.earth_tt:0 "Get bonuses related to Earth magic throughout your Journey." +wc_elemental_ritual_events.1110.life:0 "Journey through the Heartfire Forest." +wc_elemental_ritual_events.1110.life_tt:0 "Get bonuses related to Life magic throughout your Journey." +wc_elemental_ritual_events.1110.fire:0 "Journey through the Great Conflagration." +wc_elemental_ritual_events.1110.fire_tt:0 "Get bonuses related to Fire magic throughout your Journey." + +wc_elemental_ritual_events.1120.title:0 "At the Firelord's Gate" +wc_elemental_ritual_events.1120.desc:0 "My long journey through the Firelands has finally led me to the gates of the Firelord's palace. Walls of frozen flame stand strong in imposing columns, vaults and spires. Within, I can sense elemental beings of unfathomable power seething and milling about; and at the center of it all, the imposing energy of the Firelord themself.\n\nThe essence of the terrestrial fire elementals that protects me from harm here resonates with excitement through our empathic bond. With an infernal roar, the gates before me heave open..." +wc_elemental_ritual_events.1102.wow:0 "...and I'm in awe!" +wc_elemental_ritual_events.1102.idc:0 "...and I am NOT impressed." +wc_elemental_ritual_events.1102.scared:0 "...and I tremble in fear." + +wc_elemental_ritual_events.1200.title:0 "The Firelord's Palace" +wc_elemental_ritual_events.1200.desc:0 "Upon entry to the Firelord's palace, I find myself suddenly protected by a bubble of planar fire magic and the terrestrial elemental that has been protecting me with its essence separates and dashes off ahead of me. Great fonts of fire extend into a mind-boggling branching pattern that disobeys all laws of physics as it branches into multiple worlds and realities; the font of fire elemental power at the center of all worlds.\n\nMy elemental protector returns with one of the Firelord's attendants. I have been recognized for my service and granted an audience with the Firelord, and am welcome to ask for some of this power while I wait." + +wc_elemental_ritual_events.1210.title:0 "Audience with the Firelord" +wc_elemental_ritual_events.1210.desc:0 "Finally, the culmination of all my efforts-- an audience with the Firelord themself! Even within my protective bubble, the heat is unbearable as the fire energy from every plane siphons through the great personification of all flame.\n\n"WELCOME, MORTAL, TO MY REALM," the Firelord's voice crackles. "IT IS NOT FREQUENT WE HAVE VISITORS FROM THE MORTAL PLANE. YOUR POWER AND SERVICE TO MY CHILDREN ARE KNOWN TO ME. TELL ME, WHAT IS YOUR REQUEST? I SHALL GRANT ANY DESIRE WITHIN REASON."\n\nNow is the moment I have been waiting for. I request..." +wc_elemental_ritual_events.1210.mastery:0 "...mastery over Fire magic." +wc_elemental_ritual_events.1210.peace:0 "...peace in my realm." +wc_elemental_ritual_events.1210.funds:0 "...wealth in the material plane." +wc_elemental_ritual_events.1210.power:0 "...more power in Azeroth." +wc_elemental_ritual_events.1210.mean:0 "...the suffering of my Enemies." + +wc_elemental_ritual_events.1220.title:0 "The Feast of Fire" +wc_elemental_ritual_events.1220.desc:0 "With my audience with the Firelord complete, I am invited to sit at his table as an esteemed guest. To my surprise, a selection of fire energy shaped like foods from the material plane is presented before me. I am informed that these energies will not only sustain me but grant me magical boons. Looking upon the table, considering all different selections, I think I will have..." +wc_elemental_ritual_events.1220.loaf:0 "...some slices of the Magma bread." +wc_elemental_ritual_events.1220.eggnog:0 "...a sip of the inferno-infused eggnog." +wc_elemental_ritual_events.1220.burger:0 "...a bite of the combustible burger?!." +wc_elemental_ritual_events.1220.cake:0 "...a sizeable slice of Ash Cake." +wc_elemental_ritual_events.1220.fat:0 "...how about everything?" + +wc_elemental_ritual_events.1300.title:0 "Journey's End" +wc_elemental_ritual_events.1300.desc:0 "At last, the time has come to return to Azeroth with my newfound powers and the blessing of the Firelord. The ability to not just speak to the elemental spirits, but to have them speak back, has given me a newfound understanding of their nature which I can bring with me to my shamanic practice at home.\n\nOne of the firelord's priestly attendants offers me a final blessing to vouchsafe my journey home. I choose..." +wc_elemental_ritual_events.1300.terrestrial:0 "The companion terrestrial that has guided me!" +wc_elemental_ritual_events.1300.mana:0 "An easier way back." +wc_elemental_ritual_events.1300.mana.tt:0 "The next Planar Fire you cast will cost no mana and have an instant cast time." +wc_elemental_ritual_events.1300.champion:0 "A champion blessed by the Firelands!" +wc_elemental_ritual_events.1300.lazy:0 "You have given me enough." +wc_free_planar_fire:0 "Blessing from last Planar Fire" +wc_planar_fire_army:0 "Troops from the Firelands" + +wc_elemental_ritual_events.1310.title:0 "Return to Azeroth" +wc_elemental_ritual_events.1310.desc:0 "With an explosion of intense heat, I am returned to the terrestrial plane of Azeroth. The feeling of my body being pulled so suddenly leaves me breathless and numb, and I stumble to the ground. All around me the world feels empty and cold, the transition from constant intense heat and elemental essence to temperate materiality is jarring. The elements of fire feel distant and all feels silent.\n\nAfter a few moments I get my bearings and return to my feet. My assistant is gone, and it is likely I have been away for months in real time. With my newfound power and the blessings of the elemental plane of fire, there is much to be done." +wc_elemental_ritual_events.1310.a:0 "And so it ends..." + +################################## +# Fire Decay Ritual +# 1500 -> 1999 +################################## + +wc_elemental_ritual_events.1501.title:0 "New Worlds to Conquer" +wc_elemental_ritual_events.1501.desc:0 "As I have matured in my shamanistic abilities, it has become clear to me that the elemental powers I wield have a source beyond our world. The elementals of Azeroth are strong, but nowhere near as powerful as those on the Elemental plane which is the source of all Fire energy. The obvious conclusion is that we must open a path to this plane and subjugate its inhabitants as we have the elementals of this world, to increase our power and cement our control over this world. After years of research and careful planning, my plans may finally have come to fruition. Is it time to invade the Firelands?" +wc_elemental_ritual_events.1501.a:0 "Prepare the Portal!" +wc_elemental_ritual_events.1501.b:0 "I am not ready for this." + +wc_elemental_ritual_events.1502.title:0 "Opening the Way" +wc_elemental_ritual_events.1502.desc:0 "All the preparations are complete. My most powerful fire elemental servants will expend their energy, sacrificed to burn a hole through the Twisting Nether straight into the heart of the Firelands from which they draw power. My own personal elemental slave will transform themself into a shield for my physical form as I lead the remainder of my elemental janissaries and shaman warriors into the firelands.\n\nHere we shall establish a beachhead from which we will extract the power of the Firelands directly. From there, we shall march on the very palace of the Firelord, lay it to siege, and force him to accept our colonial rights in his realm. With a blast of heat, the first elementals blink into nothingness and the portal begins to grow. Soon my destiny will be achieved!" +wc_elemental_ritual_events.1502.air:0 "Siphon the power of the Air Spirits." +wc_elemental_ritual_events.1502.earth:0 "Siphon the power of the Earth Spirits." +wc_elemental_ritual_events.1502.water:0 "Siphon the power of the Water Spirits." +wc_elemental_ritual_events.1502.none:0 "My power alone is enough." +wc_portal_ritual_succ:0 "The Portal opens successfully." +wc_portal_ritual_fail:0 "The Portal fails." + +wc_elemental_ritual_events.1503.title:0 "The Failing Portal" +wc_elemental_ritual_events.1503.desc:0 "Suddenly, one of the elementals channeling energy into the nascent portal explodes, erasing carefully drawn ritual lines. A chain reaction occurs as feedback enates from the portal, and energy arcs from one elemental to the next, annihilating my expendable servants by the dozen.\n\nIf this continues, I could lose everything I have worked for! I must act, and quickly, in order to secure the growing portal and vouchsafe my invasion to the firelands." +wc_elemental_ritual_events.1503.a:0 "This may make things harder, but I must push on!" +wc_elemental_ritual_events.1503.b:0 "The energy... It is too much..." + +wc_elemental_ritual_events.1505.title:0 "Firelands Invasion Scrubbed" +wc_elemental_ritual_events.1505.desc:0 "My plans to invade, colonize, and exploit the Firelands and their vast elemental wealth have been scuttled. I did not make this decision lightly. Of course this is not the end of my designs on the Elemental plane. I will regroup, gather resources once more, and make another attempt when the time is right." +wc_elemental_ritual_events.1505.a:0 "..." + +wc_elemental_ritual_events.1601.title:0 "Firebase One" +wc_elemental_ritual_events.1601.desc:0 "With a rush of flame, I step through the portal into the firelands. All across my field of view, pyres of flame flicker and dance in the shifting aether like trees as elementals of all shapes and sizes mill about in the fields of lava, ash, and molten sulfur. It is all I imagined and more.\n\nNow, my subordinate shamans and elemental slave-troops surge through the portal and immediately begin sculpting the solidified inferno of the land into fortifications and energy extractors to funnel its sheer energetic power home to Azeroth. But there is no time to spare. The elementals here must be subjugated, and the Firelord brought to heel.." +wc_elemental_ritual_events.1601.opt.a:0 "The elements themselves will bow to my armies!" + +wc_elemental_ritual_events.1602.title:0 "Fire Elemental Opposition" +wc_elemental_ritual_events.1602.desc:0 "The Fire elementals of this land have proven more difficult to tame than I imagined. They are shiftless, not obeying commands. Some fight back, wasting their energy against my superior force. Even worse, a few have tried to escape to warn the Firelord of our presence here. So far, as far as we know, none have managed to do this successfully. However as our preparations continue, we may face moments of vulnerability and inattention. This insolence cannot be allowed to continue!\n\nAfter carefult thought, I decide to..." +wc_elemental_ritual_events.1602.opt.a:0 "Create a perimeter! Let no one through!" +wc_elemental_ritual_events.1602.opt.b:0 "Hunt down any who flee to their king!" +wc_elemental_ritual_events.1602.opt.c:0 "I will personally execute any who oppose me!" +wc_elemental_ritual_events.1602.success:0 "Your attempt succeeds, and the potential army you could build grows stronger." +wc_elemental_ritual_events.1602.fail:0 "Your attempt fails, and less elements will rally behind you in this invasion." +wc_elemental_ritual_events.1602.a.success:0 "The perimeter is strong." +wc_elemental_ritual_events.1602.a.failure:0 "Your makeshift barrier topples." +wc_elemental_ritual_events.1602.b.success:0 "The hunting party prevails against the elementals." +wc_elemental_ritual_events.1602.b.failure:0 "The fireland's troops overpower you." +wc_elemental_ritual_events.1602.c.success:0 "You kill all who don't submit." + +wc_elemental_ritual_events.1605.title:0 "A Flaming Foothold" +wc_elemental_ritual_events.1605.desc:0 "Now that our position is secure, we can expand our operations in the region. Now that the elementals and fire energy of the region are being processed, it has become apparent that not all the slaves and resources here are usable in the material world. Some are too weak, and would simply vanish as soon as they left the plane. Others are too strong, and would explode violently before they could be put to use. \n\nOne suggestion is to use them to augment our forces here on the elemental plane. Another is to use them to empower myself and my shamans while we are here. I have decided to…" +wc_elemental_ritual_events.1605.opt.a:0 "Make use of them for the invasion force." +wc_elemental_ritual_events.1605.opt.b:0 "Empower me in the material plane." +wc_elemental_ritual_events.1605.opt.c:0 "Use this dead weight as target practice!" + +wc_elemental_ritual_events.1610.title:0 "A March in Flames" +wc_elemental_ritual_events.1610.desc:0 "Now that we have firmly established ourselves here on the plane of Fire, the time has come to achieve our true goal; to besiege the Firelord’s palace and extract his power of our own. Due to the shifting and non-euclidean nature of the plane, every path is different and each route may take a different amount of time.\n\nSome of the possible campaigns pass along the very borders of the plane, potentially granting me access to a font of elemental energy of purity not normally available on Azeroth. Which should I choose?" +wc_elemental_ritual_events.1610.air:0 "March through the Howling Spires." +wc_elemental_ritual_events.1610.air_tt:0 "Get bonuses related to Air magic throughout your Campaign." +wc_elemental_ritual_events.1610.water:0 "March through the Magma Sea." +wc_elemental_ritual_events.1610.water_tt:0 "Get bonuses related to Water magic throughout your Campaign." +wc_elemental_ritual_events.1610.earth:0 "March through the Erupting Ranges." +wc_elemental_ritual_events.1610.earth_tt:0 "Get bonuses related to Earth magic throughout your Campaign." +wc_elemental_ritual_events.1610.death:0 "March through the Heartfire Crypt." +wc_elemental_ritual_events.1610.death_tt:0 "Get bonuses related to Death magic throughout your Campaign." +wc_elemental_ritual_events.1610.fire:0 "March through the Great Conflagration." +wc_elemental_ritual_events.1610.fire_tt:0 "Get bonuses related to Fire magic throughout your Campaign." + +wc_elemental_ritual_events.1620.title:0 "Enemy at the Gates" +wc_elemental_ritual_events.1620.desc:0 "Our march through the Firelands has finally led my army to the gates of the Firelord's palace. Walls of frozen flame stand strong in imposing columns, vaults and spires. Within, I can sense elemental beings of unfathomable power seething and milling about; and at the center of it all, the imposing energy of the Firelord himself.\n\nMy elemental servants grow restless in the presence of this power, but my authority and will are absolute as we gather to lay siege. One of my aides has prepared two possible speeches for me to read..." +wc_elemental_ritual_events.1620.opt.a:0 "A rousing speech" +wc_elemental_ritual_events.1620.opt.a_tt:0 "We have done what no other mortal has dreamed! Victory shall be ours!" +wc_elemental_ritual_events.1620.opt.b:0 "A haughty speech" +wc_elemental_ritual_events.1620.opt.b_tt:0 "Look upon this pathetic edifice of idle energies. It is ours for the taking!" + + +wc_elemental_ritual_events.1701.title:0 "Siege of Fire: Planning Stage" +wc_elemental_ritual_events.1701.desc.opening:0 "Now that we have a siege camp set up, it is time to begin planning how we will take the Firelord's fortress itself. Each of my advisors suggest a different strategy." +wc_elemental_ritual_events.1701.desc.spymaster_real:0 "\n\nMy spymaster," +wc_elemental_ritual_events.1701.desc.spymaster_fake:0 "\n\nWell versed in the art of intrigue," +wc_elemental_ritual_events.1701.desc.spymaster:0 "[spymaster.GetShortUIName] suggests using trickery, known as a stratagem of war, to secure entry into the palace. This risky maneuver involves deceiving our enemy into allowing us entry into the fortress. On the other hand, " +wc_elemental_ritual_events.1701.desc.marshal_real:0 "my marshal," +wc_elemental_ritual_events.1701.desc.marshal_fake:0 "a master of the battlefield," +wc_elemental_ritual_events.1701.desc.marshal:0 "[marshal.GetShortUIName], has proposed an infiltration maneuver, getting a small force of elite warriors over the walls and into the palace under the cover of a distracting attack. This tactic would hasten the siege greatly, but could cost us some of our best troops.\n\nI decide to..." +wc_elemental_ritual_events.1701.opt.a:0 "Keep up the siege!" +wc_elemental_ritual_events.1701.opt.b:0 "Prepare a stratagem of war." +wc_elemental_ritual_events.1701.opt.c:0 "Prepare an infiltration strike." + +wc_elemental_ritual_events.1710.title:0 "Siege of Fire: Into the Breach" +wc_elemental_ritual_events.1710.desc.opening:0 "Our siege has finally weakened the enemy enough to allow us to advance and breach the gates and walls of the Firelord's fortress.\n\n" +wc_elemental_ritual_events.1710.desc.positive:0 "Our forces rush through the breaches, scaling the walls with vigor, cutting down elementals left and right in a whirlwind assault. The enemy falters before our crushing assault and retreats into the firelord's sanctum to make a last stand. This quick and clean victory left little time for the enemy to evacuate the castle town and bounteous plunder and elemental slaves are ours for the taking!" +wc_elemental_ritual_events.1710.desc.neutral:0 "The battle to enter the fortress is hard-fought. For hours our two armies pummel each other mercilessly through the breaches and casualties are high. With the use of powerful spells and siege engines, we were eventually able to open more breaches and take the castle town." +wc_elemental_ritual_events.1710.desc.negative:0 "The assault was a nightmare. The Firelord's forces were ready for us and poured through the breaches in great numbers, shocking our soldiers with their fiery fury. Devastating as this attack was, My [court_mage] and I were able to muster great spells at a considerable mana cost to turn the tide. After days of battle, expending all but my most hardened veterans, we finally reached the castle town." +wc_elemental_ritual_events.1710.desc.ending:0 "We now ready our elite warriors for an assault on the palace. Resistance within will surely be great as the Firelord's most elite soldiers will meet us in combat amid swirling elemental energies of unfathomable power." +wc_elemental_ritual_events.1710.opt.a:0 "Into the courtyard! Push them back!" + + +wc_elemental_ritual_events.1720.title:0 "Siege of Fire: Inside the Fortress" +wc_elemental_ritual_events.1720.desc.opening_normal:0 "Having secured the parapets, we now push out into the Firelord's castle town and courtyard. " +wc_elemental_ritual_events.1720.desc.opening_stratagem:0 "Our stratagem was a success! We were able to open the castle gates right under the castle guards' noses and now our forces rush in, bypassing the formidable walls and meeting the opposition directly in the courtyard. " +wc_elemental_ritual_events.1720.desc.ending:0 "The melee is fierce, with fire energy blasts arcing high into the air and buffeting the infernal buildings in the castle courtyard. Slowly but surely, our forces begin to push the Firelord's forces back. Step by step, line by line we rout them. Block by block we push them back until their horn sounds a retreat into the Palace itself. Our forces have won the day here in the courtyard, but there is still the Firelord's Sanctum before us to subjugate." +wc_elemental_ritual_events.1720.opt.a:0 "To the Palace! For Victory!" + +wc_elemental_ritual_events.1730.title:0 "Siege of Fire: The Firelord's Palace" +wc_elemental_ritual_events.1730.desc.opening_normal:0 "Our forces have had time to rest and take loot, elemental slaves, and any power they can siphon. Now we turn our attention to the Sanctum of the Firelord. With a great heave, our battering ram breaches the ornate doors and our forces rush in." # note that if the player progresses past this point having taken the first two options they are guaranteed at least the `_partial` degree ending and gets some rewards to take home. +wc_elemental_ritual_events.1730.desc.opening_infiltration:0 "The ruse was a success, and I was able to gain access the palace along with my elite soldiers and shamans." +wc_elemental_ritual_events.1730.desc.ending:0 "Here the most elite Fire elemental soldiers await and meet my intruding force blade for blade and spell for spell. In the throne room some distance away, the Firelord himself bellows with rage and begins casting a spell of unfathomable power. Every few feet a trap is sprung that snatches the life of one of my men. Elementals appear out of nowhere on our flanks, pouring out of hallways and from behind blinds. This is the fight that will decide everything for us!" +wc_elemental_ritual_events.1730.opt.a:0 "Stand together! Down with the Firelord!" + +wc_elemental_ritual_events.1801.title:0 "Ritual of Fire: Victory" +wc_elemental_ritual_events.1801.desc:0 "The Firelord's metal cuffs, each wide enough to encircle a score of men, clank to the floor. A cry of victory issues forth from the ragged throats of my men. We have done it! With the Firelord's form vanquished, we are free to pillage the Firelands to our hearts' content. Eventually, he will reform himself and surely take back dominion over this place, at least for a time. However for now our journey is over, and the invasion of the Firelands has been a success! It is time to bring reap the rewards of our conquest... Treasure, elemental slaves, and boundless fire energy!" +wc_elemental_ritual_events.1801.opt:0 "Take all we can carry!" + +wc_elemental_ritual_events.1802.title:0 "Ritual of Fire: Defeat" +wc_elemental_ritual_events.1802.desc.stage_town:0 "As our forces scaled the walls, it seemed that the Firelord's forces were ready for us. Our forces, split up and bottlenecked in the courtyard, broke under the crushing weight of the Firelord's counter-push. Those who fled were not safe, and many were cut down with their backs to the enemy. What few of my men I could gather back at the siege camp are not enough to continue the siege and make another try at the walls.\n\n" # used to introduce event if failed during breach battle +wc_elemental_ritual_events.1802.desc.stage_sanctum:0 "The Firelord's sanctum swallowed my soldiers whole. Endless barrages of fire magic, wave after wave of fire elemental soldiers pressuring my tired forces, and devious traps that sapped the will and very lives of even my most elite soldiers and shamans. In the end we were unable to take the Palace and were chased out of the castle town, our forces holding it breaking beneath the power of the Firelord himself.\n\n" # used to introduce event if failed during castle town battle (more likely if strategem used) +wc_elemental_ritual_events.1802.desc.stage_firelord:0 "While we were able to defeat the Firelord's forces, my elite shamans and I were unable to overcome the ruler of the plane of Fire himself. Though our men fought hard and won against his elite soldiers, they had no hope of assisting us against such a powerful elemental being. In order to save what I could, I ordered the retreat and the Firelord rallied what was left of his army, pressing the advantage and pushing our invading force all the way back to the base camp.\n\n" # used to introduce event if failed during sanctim battle (more likely if infiltration used) +wc_elemental_ritual_events.1802.desc.degree_awful:0 "Even as we hurried in retreat from the castle walls, a fresh wave of elemental soldiers were already taking positions and making repairs. Our men tripped and scrambled over the piles of burning dead. The firelord's laughter was audible above it all, taunting us as we retreated. We were unable to take any loot back with us, and the Firelord is sure to cement his dominance and make further intrusions more difficult." # you get nothing and cast time of next planar fire takes extra long +wc_elemental_ritual_events.1802.desc.degree_bad:0 "In the end, we were simply outmatched by a superior force; the retreat was hasty but tactically sound. While we surely dealt a devastating blow to the Firelord, we were unable to bring back any loot or slaves of value with us from the Firelord's palace." # you get nothing +wc_elemental_ritual_events.1802.desc.degree_partial:0 "In the end, we were simply outmatched by a superior force; yet our soldiers and commanders' discipline enabled a textbook fighting retreat. Our secure foothold was dismantled carefully, and arrangements were made to bring whatever loot and slaves we could back home to Azeroth. Now we must plan our next assault and be sure to seize victory next time." # defeated but you get some slaves +wc_elemental_ritual_events.1802.opt_awful:0 "We have failed." +wc_elemental_ritual_events.1802.opt:0 "We will return." + +################################## +# Miscellaneous Localization +################################## +# Journey speed for path event +wc_ritual_journey_swift:0 "Your journey continues swiftly." +wc_ritual_journey_fast:0 "Your journey speeds up." +wc_ritual_journey_normal:0 "Your journey continues as normal." +wc_ritual_journey_slow:0 "Your journey is a bit delayed." +wc_ritual_portal_success:0 "Opening the portal succeeds." +wc_ritual_portal_fail:0 "Opening the portal fails." +wc_elements_submit:0 "The elements submit to your will." +wc_elements_oppose:0 "The elements resist your will." +wc_siege_fails:0 "The siege fails." +wc_siege_succeeds:0 "The siege succeeds." +wc_siege_continues_difficulty:0 "The siege continues, but with difficulty." +wc_siege_continues_1:0 "The siege proceeds one stage." +wc_siege_continues_2:0 "The siege proceeds two stages." +wc_siege_continues_3:0 "The siege proceeds three stages." +wc_elemental_ritual_events.1602.win_big:0 "You have won an overwhelming victory!" +wc_elemental_ritual_events.1602.win:0 "You have achieved victory!" +wc_ritual_failed_awful:0 "Planar Fire: Awful Failure" \ No newline at end of file diff --git a/localization/english/event_localization/wc_magic_decisions_events_l_english.yml b/localization/english/event_localization/wc_magic_decisions_events_l_english.yml new file mode 100644 index 0000000000..e14c26c51e --- /dev/null +++ b/localization/english/event_localization/wc_magic_decisions_events_l_english.yml @@ -0,0 +1,46 @@ +l_english: + +# ███ ███ █████ ██████ ██ ██████ +# ████ ████ ██ ██ ██ ██ ██ +# ██ ████ ██ ███████ ██ ███ ██ ██ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ ██ ██ ██████ ██ ██████ + +# ██████ ███████ ██████ ██ ███████ ██ ██████ ███ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ████ ██ ██ +# ██ ██ █████ ██ ██ ███████ ██ ██ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██████ ███████ ██████ ██ ███████ ██ ██████ ██ ████ ███████ + +# ███████ ██ ██ ███████ ███ ██ ████████ ███████ +# ██ ██ ██ ██ ████ ██ ██ ██ +# █████ ██ ██ █████ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ████ ███████ ██ ████ ██ ███████ + +################################################################## +# magic_decisions 0000-0099 +# Find court mage +################################################################## + +find_court_mage:0 "Find Court Mage" +find_court_mage_tooltip:0 "Find and hire an official Mage to assist with spellcastiing duties." +find_court_mage_desc.opening:0 "No court is complete without an official Mage to assist with spellcastiing duties. Hiring one of these valuable officials will open new doors of power for my rule.\n\n" +find_court_mage_desc.archmages:0 "Thanks to our culture's Archmages, I will be able to choose my court mage from a broader variety of more powerful mages." +find_court_mage_confirm:0 "Send word to the Magi" + +magic_decisions.0001.title:0 "Court Mage Candidates" +magic_decisions.0001.desc:0 "My call for a court mage has resulted in promising results, and now the candidates stand before me. One is a learned individual who provides a full accounting of their skills, an impressive pedigree that my councillors assure me will make them a useful asset to the court. The other is a more cagey type, quick of wit, who seems to know more than they are willing to let on. While a riskier choice, it may open the door to certain... forbidden abilities... that might prove useful to me. Or perhaps they are simply a more private person?" +magic_decisions.0001.opt.a:0 "My councillors know best." +magic_decisions.0001.opt.b:0 "I will take my chances!" +magic_decisions.0001.opt.f:0 "Neither of these candidates pleases me." + +magic_decisions.0002.title:0 "Court Mage Candidates" +magic_decisions.0002.desc.opening_human:0 "My call for a court mage has resulted in promising results, and now the candidates stand before me. Traditionally, my people select a scholar from the Magocracy of Dalaran to serve as court mage, and doing so will certainly increase my standing amongst my peers. The mage that has been sent by the Kirin Tor is truly impressive, an individual of dignity and power.\n\nIn addition, there is a locally trained hedge wizard who provides a full accounting of their skills, an impressive pedigree that a useful and less expensive if slightly less traditional asset to the court. " +magic_decisions.0002.desc.opening_elven:0 "My call for a court mage has resulted in promising results, and now the candidates stand before me. There is the option available to me to select a scholar from the Magocracy of Dalaran to serve as court mage, of course this individual's close contact with lesser races means they may tarnish my reputation somewhat.\n\nA more traditional choice would be a trained mage from my own lands . " +magic_decisions.0002.desc.ending:0 "Finally, at the end of the pack stands a more cagey type, quick of wit, who seems to know more than they are willing to let on. While a riskier choice, it may open the door to certain... forbidden abilities... that might prove useful to me. Or perhaps they are simply a more private person?" +magic_decisions.0002.opt.a:0 "To choose the mage from Dalaran is most wise." +magic_decisions.0002.opt.b:0 "I will take my chances with the hedge wizard." +magic_decisions.0002.opt.c:0 "A mage from our lands would be more prudent." +magic_decisions.0002.opt.d:0 "You over there in the corner! Step forward..." +magic_decisions.0002.opt.f:0 "None of these candidates please me." \ No newline at end of file diff --git a/localization/english/event_localization/wc_magic_lifestyle_events_l_english.yml b/localization/english/event_localization/wc_magic_lifestyle_events_l_english.yml new file mode 100644 index 0000000000..260f4ea9b5 --- /dev/null +++ b/localization/english/event_localization/wc_magic_lifestyle_events_l_english.yml @@ -0,0 +1,159 @@ +l_english: + +# ███ ███ █████ ██████ ██ ██████ +# ████ ████ ██ ██ ██ ██ ██ +# ██ ████ ██ ███████ ██ ███ ██ ██ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ ██ ██ ██████ ██ ██████ + +# ██ ██ ███████ ███████ ███████ ████████ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ██ ██ █████ █████ ███████ ██ ████ ██ █████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ██ ██ ███████ ███████ ██ ██ ███████ ███████ + +# ███████ ██ ██ ███████ ███ ██ ████████ ███████ +# ██ ██ ██ ██ ████ ██ ██ ██ +# █████ ██ ██ █████ ██ ██ ██ ██ ███████ +# ██ ██ ██ ██ ██ ██ ██ ██ ██ +# ███████ ████ ███████ ██ ████ ██ ███████ + + +################################################################## +# magic_lifestyle 1000-1099 +# Elemental Fire (Spirit) by Dione +################################################################## + + elemental_fire_header_text:0 "Elemental Fire:" + magic_lifestyle.1002.protection:0 "Ask for Protection" + magic_lifestyle.1002.efficiency:0 "Ask for Efficiency" + magic_lifestyle.1002.companionship:0 "Ask for Companionship" + + ################################################################# + # 1200 - 1299 Elemental Fire: All + ################################################################# + + +################################################################## +# magic_secret.1001 +# secret exposed! +################################################################## + +# cosmic magic +magic_secret.1001.title.light:0 "My Holy Holy magic Exposed!" +magic_secret.1001.desc.light:0 "[secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my relationship with the divine Light. The evil forces which surround me shall now surely seek to discredit and persecute me, or worse..." +magic_secret.1001.title.shadow:0 "My Shadow Research Exposed!" +magic_secret.1001.desc.shadow:0 "[secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my hitherto secret research into the forces of Shadow. I now find myself vulnerable to the persecution of those who will never understand..." +magic_secret.1001.title.life:0 "My Communion with Life Exposed!" +magic_secret.1001.desc.life:0 "[secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my communion with the forces of Life. May the will of Nature protect me from those who will now wish me harm..." +magic_secret.1001.title.death:0 "My Necromancy Exposed!" +magic_secret.1001.desc.death:0 "Drat and curses! The weak and pedantic fool [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my practice of necromancy! No matter, soon the living shall tremble at my power..." +magic_secret.1001.title.order:0 "My Arcane Research Exposed!" +magic_secret.1001.desc.order:0 "It appears that [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my efforts to research the Arcane laws that underly our universe. I knew the risks, but it seems this gamble hasn't gone my way..." +magic_secret.1001.title.disorder:0 "My Fel Research Exposed!" +magic_secret.1001.desc.disorder:0 "Impudent fools! The trifling braggart [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my communion with the Fel. They will never understand! They will not stop my pursuit of true power!" + +# elemental magic +magic_secret.1001.title.fire:0 "My Fire Magic Exposed!" +magic_secret.1001.desc.fire:0 "My research into elemental magics has been exposed by [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U]. Why must research into the basic forces of Azeroth be looked on this way?" +magic_secret.1001.title.water:0 "My Water Magic Exposed!" +magic_secret.1001.desc.water:0 "My research into elemental magics has been exposed by [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U]. Why must research into the basic forces of Azeroth be looked on this way?" +magic_secret.1001.title.air:0 "My Air Magic Exposed!" +magic_secret.1001.desc.air:0 "My research into elemental magics has been exposed by [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U]. Why must research into the basic forces of Azeroth be looked on this way?" +magic_secret.1001.title.earth:0 "My Earth Magic Exposed!" +magic_secret.1001.desc.earth:0 "My research into elemental magics has been exposed by [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U]. Why must research into the basic forces of Azeroth be looked on this way?" + +# unused elemental magic +# magic_secret.1001.title.fire_s:0 "My Fire Spirit Communion Exposed!" +# magic_secret.1001.desc.fire_s:0 "Spirits protect me! [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my harmonious communion with the spirits of Fire! I must be strong for their sake, times ahead are sure to be trying..." +# magic_secret.1001.title.fire_d:0 "My Fire Domination Exposed!" +# magic_secret.1001.desc.fire_d:0 "The weakling [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has observed how I twist the elemental Fire spirits to my will, and now seeks to discredit me before my peers. I will not be stopped!" +# magic_secret.1001.title.water_s:0 "My Water Spirit Communion Exposed!" +# magic_secret.1001.desc.water_s:0 "Spirits protect me! [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my harmonious communion with the spirits of Water! I must be strong for their sake, times ahead are sure to be trying..."" +# magic_secret.1001.title.water_d:0 "My Water Domination Exposed!" +# magic_secret.1001.desc.water_d:0 "The weakling [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has observed how I twist the elemental Water spirits to my will, and now seeks to discredit me before my peers. I will not be stopped!" +# magic_secret.1001.title.air_s:0 "My Air Spirit Communion Exposed!" +# magic_secret.1001.desc.air_s:0 "Spirits protect me! [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my harmonious communion with the spirits of Air! I must be strong for their sake, times ahead are sure to be trying..."" +# magic_secret.1001.title.air_d:0 "My Air Domination Exposed!" +# magic_secret.1001.desc.air_d:0 "The weakling [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has observed how I twist the elemental Air spirits to my will, and now seeks to discredit me before my peers. I will not be stopped!" +# magic_secret.1001.title.earth_s:0 "My Earth Spirit Communion Exposed!" +# magic_secret.1001.desc.earth_s:0 "Spirits protect me! [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has exposed my harmonious communion with the spirits of Earth! I must be strong for their sake, times ahead are sure to be trying..."" +# magic_secret.1001.title.earth_d:0 "My Earth Domination Exposed!" +# magic_secret.1001.desc.earth_d:0 "The weakling [secret_exposer.Custom2('MyCharacterIntroduction', ROOT.Char)|U] has observed how I twist the elemental Earth spirits to my will, and now seeks to discredit me before my peers. I will not be stopped!" + + +# fallback +magic_secret.1001.title:0 "Secret Magic Use Exposed!" +magic_secret.1001.desc:0 "Secret Magic Use Exposed!" + +# options +magic_secret.1001.opt.a:0 "I can hide no longer..." + +# Message notifications + secret_exposed_notification_effect_message_light_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Holy magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_shadow_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Void magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_life_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Life magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_death_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Necromancy was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_order_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Arcane magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_disorder_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Fel magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_fire_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Fire magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_water_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Water magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_air_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Air magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_earth_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Earth magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_fire_spirit_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Fire Spirit magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_water_spirit_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Water Spirit magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_air_spirit_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Air Spirit magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_earth_spirit_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Earth Spirit magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_fire_decay_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Fire Decay magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_water_decay_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Water Decay magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_air_decay_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Air Decay magic was exposed by [secret_exposer.GetTitledFirstName]!" + secret_exposed_notification_effect_message_elemental_earth_decay_magic:0 "[owner.GetTitledFirstNamePossessive] practice of Elemental Earth Decay magic was exposed by [secret_exposer.GetTitledFirstName]!" + + secret_exposed_notification_effect_message_light_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Holy magic!" + secret_exposed_notification_effect_message_shadow_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Void magic!" + secret_exposed_notification_effect_message_life_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Life magic!" + secret_exposed_notification_effect_message_death_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Necromancy!" + secret_exposed_notification_effect_message_order_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Arcane magic!" + secret_exposed_notification_effect_message_disorder_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Fel magic!" + secret_exposed_notification_effect_message_elemental_fire_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Fire magic!" + secret_exposed_notification_effect_message_elemental_water_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Water magic!" + secret_exposed_notification_effect_message_elemental_air_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Air magic!" + secret_exposed_notification_effect_message_elemental_earth_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Earth magic!" + secret_exposed_notification_effect_message_elemental_fire_spirit_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Fire Spirit magic!" + secret_exposed_notification_effect_message_elemental_water_spirit_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Water Spirit magic!" + secret_exposed_notification_effect_message_elemental_air_spirit_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Air Spirit magic!" + secret_exposed_notification_effect_message_elemental_earth_spirit_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Earth Spirit magic!" + secret_exposed_notification_effect_message_elemental_fire_decay_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Fire Decay magic!" + secret_exposed_notification_effect_message_elemental_water_decay_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Water Decay magic!" + secret_exposed_notification_effect_message_elemental_air_decay_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Air Decay magic!" + secret_exposed_notification_effect_message_elemental_earth_decay_magic.i_exposed:0 "I have exposed [owner.GetTitledFirstNamePossessive] practice of Elemental Earth Decay magic!" + + + +################################################################## +# magic_secret.1011 +# another's secret exposed! +################################################################## + +magic_secret.1011.title:0 "User of Illegal Magic!" + +magic_secret.1011.desc:0 "bruh" +magic_secret.1011.desc.liege:0 "[secret_owner.Custom2('MyCharacterIntroduction', ROOT.Char)] has been found to be [secret.Custom2('GetMagicSecretColloquialism', ROOT.Char)]! This crime brings dishonor to my realm, but it is up to me to decide whether to punish this criminal." +magic_secret.1011.desc.family:0 "[secret_owner.Custom2('MyCharacterIntroduction', ROOT.Char)] has been found to be [secret.Custom2('GetMagicSecretColloquialism', ROOT.Char)]! This crime brings dishonor to our entire family, now I must decide how to react to this turn of events..." + +#normal +magic_secret.1011.opt.a.hostile:0 "A pox upon this selfish fool!" +magic_secret.1011.opt.a.sympathetic:0 "I must ensure the same fate does not befall me..." +magic_secret.1011.opt.a.indifferent:0 "Ugh, have we nothing better to gossip about?" + +#liege - jail them +magic_secret.1011.opt.b:0 "Throw this blasphemer in prison!" + +#family - denounce them +magic_secret.1011.opt.c:0 "Our family denounces this foolhardy magic!" + +#family - support them +magic_secret.1011.opt.d:0 "I'm sure [secret_owner.Custom2('GetSheHe', ROOT.Char)] had [secret_owner.Custom2('GetHerHis', ROOT.Char)] reasons!" + +#aspirant +magic_secret.1011.opt.e:0 "bruh" diff --git a/localization/english/event_localization/wc_magic_perk_events_l_english.yml b/localization/english/event_localization/wc_magic_perk_events_l_english.yml new file mode 100644 index 0000000000..27d7592e13 --- /dev/null +++ b/localization/english/event_localization/wc_magic_perk_events_l_english.yml @@ -0,0 +1,35 @@ +l_english: + magic_perk.0001.title:0 "Arcane Intellect" + magic_perk.0001.desc:0 "As you channel the arcane energy, your mind sharpens, and possibilities unfold before you.\n\nWhich path will you enhance—your ability to sway others, command with authority, manage resources, unravel secrets, or deepen your knowledge? The magic hums in your veins, ready to amplify your chosen skill.\n\nThe decision is yours." + magic_perk.0001.a:0 "Diplomacy" + magic_perk.0001.b:0 "Martial" + magic_perk.0001.c:0 "Stewardship" + magic_perk.0001.d:0 "Intrigue" + magic_perk.0001.e:0 "Learning" + + magic_perk.0002.title:0 "Holy Aura" + magic_perk.0002.desc:0 "Your work as an agent of the light has not gone unnoticed. The divine energy that flows through you has grown stronger, and you can feel it radiating from your very being.\n\nWhich aspect of your faith will you enhance—your ability to heal, smite the wicked, protect the innocent, inspire the faithful, or deepen your understanding of the divine? The power of the light is yours to command.\n\nWill you use the power of holy magic for..." + magic_perk.0002.devotion:0 "Protection?" + magic_perk.0002.retribution:0 "Reprisal?" + magic_perk.0002.retribution_tooltip:0 "When targeted with a hostile spell, and when any close or extended family member dies, you gain [GetModifier('wc_retribution_aura_modifier').GetNameWithTooltip] for 6 months." + magic_perk.0002.concentration:0 "Focus?" + magic_perk.0002.vengeance:0 "Wrath?" + wc_holy_aura_tooltip:0 "#P You will choose a path to enhance your holy magic.#!" + wc_retribution_aura_title:0 "Retribution Aura Activated!" + wc_vengeance_aura_title:0 "Vengeance Aura Activated!" + + + magic_perk.0010.title:0 "Aquatic Bounty" + magic_perk.0010.desc:0 "As you weave the elemental forces of water magic, visions of prosperity ripple through your mind. The coasts shimmer with potential, their harbors brimming with wealth, while the rivers wind through fertile lands, promising abundance to those who depend on them.\n\nWill you direct the bounty of the waters to the bustling shores, strengthening the coastal trade, or to the riversides, nurturing the heartlands? The spell’s potential surges within you, a tidal force waiting for your command." + magic_perk.0010.coastal:0 "The coasts will enjoy this bounty" + magic_perk.0010.coastal.effect:0 "[targets_size|P0] [provinces|E] permanently gain the [GetModifier('wc_aquatic_bounty_coastal_modifier').GetNameWithTooltip]" + magic_perk.0010.riverside:0 "The heartlands need it more" + magic_perk.0010.riverside.effect:0 "[targets_size|P0] [provinces|E] permanently gain the [GetModifier('wc_aquatic_bounty_riverside_modifier').GetNameWithTooltip]" + + magic_perk.0020.title:0 "Hibernation" + magic_perk.0020.desc:0 "You draw upon the magic, calming warmth enveloping your body, dulling the pain and slowing your breath. The spell takes hold, slowly mending your wounds and purging the poison coursing through your veins.\n\nTime fades into stillness, and you drift into emptiness, cradled by the magic’s embrace. When you awaken, strength and vitality will have returned, your body renewed by the spell’s power." + magic_perk.0020.a:0 "So... tired..." + + magic_perk.0021.title:0 "Hibernation: Awakening" + magic_perk.0021.desc:0 "Your senses slowly return as you awaken from the depths of hibernation. Strength flows through your limbs, and the pain that once gripped your body is gone. Your wounds are closed, your breath steady and full.\n\nThe air feels crisp and new, the world untouched by the passage of time. You rise, renewed and whole, the magic’s work complete. Your vitality has returned, and with it, the promise of what lies ahead." + magic_perk.0021.a:0 "Awake once more" \ No newline at end of file diff --git a/localization/english/event_localization/wc_magic_spell_events_l_english.yml b/localization/english/event_localization/wc_magic_spell_events_l_english.yml new file mode 100644 index 0000000000..3968a4922c --- /dev/null +++ b/localization/english/event_localization/wc_magic_spell_events_l_english.yml @@ -0,0 +1,217 @@ +l_english: + wc_magic_spell_events.0001.title:0 "Ice Block" + wc_magic_spell_events.0001.desc:0 "The air crackles with hostile magic as a spell speeds toward you. In a heartbeat, your Frost Shield activates, casting Ice Block, and a protective layer of ice envelops you.\n\nNow immobile and unable to act, you watch as the deadly spell shatters harmlessly against your icy barrier. Safe within your frozen shield, you wait for the danger to pass." + wc_magic_spell_events.0001.a:0 "That was close..." + + wc_magic_spell_events.0100.title:0 "Sharing the Shield" + wc_magic_spell_events.0100.desc:0 "You hold the Fire Shield at the ready, considering who needs it most. The choice is crucial, and every second counts. You weigh your options, knowing the spell could make all the difference.\n\nWith a deep breath, you prepare to cast, your mind racing to make the right decision." + wc_magic_spell_events.0100.a:0 "Perhaps one of my [friends|E]" + wc_magic_spell_events.0100.b:0 "One of my [best_friends|E] need some protection" + wc_magic_spell_events.0100.c:0 "A [lover|E] perhaps..." + wc_magic_spell_events.0100.d:0 "[primary_spouse.GetFirstName] could use a shield" + wc_magic_spell_events.1011.title:0 "Sharing the Shield: Friends" + wc_magic_spell_events.1011.desc:0 "$wc_magic_spell_events.0100.desc$" + wc_magic_spell_events.1011.a:0 "[ROOT.Var('friend1').Char.GetFirstName] needs it the most" + wc_magic_spell_events.1011.b:0 "Maybe it would keep [ROOT.Var('friend2').Char.GetFirstName] safe?" + wc_magic_spell_events.1011.c:0 "Does [ROOT.Var('friend3').Char.GetFirstName] need more defence?" + wc_magic_spell_events.1011.nvm:0 "Perhaps someone else..." + wc_magic_spell_events.1021.title:0 "Sharing the Shield: Best Friends" + wc_magic_spell_events.1021.desc:0 "$wc_magic_spell_events.0100.desc$" + wc_magic_spell_events.1021.a:0 "Is [ROOT.Var('best_friend1').Char.GetFirstName] safe without a shield?" + wc_magic_spell_events.1021.b:0 "With this, [ROOT.Var('best_friend2').Char.GetFirstName] should be safe enough" + wc_magic_spell_events.1021.c:0 "Would [ROOT.Var('best_friend3').Char.GetFirstName] benefit from more protection?" + wc_magic_spell_events.1021.nvm:0 "$wc_magic_spell_events.1011.nvm$" + wc_magic_spell_events.1031.title:0 "Sharing the Shield: Lovers" + wc_magic_spell_events.1031.desc:0 "$wc_magic_spell_events.0100.desc$" + wc_magic_spell_events.1031.a:0 "[ROOT.Var('lover1').Char.GetFirstName] requires more protection" + wc_magic_spell_events.1031.b:0 "Is a shield necessary for [ROOT.Var('lover2').Char.GetFirstName]?" + wc_magic_spell_events.1031.c:0 "Is [ROOT.Var('lover3').Char.GetFirstName] protected enough?" + wc_magic_spell_events.1031.nvm:0 "$wc_magic_spell_events.1011.nvm$" + wc_magic_spell_events.0200.title:0 "Conjuring Refreshment" + wc_magic_spell_events.0200.desc:0 "As you begin casting, energy swirls around your fingertips, and you consider your choice. Do you conjure food to replenish your health, or summon a drink to restore your magical strength? The decision hangs in the air, each option promising a different path to recovery. Your magic hums, awaiting direction." + wc_magic_spell_events.0200.a:0 "Food will do." + wc_magic_spell_events.0200.a.tt:0 "The targets will be granted [GetModifier('wc_conjure_food_modifier').GetNameWithTooltip] when the spell finishes casting." + wc_magic_spell_events.0200.b:0 "A drink sounds nice." + wc_magic_spell_events.0200.b.tt:0 "The targets will be granted [GetModifier('wc_conjure_drink_modifier').GetNameWithTooltip] when the spell finishes casting." + + wc_magic_spell_events.0300.title:0 "Conjuring Refreshment" + wc_magic_spell_events.0300.desc:0 "As you weave the spell, arcane energy hums at your fingertips, and you pause, weighing your options. Should you summon nourishing food to restore everyone's health or conjure potent drinks to replenish their magical reserves? The feast's impact depends on your choice, each option offering a different kind of strength." + wc_magic_spell_events.0300.a:0 "Food will do." + wc_magic_spell_events.0300.a.tt:0 "All attendees will be granted [GetModifier('wc_conjure_food_modifier').GetNameWithTooltip]." + wc_magic_spell_events.0300.b:0 "A drink sounds nice." + wc_magic_spell_events.0300.b.tt:0 "All attendees will be granted [GetModifier('wc_conjure_drink_modifier').GetNameWithTooltip]." + + wc_magic_spell_events.1000.title:0 "Saved by the Light" + wc_magic_spell_events.1000.desc:0 ""Come, my child," a voice whispers in my mind. "You are not yet ready to leave this world."\n\nAs I stand at what seems to be the brink of death, looking into [ROOT.Char.GetFaith.NegativeAfterLife], I am jolted above, towards the sky." + wc_magic_spell_events.1000.desc.caster_alive:0 "\n\nBeyond me, I see [salvation_caster.GetFirstNamePossessive] face, knowing deep down that [salvation_caster.GetSheHe] has saved me from the brink of death." + wc_magic_spell_events.1000.desc.caster_dead:0 "\n\nBeyond me, I see the shadow of [salvation_caster.GetFirstName], knowing that [salvation_caster.GetSheHe] has saved me from the brink of death, although passed on [salvation_caster.GetHerHim]self." + wc_magic_spell_events.1000.desc.death_childbirth:0 "The last thing I remember is the agonizing pain of my child being ripped from my womb, and everything plunging into total darkness." + wc_magic_spell_events.1000.desc.death_duel:0 "The last thing I remember is the cold steel of my opponent's blade piercing my heart, my blood running cold, and the screams of the bystanders." + wc_magic_spell_events.1000.desc.death_execution:0 "I can still see the dirt ground beneath my knees, the sharp edge of the executioner's blade, and women covering the eye's of their children, as my death was supposed to be a lesson to all." + wc_magic_spell_events.1000.desc.death_dungeon:0 "For a moment, I touch my hands to see if my chains are still attached, but they are not. My stomach no longer growls, and the rats no longer nibble at my toes, but it was like that for so long that I can't help but feel like I am still there, and that I should be dead." + wc_magic_spell_events.1000.desc.death_battle:0 "The battlefield is long gone from my sight, but the screams of the dying and the smell of blood still linger in my mind. I remember being trampled, struck down by a foe, yet all I can feel is warmth." + wc_magic_spell_events.1000.desc.death_stress:0 "I think back to the moment when I felt my heart racing, my breath quickening, and my mind clouding. I collapsed to the ground, and even in a vulnerable state, the worries of the world still plagued me." + wc_magic_spell_events.1000.desc.death_illness:0 "I remember the pain, the fever, the coughing, and the sweat. I remember the healer's words, the family's tears, and the children's fear. I remember the darkness, the cold, and the silence." + wc_magic_spell_events.1000.desc.death_none:0 "I remember nothing, only the feeling of my body slowly shutting down, and the darkness that enveloped me." + wc_magic_spell_events.1000.desc.middle:0 "As I feel the warmth of the Light upon me, I realize that I have not passed on, but something else has happened." + wc_magic_spell_events.1000.desc.light_idolised:0 "As a believer in the Light, I am saved by its divine power, at the mercy of [salvation_caster.GetFirstNameNoTooltip]." + wc_magic_spell_events.1000.desc.light_ok:0 "Though having some reverence in the light, I am further impressed by its power, as well as the power of [salvation_caster.GetFirstNameNoTooltip]." + wc_magic_spell_events.1000.desc.nonbeliever:0 "The power that saves me is not one I am familiar with, but I am grateful for it nonetheless." + wc_magic_spell_events.1000.desc.bad:0 "While holding contempt for all things related to the Light, I must falter as I am saved by its power, wielded by [salvation_caster.GetFirstNameNoTooltip]." + wc_magic_spell_events.1000.desc.none:0 "Though not very fond of the Light, I am saved by its power, wielded by [salvation_caster.GetFirstNameNoTooltip]." + wc_magic_spell_events.1000.a:0 "I have conquered death." + wc_magic_spell_events.1000.b:0 "It was my time to go." + + wc_magic_spell_events.1001.desc:0 "I am shown a vision of [saved_character.GetFirstName] entering [ROOT.Char.GetFaith.NegativeAfterLife], struggling as [saved_character.GetSheHe] makes [saved_character.GetHerHis] descent. After all this time, did my magic not save [saved_character.GetHerHim] at all?\n\nSuddenly, I am transported into another vision of [saved_character.GetFirstName] getting pulled away, seemingly by a strong beam of light. They return to the world of the living, and at my behest..." + wc_magic_spell_events.1001.a:0 "[saved_character.GetFirstName] will live." + + wc_magic_spell_events.1002.desc:0 "My attempt on [saved_character.GetNamePossessive] life has not only failed, but miserably. Right at the moment of [saved_character.GetHerHis] planned death, [saved_character.GetSheHe] is suddenly returned to the world of the living, "saved" by a strong beam of light. I am left to wonder I am not as powerful as I thought, or if it was simply not [saved_character.GetFirstName]'s time to go." + wc_magic_spell_events.1002.a:0 "Lives... are not mine to take." + + wc_magic_spell_events.1003.desc:0 "After hearing of [saved_character.GetNamePossessive] death, I am left to wonder if my magic was not enough to save [saved_character.GetHerHim]. \n\nAll I can hope, is that [saved_character.GetFirstName] is not in [ROOT.Char.GetFaith.NegativeAfterLife], but instead, in a better place.\n\nWas it really [saved_character.GetHerHis] time? Did [saved_character.GetSheHe] choose to go?" + wc_magic_spell_events.1003.a:0 "I have failed." + + wc_magic_spell_events.1004.desc:0 "I awaken, and something feels... different.\n\nThe cryptic stench that once surrounded me is gone, and I feel a warmth that I have not felt in a long time. I am no longer bound to the darkness, and I am free to roam the world... as a living being, once more. [salvation_caster.GetFirstName] has brought me back...\n\nBut is this where I belong?" + wc_magic_spell_events.1004.a:0 "I am unbound." + wc_magic_spell_events.1004.a_sus:0 "Is the land of the living right for me?" + + wc_magic_spell_events.1005.desc:0 "I am left in awe as I envision [saved_character.GetNamePossessive] body transform, [saved_character.GetHerHis] flesh beginning to flow with blood and life once more, and the stench of death fading away.\n\n[saved_character.GetFirstName] is saved from the clutches of undeath, and I am left to wonder if it was my magic that saved [saved_character.GetHerHim], or if it was something else entirely." + wc_magic_spell_events.1005.a:0 "[saved_character.GetFirstName] is unbound." + + wc_magic_spell_events.2000.title:0 "The Void Leader" + wc_magic_spell_events.2000.desc:0 "My magic has worked! [void_leader.GetName] bows to me, ready to serve in my ranks. [void_leader.GetSheHe|U] is quite the skilled commander I needed, and is well versed in the realm of Shadow magic..." + wc_magic_spell_events.2000.desc_caster:0 "A [void_leader.GetWomanMan] enters my presence, saying that [void_leader.GetSheHe] was summoned to me at the behest of [void_leader_caster.GetName].\n\n[void_leader.GetSheHe|U] explains [void_leader.GetHerHis] affinity for shadow magic, and how [void_leader.GetSheHe] could possibly be of use to me..." + wc_magic_spell_events.2000.a:0 "Welcome, [void_leader.GetFirstNameNoTooltip]!" + wc_magic_spell_events.2000.b:0 "You shall not enter my realm..." + void_leader_rejected:0 "Void Leader Rejected" + void_leader_rejected_desc:0 "[void_recipient.GetName] has decided not to accept [void_recipient.GetHerHis] summoned Void Leader, [void_leader.GetName]." + void_leader_accepted:0 "Void Leader Accepted" + void_leader_accepted_desc:0 "[void_recipient.GetName] has accepted [void_recipient.GetHerHis] summoned Void Leader, [void_leader.GetName]." + + wc_magic_spell_events.2100.desc:0 "Alas, the time of service for my void leader, [void_leader.GetName] has ended. [void_leader.GetSheHe|U] may now be free to return to the endless void, perhaps one day returning to Azeroth." + wc_magic_spell_events.2100.a:0 "Goodbye, [void_leader.GetFirstName]." + + wc_magic_spell_events.2200.title:0 "Voidborne" + wc_magic_spell_events.2200.desc:0 "The void energy beckons within me, and I hear [voidborne_person.GetFirstNamePossessive] screams as [voidborne_person.GetSheHe] is pulled into the Nether which grants me my power. In a way, [voidborne_person.GetSheHe] is now a part of me,yet I siphon [voidborne_person.GetHerHis] essence to fuel my magic." + wc_magic_spell_events.2201.opt:0 "Into the darkness [voidborne_person.GetSheHe] goes." + + wc_magic_spell_events.2202.desc:0 "I am sent into a dark plane of existence, where I see [voidborne_tormentor.GetFirstNamePossessive] face, twisted with shadows. [voidborne_tormentor.GetSheHe|U] whispers to me, and it seems like [voidborne_tormentor.GetHerHis] voice is coming from all directions.\n\nI find myself in a trance, and when I awake, I am far from home. Above me is a sea of endless stars, a bountiful void waiting to be explored. But alas, I am paralyzed, unable to move, and I can only watch as the void consumes me. Though I know I have not faced death, the feeling is almost tantalizing.\n\nA vision of [voidborne_tormentor.GetFirstName] appears before me, and [voidborne_tormentor.GetSheHe] speaks to me, saying that [voidborne_tormentor.GetSheHe] has granted me a gift, and that [voidborne_tormentor.GetSheHe] destroys my very essence for power." + wc_magic_spell_events.2202.a:0 "You will rue this day, [voidborne_tormentor.GetFirstName]." + wc_magic_spell_events.2202.b:0 "Curse you, [voidborne_tormentor.GetFirstName]!" + wc_magic_spell_events.2202.c:0 "This prison cannot hold me!" + wc_magic_spell_events.2202.c.tt:0 "You try to escape earlier." + wc_magic_spell_events.2202.c.a:0 "You fail to break free." + wc_magic_spell_events.2202.c.b:0 "Your attempt helps a bit" + wc_magic_spell_events.2202.c.b.tt:0 "You have a 75% chance to escape in #V 3#! months instead of #V 3#!." + wc_magic_spell_events.2202.c.d:0 "You break free!" + wc_magic_spell_events.2202.c.d.tt:0 "You escape the void." + wc_magic_spell_events.2202.tt:0 "You have a 50% chance to escape in #V 3#! months." + + wc_magic_spell_events.2203.title:0 "Void Prison" + wc_magic_spell_events.2203.desc_return_dead:0 "My tormentor has died! I am free to return to the world of the living, but I am left to wonder if I am truly free from the void's grasp." + wc_magic_spell_events.2203.desc_return:0 "Suddenly, I feel the void's grasp loosen, and I am free to return to the world of the living." + wc_magic_spell_events.2203.desc_stuck:0 "Despite all my efforts, and endless suffering, I am still trapped within the void, unable to escape." + wc_magic_spell_events.2203.a:0 "Curses!" + wc_magic_spell_events.2203.b:0 "I am free!" + wc_magic_spell_events.2204.title:0 "Imprisoned No More" + wc_magic_spell_events.2204.desc:0 "My prisoner has escaped the void, and I fear that they might seek revenge upon their return..." + + wc_magic_spell_events.2400.title: "The Cycle Begins" + wc_magic_spell_events.2400.desc: "The void calls out to me, and I feel the darkness within me grow. I am drawn to the void, and I feel the pull of the Nether.\n\nI look upon my realm, my people, and hope they serve me well in this cycle." + wc_magic_spell_events.2400.opt: "..." + + wc_magic_spell_events.2401.desc: "My liege, [master.GetName] has started an [Concept('Ascension Cycle', 'wc_spell_ascension')|E] and I am expected to serve [master.GetHerHim] at this time.\n\nFor each [Concept('wc_ascension_action', 'Ascension Action')|E], I complete, [master.GetSheHe] grows ever stronger.\n\nIf I serve [master.GetHerHim] well, I may be rewarded..." + wc_magic_spell_events.2401.opt: "Let us see what the future holds." + + wc_magic_spell_events.2410.title: "The Cycle Continues" + wc_magic_spell_events.2410.desc_first: "My first ascendant! I am almost giddy with excitement, dreaming of the power I'll have when the cycle ends. " + wc_magic_spell_events.2410.desc: "[ascended.GetName] has completed enough [Concept('wc_ascension_action', 'actions')|E] to heed my power! Now, what shall I reward [ascended.GetHerHim] with?" + wc_magic_spell_events.2410: "Ascendant's Boon" + wc_magic_spell_events.2410.a: "Magical Power!" + wc_magic_spell_events.2410.b: "Physical Power!" + wc_magic_spell_events.2410.c: "With the power of the void!" + wc_magic_spell_events.2410.d: "With honor!" + wc_magic_spell_events.2410.e: "With funds!" + + wc_magic_spell_events.2420.title: "The Cycle Ends" + wc_magic_spell_events.2420.desc: "At long last, my quest for power is complete. My people have served me well.\n\nMy most powerful ascendant, [PlayerGetVar('top_ascendant').Char.GetName], served me the best, and will be rewarded appropriately. In total, I ascended [PlayerGetVar('wc_ascends').GetValue|V0] of my denizens, hopefully for the betterment of my realm..." + wc_magic_spell_events.2420.opt: "Until the next cycle..." + wc_magic_spell_events.2420: "Top Ascendant" + + please_old_ones_effect.tt: "#bold You please the old ones, making it easier to resist them in the future...#!" + displease_old_ones_effect_tt: "#bold The more you resist, the harder it gets...#!" + + wc_magic_spell_events.2600.title: "Whispers: A Grim Request" + wc_magic_spell_events.2600.desc: "I awaken from my slumber, and find my mind in the midst of the void again. The whispers are back, and they are stronger than ever. They tell me to do something... something terrible.\n\nI see the face of my [ROOT.Char.Custom2('RelationToMeShort', SCOPE.sC('whispers_target'))], [whispers_target.GetFirstName], and then... \n\n[whispers_target.GetHerHis|U] demise." + + wc_magic_spell_events.2600.report: "Whispers: A Grim Request" + wc_magic_spell_events.2600.report_tt: "The Whispers have caused your victim to fell [victim.GetHerHis] own kin..." + wc_magic_spell_events.2600.a: "As you wish, old one..." + wc_magic_spell_events.2600.b: "No, that is my flesh and blood!" + wc_magic_spell_events.2600.c: "[whispers_target.GetSheHe|U] will perish!" + wc_magic_spell_events.2600.d: "I am a necromancer, [whispers_target.GetHerHis] death is just the beginning..." + wc_magic_spell_events_whispers_success: "You are able to overcome the whispers" + wc_magic_spell_events_whispers_failure: "The Whispers overpower you" + + wc_magic_spell_events.2610.title: "Whispers: Enchanting Touch" + wc_magic_spell_events.2610.desc: "I find myself entangled in [seducer.GetFirstNamePossessive] arms. [seducer.GetSheHe|U] whispers sweet nothings in my ear, and I am lost in [seducer.GetHerHis] embrace.\n\nBut, [seducer.GetHerHis] touch feels off, becoming colder and darker. I realize that [seducer.GetSheHe] is not who [seducer.GetSheHe] seems to be, and that [seducer.GetSheHe] is not here to love me, but to consume me... whole.\n\nInside, I welcome [seducer.GetHerHis] touch, but I know that I must not succumb to [seducer.GetHerHis] dark desires." + wc_magic_spell_events.2610.a: "Our love is forbidden..." + wc_magic_spell_events.2610.b: "I need your touch!" + wc_magic_spell_events.2610.report: "Whispers: Enchanting Touch" + wc_magic_spell_events.2610.report_tt: "The Whispers have caused your victim to fall for a dark seducer..." + + wc_magic_spell_events.2620.title: "Whispers: The Accused" + wc_magic_spell_events.2620.desc: "[courtier.GetFirstName] has been more suspicious than usual, and every time I glance towards [courtier.GetHerHim], [courtier.GetSheHe] looks away. A dark energy radiates from [courtier.GetHerHim], and [courtier.GetSheHe] seems to be hiding something.\n\nThe whispers tell me that [courtier.GetFirstName] is a traitor, and that [courtier.GetSheHe] must be dealt with. But, is [courtier.GetSheHe] truly guilty, along with their family?" + wc_magic_spell_events.2620.a: "[courtier.GetFirstNamePossessiveNoTooltip] family must pay..." + wc_magic_spell_events.2620.b: "I will not accuse [courtier.GetFirstNameNoTooltip]!" + wc_magic_spell_events.2620.report: "Whispers: The Accused" + wc_magic_spell_events.2620.report_tt: "The Whispers have caused your victim to accuse an innocent courtier..." + + wc_magic_spell_events.2630.title: "Whispers: Heat of the Moment" + wc_magic_spell_events.2630.desc: "I am in the midst of a heated argument with [courtier.GetFirstName], and the whispers are back. I try to not bve quick to anger, but [courtier.GetFirstNamePossessiveNoTooltip] has seemingly pushed me too far.\n\nThe whispers tell me to strike, and I do.\n\nThe feeling of [courtier.GetHerHis] blood on my hands is exhilarating, but I know that I have done something terrible." + wc_magic_spell_events.2630.a: "It must continue..." + wc_magic_spell_events.2630.b: "I must be punished..." + wc_magic_spell_events.2630.c: "[courtier.GetFirstNameNoTooltip] does not deserve this!" + wc_magic_spell_events.2630.report: "Whispers: Heat of the Moment" + wc_magic_spell_events.2630.report_tt: "The Whispers have caused your victim to strike their loved one" + wc_magic_spell_events.2630.report_2_tt: "The Whispers have caused your victim to strike themselves" + + wc_magic_spell_events.2640.title: "Whispers: A Suspicious Trinket" + wc_magic_spell_events.2640.desc: "These whispers have plagued me for too long, and I am desperate to be rid of them. I look towards [destroyed_artifact.GetName], and wonder if it is the source of my torment." + wc_magic_spell_events.2640.report: "Whispers: A Suspicious Trinket" + wc_magic_spell_events.2640.a: "I must destroy it..." + wc_magic_spell_events.2640.report_tt: "The Whispers have caused your victim to destroy one of their possessions" + wc_magic_spell_events.2640.success: "The whispers quiet" + wc_magic_spell_events.2640.failure: "Your theory is incorrect" + wc_magic_spell_events.2640.b: "Whispers or not, I cannot destroy a possession..." + wc_magic_spell_events.2640.report_2_tt: "The Whispers have caused your victim stress" + + wc_magic_spell_events.2650.title: "Whispers: The Price of Sanity" + wc_magic_spell_events.2650.report: "Whispers: The Price of Sanity" + wc_magic_spell_events.2650.desc: "The whispers have grown stronger, and I am at my wit's end. I know that I must do something, but I am not sure what.\n\nA pot of gold sits before me, shimmering in the light. The whispers tell me that if I sacrifice it, they will leave me be. But, losing the gold would mean losing my fortune..." + wc_magic_spell_events.2650.a: "My riches are the key to my sanity..." + wc_magic_spell_events.2650.b: "I don't have to give it all up..." + wc_magic_spell_events.2650.report_tt: "The Whispers have caused your victim to sacrifice their wealth" + wc_magic_spell_events.2660.disease: "#n;bold [victim.GetShortUIName|U] [Select_CString( victim.IsLocalPlayer, 'contract', 'contracts' )] a deadly, contagious disease.#!" + + wc_magic_spell_events.2660.title: "Whispers: The Slow Burn" + wc_magic_spell_events.2660.report: "Whispers: The Slow Burn" + wc_magic_spell_events.2660.desc: "I feel my stomach turn, and I know that I have been poisoned. The whispers tell me that it is my own doing, and that I must suffer for my sins.\n\nI know that I must act quickly, or I will be consumed by the poison." + wc_magic_spell_events.2660.a: "It must consume me..." + wc_magic_spell_events.2660.b: "I must find a cure!" + wc_magic_spell_events.2660.report_tt: "The Whispers have caused your victim to poison themselves" + + wc_magic_spell_events.2798.title: "Whispers: The Final Act" + wc_magic_spell_events.2798.desc: "The whispers have begun to phase out, and I am left with a sense of dread. I have one final, long, tormented dream, and then I know that the whispers will be gone for good." + wc_magic_spell_events.2798.a: "..." + wc_magic_spell_events.2798.peace: "The whispers end peacefully" + wc_magic_spell_events.2798.peace_tormentor: "The whispers end peacefully for your victim" + wc_magic_spell_events.2798.death: "The whispers consume your being" + wc_magic_spell_events.2798.insane: "The whispers drive you insane" + wc_magic_spell_events.2798.insane_tormentor: "The whispers drive your victim insane" + wc_magic_spell_events.2798.stupid: "The whispers dull your mind" + wc_magic_spell_events.2798.stupid_tormentor: "The whispers dull your victim's mind" + wc_magic_spell_events.2798.religion: "You follow the Old Gods" + wc_magic_spell_events.2798.religion_tormentor: "Your victim follows the Old Gods" + wc_magic_spell_events.2798.magic: "The whispers cripple your magic" + wc_magic_spell_events.2798.magic_tormentor: "The whispers cripple your victim's magic" \ No newline at end of file diff --git a/localization/english/event_localization/wc_suramar_events_l_english.yml b/localization/english/event_localization/wc_suramar_events_l_english.yml index c36fa0b996..86fa58d988 100644 --- a/localization/english/event_localization/wc_suramar_events_l_english.yml +++ b/localization/english/event_localization/wc_suramar_events_l_english.yml @@ -9,7 +9,7 @@ l_english: wc_suramar_city_modifier: "City Renovations" wc_suramar_city_modifier_desc: "This city is undergoing massive a massive development project, with new buildings and districts being constructed." wc_suramar_ruler_modifier: "Anointed Ruler" - wc_suramar_ruler_modifier_desc: "This character is harnessing their wisdom in order to grow more powerful." + wc_suramar_ruler_modifier_desc: "This character is harnessing their wisdom in order to grow more powerful.\n[wc_mana_regeneration|E]: @wc_full_mana_icon! #P +1#!" wc_suramar_events.001.a: "It's time to focus on building the city." wc_suramar_events.001.b: "My power is all that matters." @@ -97,7 +97,7 @@ l_english: wc_suramar_events.0012.outsider_1:0 "Come with me, strange creature..." wc_suramar_events.0012.outsider_2:0 "What are you? Die!" wc_suramar_studying_monsters_modifier:0 "Studying Monsters" - wc_suramar_studying_monsters_modifier_desc:0 "This character is studying a corpse of an unknown entity found in their vaults, and is benefiting from the research." + wc_suramar_studying_monsters_modifier_desc:0 "This character is studying a corpse of an unknown entity found in their vaults, and is benefiting from the research.\n[wc_magical_prowess|E] #P +3#!" wc_suramar_events.0112.desc_nightfallen_outro:0 "This elf, however, is not unfamiliar to me. Yes, [secondary_character.GetFirstName] was once of Suramar, but had left the land. Is this what happens to those who venture out?" wc_suramar_events.0012.nightfallen_1:0 "Elf, come with me." wc_suramar_events.0012.nightfallen_2:0 "Die, wretched creature!" @@ -179,7 +179,7 @@ l_english: wc_suramar_events.0044.b_fail:0 "The crystals shatter in your hands" wc_suramar_events.0044.c:0 "I'm getting hungry.." wc_suramar_mana_crystals_modifier:0 "Mana Crystals" - wc_suramar_mana_crystals_modifier_desc:0 "This character found a cache of mana crystals in the tunnels." + wc_suramar_mana_crystals_modifier_desc:0 "This character found a cache of mana crystals in the tunnels.\n[wc_max_mana|E]: @wc_full_mana_icon!#P +15%#!" wc_suramar_events.0044.c_tt:0 "You munch on the corpse of [corpse.GetFirstName]" wc_suramar_events.0050.t:0 "A Dark Omen" @@ -201,7 +201,7 @@ l_english: wc_suramar_events.0060.c:0 "I'll take another glass, thank you." wc_suramar_events.0060.d:0 "Offering random strangers drinks? How foolish." wc_suramar_good_drink_modifier:0 "Tasty Arcwine" - wc_suramar_good_drink_modifier_desc:0 "This character has tasted a delicious arcwine, and is in a good mood." + wc_suramar_good_drink_modifier_desc:0 "This character has tasted a delicious arcwine, and is in a good mood.\n$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_suramar_drink_current_mana_to_prowess_value')|0%=+]" wc_suramar_supporting_arcwinists_modifier:0 "Supporting Arcwinists" wc_suramar_supporting_arcwinists_modifier_desc:0 "This character is supporting the cultivation of arcwine, and will serve it at their next feast.\n[GetActivityType( 'activity_feast' ).GetName] Cost: #p -25%#!" MODIFIER_DESC_wc_suramar_supporting_arcwinists_modifier:0 "[GetModifier('wc_suramar_supporting_arcwinists_modifier').GetNameWithTooltip]" @@ -332,10 +332,10 @@ l_english: wc_suramar_events.1000.b_tt_dom:0 "You travel to [GetTitleByKey('c_meredil').GetName] to see the Arcan'dor tree with your [domicile|E]." wc_suramar_blessing_arcandor_modifier:0 "Blessing of the Arcan'dor" - wc_suramar_blessing_arcandor_modifier_desc:0 "This character has been blessed by the Arcan'dor tree, and is benefiting from its power." + wc_suramar_blessing_arcandor_modifier_desc:0 "This character has been blessed by the Arcan'dor tree, and is benefiting from its power.\n[wc_magical_prowess|E] #P +5#!" wc_suramar_sacrifice_arcandor_modifier:0 "Sacrifice of the Arcan'dor" - wc_suramar_sacrifice_arcandor_modifier_desc:0 "This character has sewn the seed of the Arcan'dor tree, and is benefiting from its power." + wc_suramar_sacrifice_arcandor_modifier_desc:0 "This character has sewn the seed of the Arcan'dor tree, and is benefiting from its power.\n[wc_spell|E] Cast Time: @wc_spell_icon!#P -15%#!" wc_suramar_events.1002.t:0 "The Great Mana Tree" wc_suramar_events.1002.desc:0 "As I walk into the tunnel connecting Meredil to Falanaar, I am almost blinded by the light of the Arcan'dor tree. Its roots are deep, and its branches are wide, and its mana flows through the air.\n\nThe Fal'dorei and the Withered alike are gathered around the tree, and they are in awe of its power. They are no longer cursed, and they are no longer twisted." diff --git a/localization/english/gui/wc_gui_l_english.yml b/localization/english/gui/wc_gui_l_english.yml index 7c71773c28..6ff997fe6c 100644 --- a/localization/english/gui/wc_gui_l_english.yml +++ b/localization/english/gui/wc_gui_l_english.yml @@ -28,10 +28,8 @@ DARK_FRENZY_NEXT_LEVEL_TOOLTIP:1 "Next [dark_authority|E] level at [Scope.ScriptValue( 'dark_frenzy_next_level_value' )|0|V]" MONTHLY_DARK_FRENZY_TOOLTIP:0 "Yearly [dark_frenzy|E]" - MONTHLY_DARK_FRENZY_LIST:0 "$MONTHLY_DARK_FRENZY_LAW$\n$MONTHLY_DARK_FRENZY_REALM$" - - MONTHLY_DARK_FRENZY_LAW:1 "From [dark_authority|E]: [Scope.ScriptValue( 'yearly_dark_frenzy_decay_law_value' )|1|V]" - MONTHLY_DARK_FRENZY_REALM:1 "[realm_size|E]: #V x[Scope.ScriptValue( 'yearly_dark_frenzy_decal_realm_value' )|1]#!" + MONTHLY_DARK_FRENZY_LAW:1 "From [dark_authority|E]" + MONTHLY_DARK_FRENZY_REALM:1 "From [realm_size|E]" MONTHLY_DARK_FRENZY_TOTAL:1 "Total: [Scope.ScriptValue( 'yearly_dark_frenzy_total_value' )|1|V]" diff --git a/localization/english/gui/wc_magic_gui_l_english.yml b/localization/english/gui/wc_magic_gui_l_english.yml new file mode 100644 index 0000000000..f78eb85dd4 --- /dev/null +++ b/localization/english/gui/wc_magic_gui_l_english.yml @@ -0,0 +1,196 @@ +l_english: + CAST_SPELL_TEXT:0 "Cast Spell" + CAST_SPELL_tt:0 "#P Open your spellbook, and set this character as the main target of your spell.#!" + SPELLBOOK_HEADER_TEXT:0 "Spellbook" + SPELLBOOK_HEADER_TEXT_SPELLHACK:0 "Using Arcane Perk: Spell Hack to an learn eligible spell for free.\nYour spellbook will return to normal once a spell is picked." + SPELLBOOK_HEADER_TEXT_PRESENCE_OF_MIND:0 "Using Arcane Perk: Presence of Mind to reduce the cooldown of a spell by 50%.\nYour spellbook will return to normal once a spell is picked or you use [GetDecisionWithKey('deactivate_presence_of_mind_decision').GetName]." + SPELLBOOK_HEADER_TEXT_REVERSE_CAUSALITY:0 "Using Arcane Perk: Reverse Causality to put a spell on cooldown and increase\nyour max mana for 10% for each year of the cooldown.\nYour spellbook will return to normal once a spell is picked or you use [GetDecisionWithKey('deactivate_reverse_causality_decision').GetName]." + LEARN_SPELL_TEXT:0 "Learn Spell" + COOLDOWN_SPELL_TEXT:0 "Reduce Cooldown" + REVERSE_CAUSALITY_TEXT:0 "Reverse Causality" + REDUCE_SPELL_CD:0 "Reduce [Concept(Concatenate('wc_spell_', PlayerGetVar('current_spell_name').GetFlagName), Localize(Concatenate(Concatenate('game_concept_', 'wc_spell_'), PlayerGetVar('current_spell_name').GetFlagName)))|E] Cooldown" + REVERSE_SPELL_CAUSALITY:0 "Reverse [Concept(Concatenate('wc_spell_', PlayerGetVar('current_spell_name').GetFlagName), Localize(Concatenate(Concatenate('game_concept_', 'wc_spell_'), PlayerGetVar('current_spell_name').GetFlagName)))|E] Causality" + SPELL_DESCRIPTION:0 "Description" + SPELL_TYPE:0 "Spell Type" + UNDEAD_TYPE:0 "Undead Type" + SPELLS_BUTTON:0 "Spells" + SPELL_TARGETS:0 "Targets" + SPELL_EFFECTS:0 "Effects" + CLASSES_BUTTON:0 "Classes" + ELEMENTAL_TYPE_TEXT:0 "Elemental Type" + CHOOSE_ET_TEXT:0 "Choose $ELEMENTAL_TYPE_TEXT$" + CHOOSE_SR_TEXT:0 "Choose $SPELL_RANK_TEXT$" + CHOOSE_TITLE_TEXT:0 "Choose [title|E]" + CHANGE_TITLE_TEXT:0 "Change/Add [title|E]" + CHOOSE_DESTINATION_TEXT:0 "Choose [Concept('title', 'Destination')|E]" + CHANGE_DESTINATION_TEXT:0 "Change [Concept('title', 'Destination')|E]" + CHOOSE_ARMY_TEXT:0 "Choose [army|E]" + CHANGE_ARMY_TEXT:0 "Change [army|E]" + SPELL_TARGET_TEXT:0 "Choose Spell Target" + SPELL_TARGET_GENERIC_TEXT:0 "Choose a target valid under [GetPlayer.MakeScope.Var('original_recipient').Char.GetName] to cast on." + SPELL_TARGET_GENERIC_TEXT_PORTAL:0 "Choose a destination to teleport your target(s) to. If the destination is not a [barony|E], you will be able to choose a [barony|E] under the chosen [title|E]." + SPELL_TARGET_TEXT_PORTAL:0 "Current [title|E]: [GetPlayer.MakeScope.Var( 'current_destination' ).Title.GetName]" + SHOW_ALL_TITLES_TEXT:0 "Show all [titles|E]" + SHOW_PREVIOUS_TITLE_TEXT:0 "Previous [title|E]" + ARMY_OWNER_TEXT:0 "#bold [Army.GetOwner.GetNamePossessiveNoTooltip]#! Army" + ARMY_COMMANDER_TEXT:0 "#bold Commander:#! [Army.GetCommander.GetNameNoTooltip]" + SELECT_TITLE_TEXT:0 "Select Title" + SELECT_ARMY_TEXT:0 "Select Army" + COMMANDER_ADVANTAGE_TEXT:0 "[advantage|E]:" + SPELL_RANK_TEXT:0 "Spell Rank" + SPELL_DIRECTLY_HELD:0 "Only directly held [titles|E]" + CHOOSE_TARGET_TEXT:0 "#italic No target or [wc_spell_rank|E] chosen.#!" + CHOOSE_SPELL_TEXT:0 "#warning You must choose a spell before choosing a target.#!" + CHOOSE_CLASS_TEXT:0 "#warning You must choose a spell class before choosing a spell.#!" + SPELL_NO_TITLES:0 "No valid or held [titles|E]." + SPELL_NO_ARMIES:0 "No valid [armies|E]." + ADD_NEW_TARGET:0 "Add New Target" + CLICK_TO_REMOVE_TT:0 "#n Click to remove this target.#!" + CLICK_TO_SELECT_TT:0 "#p Click to select this target.#!" + REC_TARGETS:0 "#italic Recommended Targets#!" + USE_CHAR_FINDER:0 "Find More Targets" + USE_CHAR_FINDER_TOOLTIP: "Use the Character Finder to find more targets." + SPELL_ELIGIBLE_TARGETS:0 "Only Eligible Targets" + SPELL_ELIGIBLE_TARGETS_TOOLTIP: "Only show characters that can be targeted by the spell." + MANA_COST_TEXT:0 "@wc_full_mana_icon! [GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_', Concatenate(Scope.GetFlagName, '_cost_mana_value')))]" + MANA_COST_TEXT_PER_MONTH:0 "@wc_half_mana_icon! [GetPlayer.MakeScope.ScriptValue(Concatenate('wc_spell_', Concatenate(Scope.GetFlagName, '_cost_mana_value')))|2] per month" + MP_VALUE_TEXT:0 "@wc_magical_prowess_icon! $CURRENT_MP_AMOUNT_LINE$" + + CASTING_TEXT:0 "Casting: [Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + CD_TEXT:0 "On Cooldown: [Localize(Concatenate('game_concept_wc_spell_', Scope.GetFlagName))]" + SPELL_CD_CT:0 "Time Values" + SPELL_CD_TEXT:0 "#bold Cooldown:#! #game_link [GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_spell_', Scope.GetFlagName), '_cooldown_value'))] days#!" + NO_CD_TEXT:0 "#bold Cooldown:#! #P None#!" + NO_CT_TEXT:0 "#bold Cast Time:#! #P Instant#!" + SPELL_CT_TEXT:0 "#bold Cast Time:#! #game_link [GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_spell_', Scope.GetFlagName), '_cast_time_value'))] days#!" + SPELL_DUR_TEXT:0 "#bold Duration:#! #game_link [GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_spell_', Scope.GetFlagName), '_duration_days_value'))] days#!" + CURRENT_TARGET_TEXT:0 "Current Target(s)" + wc_mana_rank_1_value_desc:0 "$magic_gui_rank_1$" + wc_mana_rank_2_value_desc:0 "$magic_gui_rank_2$" + wc_mana_rank_3_value_desc:0 "$magic_gui_rank_3$" + spell_max_stacks_trigger:0 "A target already has the maximum stacks of chosen spell." + unknown_spell_trigger:0 "You don't haven't learned this spell yet." + HOLDER_MR_TEXT:0 "[Localize(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance'))]" + HOLDER_MR_VALUE:0 "[GetPlayer.MakeScope.Var( 'spell_recipient' ).Title.GetHolder.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + COMMANDER_MR_LABEL:0 "[Localize(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance'))]" + COMMANDER_MR_TEXT:0 "#bold [Localize(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance'))]#! [Army.GetCommander.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + MULTI_HOLDER_MR_TEXT:0 "#bold Holder [Localize(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance'))]#! [Scope.Title.GetHolder.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + CURRENT_MR_TEXT:0 "#bold [Localize(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance'))]#! [Character.MakeScope.ScriptValue(Concatenate(Concatenate('wc_', PlayerGetVar('current_spell_class').GetFlagName), '_magic_resistance_value'))]" + REMAINING_CT_TEXT:0 "#bold Remaning Cast Time:#! [GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_progress_remaining')).GetValue] days" + REMAINING_CD_TEXT:0 "#bold Remaning Cooldown:#! [GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_cd')).GetValue] days" + MAGIC_VIEW_FOREIGN_COUNTY:0 "[county|E] #n not#! in your [realm|E]" + magic_gui_decay:0 "Decay" + magic_gui_spirit:0 "Spirit" + magic_gui_rank_1:0 "Rank 1" + magic_gui_rank_2:0 "Rank 2" + magic_gui_rank_3:0 "Rank 3" + CANCEL_CAST_BUTTON:0 "Cancel Cast" + CHANNELED_SPELLS_TEXT:0 "[wc_spell_type_channeled|E] Spells" + + + wc_magic_cast_spell_interaction:0 "Cast Spell" + wc_magic_cast_spell_interaction_tt:0 "You will open your spellbook to select a spell." + wc_magic_cast_spell_interaction_tt_r:0 "[recipient.GetShortUIName] will be the starting target of your spell." + + spell_cast_complete_title:0 "Spell cast Complete" + spell_cast_complete_desc:0 "The spell [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('casted_spell').GetFlagName))] has completed its casting." + + spell_cast_cancel_title:0 "Spell cast Cancelled" + spell_cast_cancel_desc:0 "The cast of [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('cancelled_spell').GetFlagName))] has been cancelled." + + spell_cast_on_you_title:0 "Spell casted on you!" + spell_cast_on_you_desc:0 "The spell [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('on_casted_spell').GetFlagName))] was casted on you or one of your provinces from [caster.GetShortUIName|E]." + + NOT_UNLOCKED:0 "Not Unlocked" + ANIMATE_RAGE_TEXT:0 "#n Animate Rage#!" + animate_rage_complete:0 "Animate Rage Complete" + + wc_flamestrike_duration_value_desc:0 "Total duration for all stacks" + + + # Sidebar + MAGIC_WINDOW_TITLE:0 "Magic" + MONITOR_TEXT:0 "Monitor" + CURRENT_CASTING_SPELLS_TEXT:0 "Currently Casting Spells" + NO_CAST_SPELLS_TEXT:0 "You aren't currently casting any spells." + CURRENT_CD_SPELLS_TEXT:0 "Spells on Cooldown" + NO_CD_SPELLS_TEXT:0 "You don't have any spells on cooldown." + CURRENT_SPELL_TEXT:0 "Current Spells" + DAYS_UNTIL_FINISH:0 "Days Until Finished: [GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_progress_remaining')).GetValue]" + SPELL_TARGETS_TEXT:0 "Spell Target(s):" + DAYS_UNTIL_OFF_CD:0 "Cooldown Remaining: [GetPlayer.MakeScope.Var(Concatenate(Scope.GetFlagName, '_cd')).GetValue] days" + STATISTICS_TEXT:0 "Statistics" + MAGIC_RESISTANCE_TEXT:0 "Magic Resistance" + MAGIC_RESISTANCE_SCOPE_TEXT:0 "[Localize(Concatenate(Concatenate('wc_', Scope.GetFlagName), '_magic_resistance'))]\n\n" + KNOWN_SPELLS_TEXT:0 "Known Spells" + KNOWN_RANK_2_SPELLS_TEXT:0 "Known Rank 2 Spells:" + KNOWN_RANK_3_SPELLS_TEXT:0 "Known Rank 3 Spells:" + NONE_TEXT:0 "#italic;weak None#!" + SPELL_IN_LIST_TEXT:0 "$BULLET$ #underline [Localize(Concatenate('game_concept_wc_spell_',Scope.GetFlagName))] #!" + CASTS_COMPLETED_TEXT:0 "Casts Completed" + MOST_CASTED_SPELL_CLASS_TEXT:0 "Most Casted [wc_spell_school|E]" + MOST_CASTED_SPELL_CLASS_COUNT:0 "[Localize(Concatenate('game_concept_wc_spell_school_', PlayerGetVar('first_place_spell_class').GetFlagName))] Casts" + MOST_CASTED_SPELL_TEXT:0 "Most Casted [wc_spell|E]" + MOST_CASTED_SPELL_COUNT:0 "[Localize(Concatenate('game_concept_wc_spell_',PlayerGetVar('top_casted_spell').GetFlagName))] Casts" + LAST_SPELL_CASTED_TEXT:0 "Last Spell Casted" + LAST_SPELL_CASTED_CLASS_TEXT:0 "Last Casted [wc_spell_school|E]" + OPEN_SPELLBOOK_TEXT:0 "Open Spellbook" + SELECT_SPELL_TARGET:0 "Set Spell Target " + CHOOSE_SPELL_TARGET:0 "Choose Spell Target" + MONITORING_TEXT:0 "Spell Monitoring" + NO_MONITORING_TEXT:0 "You aren't currently monitoring any spells." + BURNOUT_COUNT:0 "Burnout Count" + TRAITS_CHRONOMANCY:0 "You will have these [Concept('trait', 'Traits')|E] when you activate Chromatic Restoration:" + MODIFIERS_CHRONOMANCY:0 "You will have these [Concept('modifier', 'Modifiers')|E] when you activate Chromatic Restoration:" + MOVE_CONSECRATION_BUTTON:0 "Move" + ELIGIBLE_COUNTIES_TEXT:0 "Eligible counties to move [wc_spell_consecration|E] to:" + MOVES_REMAINING_TEXT:0 "Moves Remaining: [GetPlayer.MakeScope.Var('consecration_moves_remaining').GetValue]" + WC_NO_SPELL_SELECTED: "#italic No spell or target selected yet. Why don't you do that now?#!" + CASTER_TEXT:0 "Caster" + TARGET_TEXT:0 "Target" + + CAST_RAISE_DEAD_tt:0 "#P Start casting [wc_spell_raise_dead|E] on this character.#!" + CAST_RAISE_DEAD_DISABLED_tt:0 "#P You cannot cast [wc_spell_raise_dead|E] right now.#!" + RAISE_DEAD_HEADER_TEXT:0 "Raise Dead" + RAISE_DEAD_SELECT_TYPE:0 "Select Type" + RAISE_DEAD_CD_CT:0 "Values" + RAISE_DEAD_CD_TEXT:0 "#bold Cooldown:#! #game_link [GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cooldown_value')] days#!" + RAISE_DEAD_CT_TEXT:0 "#bold Cast Time:#! #game_link [GetPlayer.MakeScope.ScriptValue('wc_spell_raise_dead_cast_time_value')] days#!" + RAISE_DEAD_COST_TEXT:0 "#bold @wc_full_mana_icon! Mana Cost:#! #game_link [GetPlayer.MakeScope.ScriptValue(Concatenate(Concatenate('wc_spell_raise_dead_', Scope.GetFlagName), '_mana_cost_value'))]#!" + SUPREME_RAISE_DEAD_CD_TEXT:0 "#bold Cooldown:#! #game_link [GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cooldown_value')] days#!" + SUPREME_RAISE_DEAD_CT_TEXT:0 "#bold Cast Time:#! #game_link [GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cast_time_value')] days#!" + SUPREME_RAISE_DEAD_COST_TEXT:0 "#bold @wc_full_mana_icon! Mana Cost:#! #game_link [GetPlayer.MakeScope.ScriptValue('wc_spell_supreme_raise_dead_cost_mana_value')]#!" + + wc_generic_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('spell_to_dodge').GetFlagName))]" + wc_generic_dodge_tt:0 "[this_recipient.GetShortUIName|U] dodged [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('spell_to_dodge').GetFlagName))]!" + wc_resist_tt_order:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_order|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_disorder:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_disorder|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_life:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_life|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_death:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_death|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_light:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_shadow:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_elemental_fire:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_elemental_fire|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_elemental_earth:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_elemental_earth|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_elemental_water:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_elemental_water|E] [wc_magic_resistance|E], the spell has no effect." + wc_resist_tt_elemental_air:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_elemental_air|E] [wc_magic_resistance|E], the spell has no effect." + + ASCENSION_EPS_TEXT: "Evolution Points:" + TOP_ASCENDANT_TEXT: "Top Ascendant" + TOP_ASCENDANT_PTS: "Evolution Points:" + ASCENSION_EPS_BIRTH: "From Births:" + ASCENSION_EPS_DEATH: "From Kills:" + ASCENSION_EPS_LEVEL_GAIN: "From [piety|E], [prestige|E], and [influence|E] Level Gains:" + ASCENSION_EPS_TRAIT_GAIN: "From Trait Gains (Children):" + ASCENSION_EPS_AGE_UP: "From Children becoming Adults:" + ASCENSION_EPS_CULTURE_CHANGE: "From [culture|E] Changes:" + ASCENSION_EPS_FAITH_CHANGE: "From [faith|E] Changes:" + ASCENSION_EPS_HOOK_USED: "From Hook Used:" + ASCENSION_EPS_PRISON: "From Prison Escapes:" + ASCENSION_EPS_STRESS: "From Stress Level Changes:" + ASCENSION_EPS_WAR: "From Wars Won:" + ASCENSION_EPS_SCHEME: "From Schemes Completed:" + ASCENSION_EPS_LIFESTYLE: "From Lifestyle Perks:" + ASCENSION_EPS_TRAVEL: "From Travel:" + ASCENSION_EPS_SPELL: "From Spells Cast:" + ASCENSION_EPS_TITLE_GAIN: "From Title Gains:" + ASCENSION_EPS_MARRIAGE: "From Marriages:" \ No newline at end of file diff --git a/localization/english/gui/wc_magic_lifestyles_window_character_lifestyle_l_english.yml b/localization/english/gui/wc_magic_lifestyles_window_character_lifestyle_l_english.yml new file mode 100644 index 0000000000..0dc2e44b19 --- /dev/null +++ b/localization/english/gui/wc_magic_lifestyles_window_character_lifestyle_l_english.yml @@ -0,0 +1,353 @@ +l_english: + WC_MAGIC_LIFESTYLE_WINDOW_TITLE:0 "[Lifestyle.GetNameNoTooltip] [wc_magic_lifestyles_no_lifestyles_line|E]" + + LIGHT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_light_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_light_magic_name$ [doctrine|E] allow it#!" + SHADOW_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_shadow_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_shadow_magic_name$ [doctrine|E] allow it#!" + DISORDER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_disorder_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_disorder_magic_name$ [doctrine|E] allow it#!" + ORDER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_order_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_order_magic_name$ [doctrine|E] allow it#!" + LIFE_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_life_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_life_magic_name$ [doctrine|E] allow it#!" + DEATH_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_death_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_death_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_FIRE_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_elemental_fire_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_elemental_fire_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_FIRE_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_spirit_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_fire_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_FIRE_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_decay_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_fire_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_WATER_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_elemental_water_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_elemental_water_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_WATER_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_water_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_spirit_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_water_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_WATER_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_water_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_decay_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_water_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_AIR_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_elemental_air_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_elemental_air_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_AIR_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_air_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_spirit_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_air_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_AIR_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_air_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_decay_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_air_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_EARTH_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] has no prior [experience|E] in [wc_elemental_earth_magic_lifestyle|E], nor [Character.GetFaith.GetAdjective] $doctrine_elemental_earth_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_EARTH_SPIRIT_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_spirit_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_earth_magic_name$ [doctrine|E] allow it#!" + ELEMENTAL_EARTH_DECAY_MAGIC_FOCUS_NOT_AVAILABLE_TOOLTIP:0 "#X @warning_icon! [Character.GetFirstName] can #bold not#! choose this [focus|E] because [Character.GetSheHe] is not #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_decay_magic_name$#!#!, nor [Character.GetFaith.GetAdjective] $doctrine_elemental_earth_magic_name$ [doctrine|E] allow it#!" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_LIGHT_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleLightMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_light_magic_trait_value')|0]" + wc_light_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_light_magic_1').GetName( GetPlayer )]" + wc_light_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_light_magic_2').GetName( GetPlayer )]" + wc_light_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_light_magic_3').GetName( GetPlayer )]" + wc_light_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_light_magic_4').GetName( GetPlayer )]" + wc_light_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_light_magic_5').GetName( GetPlayer )]" + wc_light_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_light_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_SHADOW_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleShadowMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_shadow_magic_trait_value')|0]" + wc_shadow_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_shadow_magic_1').GetName( GetPlayer )]" + wc_shadow_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_shadow_magic_2').GetName( GetPlayer )]" + wc_shadow_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_shadow_magic_3').GetName( GetPlayer )]" + wc_shadow_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_shadow_magic_4').GetName( GetPlayer )]" + wc_shadow_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_shadow_magic_5').GetName( GetPlayer )]" + wc_shadow_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_shadow_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_DISORDER_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleDisorderMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_disorder_magic_trait_value')|0]" + wc_disorder_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_disorder_magic_1').GetName( GetPlayer )]" + wc_disorder_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_disorder_magic_2').GetName( GetPlayer )]" + wc_disorder_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_disorder_magic_3').GetName( GetPlayer )]" + wc_disorder_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_disorder_magic_4').GetName( GetPlayer )]" + wc_disorder_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_disorder_magic_5').GetName( GetPlayer )]" + wc_disorder_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_disorder_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ORDER_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleOrderMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_order_magic_trait_value')|0]" + wc_order_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_order_magic_1').GetName( GetPlayer )]" + wc_order_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_order_magic_2').GetName( GetPlayer )]" + wc_order_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_order_magic_3').GetName( GetPlayer )]" + wc_order_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_order_magic_4').GetName( GetPlayer )]" + wc_order_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_order_magic_5').GetName( GetPlayer )]" + wc_order_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_order_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_LIFE_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleLifeMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_life_magic_trait_value')|0]" + wc_life_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_life_magic_1').GetName( GetPlayer )]" + wc_life_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_life_magic_2').GetName( GetPlayer )]" + wc_life_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_life_magic_3').GetName( GetPlayer )]" + wc_life_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_life_magic_4').GetName( GetPlayer )]" + wc_life_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_life_magic_5').GetName( GetPlayer )]" + wc_life_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_life_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_DEATH_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleDeathMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_death_magic_trait_value')|0]" + wc_death_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_death_magic_1').GetName( GetPlayer )]" + wc_death_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_death_magic_2').GetName( GetPlayer )]" + wc_death_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_death_magic_3').GetName( GetPlayer )]" + wc_death_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_death_magic_4').GetName( GetPlayer )]" + wc_death_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_death_magic_5').GetName( GetPlayer )]" + wc_death_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_death_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_FIRE_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_elemental_fire_magic_trait_value')|0]" + wc_elemental_fire_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_fire_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_fire_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_fire_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_fire_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_fire_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_fire_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_spirit_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_fire_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_fire_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_fire_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_decay_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_WATER_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_elemental_water_magic_trait_value')|0]" + wc_elemental_water_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_water_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_water_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_water_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_water_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_water_spirit_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_water_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_water_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_water_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_water_decay_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_AIR_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_elemental_air_magic_trait_value')|0]" + wc_elemental_air_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_air_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_air_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_air_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_air_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_air_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_air_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_air_spirit_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_air_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_air_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_air_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_air_decay_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_PERKS_NEEDED_FOR_NEXT_LIFESTYLE_TRAIT_ELEMENTAL_EARTH_MAGIC:0 "Unlocked [Lifestyle.GetNameNoTooltip] [perks|E] [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicNextTraitForPerks')]: [Character.GetPerkPointsUsed( Lifestyle.Self )]/[Scope.ScriptValue('wc_perks_needed_for_next_level_elemental_earth_magic_trait_value')|0]" + wc_elemental_earth_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_earth_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_earth_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_earth_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_earth_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_earth_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_earth_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_spirit_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_1:0 "required to become [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_2:0 "required to become [GetTrait('user_of_elemental_earth_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_3:0 "required to become [GetTrait('user_of_elemental_earth_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_4:0 "required to become [GetTrait('user_of_elemental_earth_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_5:0 "required to become [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_decay_magic_next_trait_level_is_last:0 "make [GetPlayer.GetFirstName] a [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )]" + + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT:0 "[GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicCurrentFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP:0 "[wc_elemental_fire_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicSpiritFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP:0 "[wc_elemental_fire_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicDecayFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalFireMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_FIRE_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP:0 "[wc_elemental_fire_spiritdecay_magic_favour|E]: [Scope.ScriptValue('wc_elemental_fire_favour_current_value')|=+0]" + + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT:0 "[GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicCurrentFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP:0 "[wc_elemental_water_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicSpiritFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP:0 "[wc_elemental_water_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicDecayFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalWaterMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_WATER_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP:0 "[wc_elemental_water_spiritdecay_magic_favour|E]: [Scope.ScriptValue('wc_elemental_water_favour_current_value')|=+0]" + + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT:0 "[GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicCurrentFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP:0 "[wc_elemental_air_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicSpiritFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP:0 "[wc_elemental_air_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicDecayFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalAirMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_AIR_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP:0 "[wc_elemental_air_spiritdecay_magic_favour|E]: [Scope.ScriptValue('wc_elemental_air_favour_current_value')|=+0]" + + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_LEFT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_RIGHT_TEXT:0 "To [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_BOTTOM_TEXT:0 "[GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicCurrentFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_LEFT_TOOLTIP:0 "[wc_elemental_earth_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicSpiritFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicSpiritFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_RIGHT_TOOLTIP:0 "[wc_elemental_earth_spiritdecay_magic_favour|E] needed to [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicDecayFavorTraitSwitch')] by switching to [GetPlayer.Custom('GetWCMagicalLifestyleElementalEarthMagicDecayFavor')]" + WC_LIFESTYLE_WINDOW_ELEMENTAL_EARTH_SPIRITDECAY_PROGRESSBAR_BOTTOM_TOOLTIP:0 "[wc_elemental_earth_spiritdecay_magic_favour|E]: [Scope.ScriptValue('wc_elemental_earth_favour_current_value')|=+0]" + + wc_elemental_fire_magic_current_favor_neutral:0 "[wc_elemental_fire_spirit_decay_magic_disposition|E]: [wc_elemental_fire_neutral_icon_gc|E] Neutral" + wc_elemental_fire_magic_current_favor_spirit:0 "[wc_elemental_fire_spirit_decay_magic_disposition|E]: [wc_elemental_fire_spirit_icon_gc|E] Spirit" + wc_elemental_fire_magic_current_favor_decay:0 "[wc_elemental_fire_spirit_decay_magic_disposition|E]: [wc_elemental_fire_decay_icon_gc|E] Decay" + + wc_elemental_water_magic_current_favor_neutral:0 "[wc_elemental_water_spirit_decay_magic_disposition|E]: [wc_elemental_water_neutral_icon_gc|E] Neutral" + wc_elemental_water_magic_current_favor_spirit:0 "[wc_elemental_water_spirit_decay_magic_disposition|E]: [wc_elemental_water_spirit_icon_gc|E] Spirit" + wc_elemental_water_magic_current_favor_decay:0 "[wc_elemental_water_spirit_decay_magic_disposition|E]: [wc_elemental_water_decay_icon_gc|E] Decay" + + wc_elemental_air_magic_current_favor_neutral:0 "[wc_elemental_air_spirit_decay_magic_disposition|E]: [wc_elemental_air_neutral_icon_gc|E] Neutral" + wc_elemental_air_magic_current_favor_spirit:0 "[wc_elemental_air_spirit_decay_magic_disposition|E]: [wc_elemental_air_spirit_icon_gc|E] Spirit" + wc_elemental_air_magic_current_favor_decay:0 "[wc_elemental_air_spirit_decay_magic_disposition|E]: [wc_elemental_air_decay_icon_gc|E] Decay" + + wc_elemental_earth_magic_current_favor_neutral:0 "[wc_elemental_earth_spirit_decay_magic_disposition|E]: [wc_elemental_earth_neutral_icon_gc|E] Neutral" + wc_elemental_earth_magic_current_favor_spirit:0 "[wc_elemental_earth_spirit_decay_magic_disposition|E]: [wc_elemental_earth_spirit_icon_gc|E] Spirit" + wc_elemental_earth_magic_current_favor_decay:0 "[wc_elemental_earth_spirit_decay_magic_disposition|E]: [wc_elemental_earth_decay_icon_gc|E] Decay" + + + + wc_elemental_fire_magic_spirit_favor_not_spirit:0 "[wc_elemental_fire_spirit_icon_gc|E] [wc_elemental_fire_spirit_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_fire_favour_to_switch_disposition_from_any_to_spirit_value')|=+0]" + wc_elemental_fire_magic_spirit_favor_spirit:0 "[wc_elemental_fire_neutral_icon_gc|E] [wc_elemental_fire_neutral_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_fire_favour_to_switch_disposition_from_spirit_to_neutral_value')|=+0]" + wc_elemental_fire_magic_decay_favor_not_decay:0 "[wc_elemental_fire_decay_icon_gc|E] [wc_elemental_fire_decay_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_fire_favour_to_switch_disposition_from_any_to_decay_value')|=+0]" + wc_elemental_fire_magic_decay_favor_decay:0 "[wc_elemental_fire_neutral_icon_gc|E] [wc_elemental_magic_disposition_neutral|E]: [Scope.ScriptValue('wc_needed_elemental_fire_favour_to_switch_disposition_from_decay_to_neutral_value')|=+0]" + + wc_elemental_water_magic_spirit_favor_not_spirit:0 "[wc_elemental_water_spirit_icon_gc|E] [wc_elemental_water_spirit_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_water_favour_to_switch_disposition_from_any_to_spirit_value')|=+0]" + wc_elemental_water_magic_spirit_favor_spirit:0 "[wc_elemental_water_neutral_icon_gc|E] [wc_elemental_water_neutral_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_water_favour_to_switch_disposition_from_spirit_to_neutral_value')|=+0]" + wc_elemental_water_magic_decay_favor_not_decay:0 "[wc_elemental_water_decay_icon_gc|E] [wc_elemental_water_decay_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_water_favour_to_switch_disposition_from_any_to_decay_value')|=+0]" + wc_elemental_water_magic_decay_favor_decay:0 "[wc_elemental_water_neutral_icon_gc|E] [wc_elemental_magic_disposition_neutral|E]: [Scope.ScriptValue('wc_needed_elemental_water_favour_to_switch_disposition_from_decay_to_neutral_value')|=+0]" + + wc_elemental_air_magic_spirit_favor_not_spirit:0 "[wc_elemental_air_spirit_icon_gc|E] [wc_elemental_air_spirit_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_air_favour_to_switch_disposition_from_any_to_spirit_value')|=+0]" + wc_elemental_air_magic_spirit_favor_spirit:0 "[wc_elemental_air_neutral_icon_gc|E] [wc_elemental_air_neutral_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_air_favour_to_switch_disposition_from_spirit_to_neutral_value')|=+0]" + wc_elemental_air_magic_decay_favor_not_decay:0 "[wc_elemental_air_decay_icon_gc|E] [wc_elemental_air_decay_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_air_favour_to_switch_disposition_from_any_to_decay_value')|=+0]" + wc_elemental_air_magic_decay_favor_decay:0 "[wc_elemental_air_neutral_icon_gc|E] [wc_elemental_magic_disposition_neutral|E]: [Scope.ScriptValue('wc_needed_elemental_air_favour_to_switch_disposition_from_decay_to_neutral_value')|=+0]" + + wc_elemental_earth_magic_spirit_favor_not_spirit:0 "[wc_elemental_earth_spirit_icon_gc|E] [wc_elemental_earth_spirit_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_earth_favour_to_switch_disposition_from_any_to_spirit_value')|=+0]" + wc_elemental_earth_magic_spirit_favor_spirit:0 "[wc_elemental_earth_neutral_icon_gc|E] [wc_elemental_earth_neutral_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_earth_favour_to_switch_disposition_from_spirit_to_neutral_value')|=+0]" + wc_elemental_earth_magic_decay_favor_not_decay:0 "[wc_elemental_earth_decay_icon_gc|E] [wc_elemental_earth_decay_magic_disposition|E]: [Scope.ScriptValue('wc_needed_elemental_earth_favour_to_switch_disposition_from_any_to_decay_value')|=+0]" + wc_elemental_earth_magic_decay_favor_decay:0 "[wc_elemental_earth_neutral_icon_gc|E] [wc_elemental_magic_disposition_neutral|E]: [Scope.ScriptValue('wc_needed_elemental_earth_favour_to_switch_disposition_from_decay_to_neutral_value')|=+0]" + + + + wc_elemental_fire_magic_trait_0_switch_to_neutral:0 "get on the path to become [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_0_switch_to_spirit:0 "get on the path to become [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_0_switch_to_decay:0 "get on the path to become [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_1_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_fire_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_2_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_fire_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_3_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_fire_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_4_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_fire_magic_trait_5_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_fire_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_fire_spirit_magic_5').GetName( GetPlayer )]" + + wc_elemental_water_magic_trait_0_switch_to_neutral:0 "get on the path to become [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_0_switch_to_spirit:0 "get on the path to become [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_0_switch_to_decay:0 "get on the path to become [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_1_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_water_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_water_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_water_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_water_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_2_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_water_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_water_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_3_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_water_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_water_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_water_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_water_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_4_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_water_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_water_magic_trait_5_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_water_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_water_spirit_magic_5').GetName( GetPlayer )]" + + wc_elemental_air_magic_trait_0_switch_to_neutral:0 "get on the path to become [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_0_switch_to_spirit:0 "get on the path to become [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_0_switch_to_decay:0 "get on the path to become [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_1_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_air_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_air_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_air_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_air_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_2_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_air_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_air_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_air_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_air_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_3_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_air_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_air_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_air_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_air_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_4_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_air_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_air_magic_trait_5_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_air_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_air_spirit_magic_5').GetName( GetPlayer )]" + + wc_elemental_earth_magic_trait_0_switch_to_neutral:0 "get on the path to become [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_0_switch_to_spirit:0 "get on the path to become [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_0_switch_to_decay:0 "get on the path to become [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_1_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_1').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_1').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_earth_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_2_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_2').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_2').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_earth_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_3_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_3').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_3').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_earth_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_4_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_4').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_4').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_neutral_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_neutral_to_decay:0 "replace [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_spirit_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_decay_to_neutral:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_spirit_to_decay:0 "replace [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )]" + wc_elemental_earth_magic_trait_5_switch_from_decay_to_spirit:0 "replace [GetTrait('user_of_elemental_earth_decay_magic_5').GetName( GetPlayer )] with [GetTrait('user_of_elemental_earth_spirit_magic_5').GetName( GetPlayer )]" \ No newline at end of file diff --git a/localization/english/gui/wc_resource_l_english.yml b/localization/english/gui/wc_resource_l_english.yml new file mode 100644 index 0000000000..68071eea8b --- /dev/null +++ b/localization/english/gui/wc_resource_l_english.yml @@ -0,0 +1,83 @@ +l_english: + CURRENT_MANA_AMOUNT_LINE:0 "[Scope.Var('wc_current_mana_variable').GetValue|0]" + + CURRENT_MP_AMOUNT_LINE:0 "[Scope.ScriptValue('wc_mp_value')|0]" + MAXIMUM_MANA_AMOUNT_LINE:0 "[Scope.ScriptValue('wc_max_mana_value')|0]" + + HUD_TOP_RIGHT_RESOURCES_MANA_LINE_1:0 "#high $CURRENT_MANA_AMOUNT_LINE$#!" + HUD_TOP_RIGHT_RESOURCES_MANA_LINE_2:0 "[Scope.ScriptValue('wc_mana_regeneration_value')|=]" + + CHARACTER_WINDOW_MANA_AMOUNT_LINE:0 "$CURRENT_MANA_AMOUNT_LINE$" + + CHARACTER_WINDOW_MP_AMOUNT_LINE:0 "$CURRENT_MP_AMOUNT_LINE$" + + RESOURCES_HP_BREAKDOWN_HEADER_LINE:0 "Current [health|E] [Scope.Var('wc_current_hp_variable').GetValue|V]/[Scope.ScriptValue('wc_hp_capacity_value')|0V]" + RESOURCES_HP_BREAKDOWN_REGENERATION_LINE:0 "[Scope.ScriptValue('wc_hp_replenishment_value')|L+=]/month" + RESOURCES_HP_BREAKDOWN_BASE_LINE:0 "Max [health|E]" + RESOURCES_MANA_BREAKDOWN_HEADER_LINE:0 "[wc_mana|E]: [Scope.Var('wc_current_mana_variable').GetValue|V]/[Scope.ScriptValue('wc_max_mana_value')|0V]" + RESOURCES_MANA_BREAKDOWN_REGENERATION_LINE:0 "[Scope.ScriptValue('wc_mana_regeneration_value')|L+=]/month" + RESOURCES_MANA_MODIFIERS_HEADER_LINE:0 "[wc_available_mana_to_stat|E]" + RESOURCES_MANA_PLAYER_BREAKDOWN_PROWESS_LINE:0 "[prowess|E]:[prowess_i|E][Scope.ScriptValue('wc_current_mana_to_prowess_value')|0+=] from [Scope.ScriptValue('wc_current_mana_to_prowess_percent')|%0V]" + RESOURCES_HP_BREAKDOWN_PERCENTAGE_LINE:0 "Available: [Scope.ScriptValue('wc_current_hp_percent_value')|%V1] out of [Scope.ScriptValue('wc_hp_capacity_value')|V0]" + RESOURCES_MANA_BREAKDOWN_PERCENTAGE_LINE:0 "Available: [Scope.ScriptValue('wc_current_mana_percent_value')|%V1] out of [Scope.ScriptValue('wc_max_mana_value')|V0]" + RESOURCES_MAX_MANA_BREAKDOWN_HEADER_LINE:0 "[wc_max_mana|E]: #high $MAXIMUM_MANA_AMOUNT_LINE$#!" + + WC_MAX_MANA_VALUE_FORMAT:0 "$KEY$: $VALUE|=+0$" + WC_MAX_MANA_VALUE_FORMAT_DEC:0 "$KEY$: $VALUE|+=$" + WC_MAX_MANA_VALUE_FORMAT_PER:0 "$KEY$: $VALUE|=+0%$" + wc_mana_base_value_desc:0 "Base" + wc_mana_spirit_value_desc:0 "Spirit" + wc_mana_decay_value_desc:0 "Decay" + + wc_mana_scaling_value_desc:0 "Skill Level" + + wc_mana_extra_targets:0 "Multiple Targets" + + wc_mana_from_light_perks_value_desc:0 "[wc_light_magic_lifestyle|E] [perks|E]" + wc_mana_from_shadow_perks_value_desc:0 "[wc_shadow_magic_lifestyle|E] [perks|E]" + wc_mana_from_disorder_perks_value_desc:0 "[wc_disorder_magic_lifestyle|E] [perks|E]" + wc_mana_from_order_perks_value_desc:0 "[wc_order_magic_lifestyle|E] [perks|E]" + wc_mana_from_life_perks_value_desc:0 "[wc_life_magic_lifestyle|E] [perks|E]" + wc_mana_from_death_perks_value_desc:0 "[wc_death_magic_lifestyle|E] [perks|E]" + wc_mana_from_elemental_fire_perks_value_desc:0 "[wc_elemental_fire_magic_lifestyle|E] [perks|E]" + wc_mana_from_elemental_water_perks_value_desc:0 "[wc_elemental_water_magic_lifestyle|E] [perks|E]" + wc_mana_from_elemental_air_perks_value_desc:0 "[wc_elemental_air_magic_lifestyle|E] [perks|E]" + wc_mana_from_elemental_earth_perks_value_desc:0 "[wc_elemental_earth_magic_lifestyle|E] [perks|E]" + wc_mana_from_magic_good_1_trait_value_desc:0 "[GetTrait('magic_good_1').GetName( GetNullCharacter )]" + wc_mana_from_magic_good_2_trait_value_desc:0 "[GetTrait('magic_good_2').GetName( GetNullCharacter )]" + wc_mana_from_magic_good_3_trait_value_desc:0 "[GetTrait('magic_good_3').GetName( GetNullCharacter )]" + wc_mana_from_magic_bad_1_trait_value_desc:0 "[GetTrait('magic_bad_1').GetName( GetNullCharacter )]" + wc_mana_from_magic_bad_2_trait_value_desc:0 "[GetTrait('magic_bad_2').GetName( GetNullCharacter )]" + wc_mana_from_magic_bad_3_trait_value_desc:0 "[GetTrait('magic_bad_3').GetName( GetNullCharacter )]" + wc_mana_from_magic_good_noninheritable_value_desc:0 "[GetTrait('magic_good_noninheritable').GetName( GetNullCharacter )]" + wc_mana_from_magic_bad_noninheritable_value_desc:0 "[GetTrait('magic_bad_noninheritable').GetName( GetNullCharacter )]" + + WC_MANA_REPLENISHMENT_VALUE_FORMAT:0 "$KEY$: [Scope.ScriptValue('wc_mana_replenishment_value')|+%0] of [wc_max_mana|E] ($VALUE|=+$)" + wc_mana_regeneration_from_max_value_desc:0 "[wc_mana_regeneration_from_max|E]" + WC_MANA_REGENERATION_VALUE_PERCENTAGE_FORMAT:0 "$KEY$: $VALUE|+%2$" + wc_mana_regeneration_from_magic_bad_1_trait_value_desc:0 "[GetTrait('magic_bad_1').GetName( GetNullCharacter )]" + wc_mana_regeneration_from_magic_bad_2_trait_value_desc:0 "[GetTrait('magic_bad_2').GetName( GetNullCharacter )]" + wc_mana_regeneration_from_magic_bad_3_trait_value_desc:0 "[GetTrait('magic_bad_3').GetName( GetNullCharacter )]" + wc_mana_regeneration_from_magic_bad_noninheritable_trait_value_desc:0 "[GetTrait('magic_bad_noninheritable').GetName( GetNullCharacter )]" + wc_mp_val_desc:0 "Magical Prowess" + wc_hp_capacity_base_desc:0 "Base Regen" + wc_hp_capacity_desc:0 "From Max [health|E]" + MAGICAL_PROWESS_TEXT:0 "Magical Prowess: [Scope.ScriptValue('wc_mp_value')|0]" + MAGICAL_PROWESS_EFFECT:0 "#bold Effects:#!\n$BULLET$Spells last #p [Scope.ScriptValue('wc_mp_duration_value_percentage')|+%0]#! longer\n$BULLET$Cooldown times are reduced by #p [Scope.ScriptValue('wc_mp_value_cd_percentage')|+%0]#!\n$BULLET$Base [wc_magic_resistance|E]: [Scope.ScriptValue('wc_magic_resistance_from_mp')|+0] ([Scope.ScriptValue('wc_magic_resistance_per_mp')|+] Per $wc_magical_prowess$ Point)\n$BULLET$[diplomatic_range|E]: #P +[Scope.ScriptValue('wc_diplo_range_from_mp')|0]%#! (#P [Scope.ScriptValue('wc_diplo_range_per_mp')]%#! Per $wc_magical_prowess$ Point)\n$BULLET$ Increases [wc_available_mana_to_stat|E] by [Scope.ScriptValue('wc_mana_conductivity_mp_value')|+%0]" + wc_magic_religion_desc:0 "[Scope.Char.GetFaith.GetName]" + wc_magic_race_desc:0 "[wc_race|E]" + wc_magic_lowborn_desc:0 "[lowborn|E]" + wc_magic_scaling_value_desc:0 "Opposite class skill level" + wc_feedback_perk_desc:0 "From [perk|E]: Feedback" + wc_magical_prowess:0 "Magical Prowess" + wc_source_unknown_desc:0 "From ???" + + icy_veins_value_desc:0 "From [GetPerk('order_magic_tree_5_perk_4').GetName( GetPlayer )]" + freeze_time_mult_value_desc:0 "From [GetPerk('order_magic_tree_5_perk_3').GetName( GetPlayer )]" + flame_synergy_value_desc:0 "From [GetPerk('order_magic_tree_5_perk_6').GetName( GetPlayer )]" + frost_synergy_value_desc:0 "From [GetPerk('order_magic_tree_4_perk_5').GetName( GetPlayer )]" + reverse_causailty_value_desc:0 "From [GetPerk('order_magic_tree_3_perk_8').GetName( GetPlayer )]" + hurricane_mult_value_desc:0 "From [GetPerk('elemental_water_magic_tree_1_perk_2').GetName( GetPlayer )]" + best_served_cold_scheme_mult_value_desc:0 "From [GetPerk('elemental_water_magic_tree_2_perk_4').GetName( GetPlayer )]: Has targeted you with a [hostile_scheme|E]" + best_served_cold_rival_mult_value_desc:0 "From [GetPerk('elemental_water_magic_tree_2_perk_4').GetName( GetPlayer )]: Is your [rival|E]" + spirit_of_entropy_mult_value_desc:0 "From [GetPerk('elemental_water_magic_tree_2_perk_2').GetName( GetPlayer )]" \ No newline at end of file diff --git a/localization/english/interactions/wc_interactions_l_english.yml b/localization/english/interactions/wc_interactions_l_english.yml new file mode 100644 index 0000000000..0dbe2893ac --- /dev/null +++ b/localization/english/interactions/wc_interactions_l_english.yml @@ -0,0 +1,19 @@ +l_english: + WC_MAGIC_ACTIONS:0 "Magic" + + interaction_category_wc_magic:0 "Magic" + interaction_category_wc_light_magic:0 "Light Magic" + interaction_category_wc_shadow_magic:0 "Shadow Magic" + interaction_category_wc_disorder_magic:0 "Fel Magic" + interaction_category_wc_order_magic:0 "Arcane Magic" + + WC_MAGIC_CASTER_CHANNEL_OPTION:0 "[wc_spell_channel|E] [wc_spell|E]" + + wc_spell_reflect_character_interaction:0 "Reflect Scheme" + wc_spell_reflect_artifact_interaction:0 "Reflect Scheme" + wc_spell_reflect_cancel_interaction:0 "Reflect Scheme" + wc_spell_reflect_interaction_name:0 "[actor.MakeScope.Var('current_scheme').Scheme.GetOwner.GetShortUINamePossessive]" + wc_spell_reflect_interaction_desc:0 "Reflect [actor.MakeScope.Var('current_scheme').Scheme.GetOwner.GetShortUINamePossessive] [actor.MakeScope.Var('current_scheme').Scheme.GetName] [scheme|E] targeting [actor.MakeScope.Var('current_scheme').Scheme.GetTarget.GetShortUIName]" + recipient_secondary_wc_spell_reflect_character_interaction:0 "Scheme Target" + wc_spell_reflect_character_interaction_reveal:0 "Reveal Scheme" + wc_spell_reflect_character_interaction_reveal_desc:0 "The [scheme|E] you are targeted by will be revealed" \ No newline at end of file diff --git a/localization/english/modifiers/wc_modifiers_l_english.yml b/localization/english/modifiers/wc_modifiers_l_english.yml index 959bf510a3..0ae3774396 100644 --- a/localization/english/modifiers/wc_modifiers_l_english.yml +++ b/localization/english/modifiers/wc_modifiers_l_english.yml @@ -39,6 +39,17 @@ massive_infantry_screen_mult:0 "$massive_infantry_screen_add$" massive_infantry_siege_value_add:1 "[massive_infantry|E] [siege_progress|E]" + fire_elemental_damage_add:1 "[fire_elemental|E] [damage|E]" + fire_elemental_damage_mult:0 "$fire_elemental_damage_add$" + fire_elemental_toughness_add:1 "[fire_elemental|E] [toughness|E]" + fire_elemental_toughness_mult:0 "$fire_elemental_toughness_add$" + fire_elemental_pursuit_add:1 "[fire_elemental|E] [pursuit|E]" + fire_elemental_pursuit_mult:0 "$fire_elemental_pursuit_add$" + fire_elemental_screen_add:1 "[fire_elemental|E] [screen|E]" + fire_elemental_screen_mult:0 "$fire_elemental_screen_add$" + fire_elemental_siege_value_add:1 "[fire_elemental|E] [siege_progress|E]" + + archers_pursuit_mult:0 "$archers_pursuit_add$" holy_order_government_opinion:0 "[holy_order|E] Ruler Opinion" rebuilding_kingdom_modifier:0 "Rebuilding Kingdom" @@ -57,6 +68,12 @@ long_lived_lifestyle_xp_slowdown:0 "[knowledge_overflow|E]" + liberated_fire_elementals:0 "Liberated Fire Elementals" + reined_in_fire_elementals:0 "Reined-in Fire Elementals" + + elemental_assisted_smithing:0 "Elemental Assisted Smithing" + fire_magic_improved_smithing:0 "Fire Magic Improved Smithing" + long_lived_lifestyle_xp_slowdown_per_stack:0 "Base" long_lived_lifestyle_xp_slowdown_custom_desc:2 "$game_concept_knowledge_overflow_common_desc$\n\nDue to [ROOT.Char.GetShortUINamePossessive] [life_expectancy|E], [lifestyle_experience|E] gain slows down by #N [Scope.ScriptValue('long_lived_lifestyle_xp_slowdown_per_perk_percent_value')|2]%#! per each unlocked [perk|E] starting after [Scope.ScriptValue('long_lived_lifestyle_xp_slowdown_offset_value')|V0] [perks|E].\n" @@ -339,3 +356,7 @@ wc_thorium_craftsmen_modifier_desc:0 "The craftsmen of Thorium Brotherhood have been invited by the ruler to provide aid with administering the realm's infrastructure." wc_thorium_base_modifier:0 "Thorium Brotherhood's Base" wc_thorium_base_modifier_desc:0 "This province is host to the Thorium Brotherhood's base of operations. They aid the local ruler with their assets and resources." + + seduce_schemes_add:1 "Max [GetScheme('seduce').GetTypeName] [schemes|E]" + max_seduce_schemes_add:0 "$seduce_schemes_add$" + scheme_phase_duration_against_lover_add: "[scheme_speed|E] against [lovers|E]" \ No newline at end of file diff --git a/localization/english/modifiers/wc_modifiers_mana_l_english.yml b/localization/english/modifiers/wc_modifiers_mana_l_english.yml new file mode 100644 index 0000000000..5f5e7be658 --- /dev/null +++ b/localization/english/modifiers/wc_modifiers_mana_l_english.yml @@ -0,0 +1,496 @@ +l_english: + wc_mana_limit_modifier_line:0 "[wc_max_mana|E]: [wc_empty_mana_icon_gc|E]" + wc_mana_regeneration_modifier_line:0 "[wc_mana_regeneration|E]: [wc_half_mana_icon_gc|E]" + wc_mana_regeneration_from_max_modifier_line:0 "[wc_mana_regeneration_from_max|E]: [wc_half_mana_icon_gc|E]" + wc_available_mana_to_prowess_modifier_line:0 "[wc_available_mana_to_stat|E] [wc_stat_mana_icon_gc|E] to [prowess|E]: [prowess_i|E]" + wc_max_mana_per_light_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_light_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_shadow_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_shadow_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_disorder_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_disorder_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_order_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_order_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_life_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_life_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_death_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_death_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_elemental_fire_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_elemental_fire_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_elemental_water_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_elemental_water_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_elemental_air_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_elemental_air_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + wc_max_mana_per_elemental_earth_magic_perk_modifier_line:0 "[wc_max_mana|E] per [wc_elemental_earth_magic_lifestyle|E] [perk|E]: [wc_empty_mana_icon_gc|E]" + + TRAIT_FLAG_DESC_wc_magic_good_1_flag:0 "$wc_mana_limit_modifier_line$ [EmptyScope.ScriptValue('wc_sorcerer_trait_1_mana_value')|0=+]\n$wc_mana_regeneration_from_max_modifier_line$ [EmptyScope.ScriptValue('wc_magic_good_trait_1_mana_replenishment_value')|0%=+]\n$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_sorcerer_trait_1_current_mana_to_prowess_value')|0%=+]" + TRAIT_FLAG_DESC_wc_magic_good_2_flag:0 "$wc_mana_limit_modifier_line$ [EmptyScope.ScriptValue('wc_sorcerer_trait_2_mana_value')|0=+]\n$wc_mana_regeneration_from_max_modifier_line$ [EmptyScope.ScriptValue('wc_magic_good_trait_2_mana_replenishment_value')|0%=+]\n$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_sorcerer_trait_2_current_mana_to_prowess_value')|0%=+]" + TRAIT_FLAG_DESC_wc_magic_good_3_flag:0 "$wc_mana_limit_modifier_line$ [EmptyScope.ScriptValue('wc_sorcerer_trait_3_mana_value')|0=+]\n$wc_mana_regeneration_from_max_modifier_line$ [EmptyScope.ScriptValue('wc_magic_good_trait_3_mana_replenishment_value')|0%=+]\n$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_sorcerer_trait_3_current_mana_to_prowess_value')|0%=+]" + TRAIT_FLAG_DESC_wc_magic_good_noninheritable_flag:0 "$wc_mana_limit_modifier_line$ [EmptyScope.ScriptValue('wc_sorcerer_trait_noninheritable_mana_value')|0=+]\n$wc_mana_regeneration_from_max_modifier_line$ [EmptyScope.ScriptValue('wc_magic_good_trait_noninheritable_mana_replenishment_value')|0%=+]\n$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_sorcerer_trait_noninheritable_current_mana_to_prowess_value')|0%=+]" + + TRAIT_FLAG_DESC_wc_magic_bad_1_flag:0 "$wc_mana_limit_modifier_line$ #N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_1_mana_value')|0-]\n$wc_mana_regeneration_modifier_line$ [EmptyScope.ScriptValue('wc_magic_bad_trait_1_mana_regeneration_value')|0%+]\n$wc_available_mana_to_prowess_modifier_line$#N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_1_current_mana_to_prowess_value')|0%-]" + TRAIT_FLAG_DESC_wc_magic_bad_2_flag:0 "$wc_mana_limit_modifier_line$ #N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_2_mana_value')|0-]\n$wc_mana_regeneration_modifier_line$ [EmptyScope.ScriptValue('wc_magic_bad_trait_2_mana_regeneration_value')|0%+]\n$wc_available_mana_to_prowess_modifier_line$#N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_2_current_mana_to_prowess_value')|0%-]" + TRAIT_FLAG_DESC_wc_magic_bad_3_flag:0 "$wc_mana_limit_modifier_line$ #N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_3_mana_value')|0-]\n$wc_mana_regeneration_modifier_line$ [EmptyScope.ScriptValue('wc_magic_bad_trait_3_mana_regeneration_value')|0%+]\n$wc_available_mana_to_prowess_modifier_line$#N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_3_current_mana_to_prowess_value')|0%-]" + TRAIT_FLAG_DESC_wc_magic_bad_noninheritable_flag:0 "$wc_mana_limit_modifier_line$ #N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_noninheritable_mana_value')|0-]\n$wc_mana_regeneration_modifier_line$ [EmptyScope.ScriptValue('wc_magic_bad_trait_noninheritable_mana_regeneration_value')|0%+]\n$wc_available_mana_to_prowess_modifier_line$#N -#![EmptyScope.ScriptValue('wc_sorcerer_trait_noninheritable_current_mana_to_prowess_value')|0%-]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_flag:0 "Allows [wc_light_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_flag:0 "Allows [wc_shadow_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_flag:0 "Allows [wc_disorder_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_flag:0 "Allows [wc_order_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_flag:0 "Allows [wc_life_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_flag:0 "Allows [wc_death_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_flag:0 "Allows [wc_elemental_fire_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_flag:0 "Allows [wc_elemental_water_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_flag:0 "Allows [wc_elemental_air_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_flag:0 "Allows [wc_elemental_earth_magic_lifestyle|E] [perks|E] to increase [wc_max_mana|E]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_level_1_flag:0 "$wc_max_mana_per_light_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_level_1_flag:0 "$wc_max_mana_per_shadow_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_level_1_flag:0 "$wc_max_mana_per_disorder_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_level_1_flag:0 "$wc_max_mana_per_order_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_level_1_flag:0 "$wc_max_mana_per_life_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_level_1_flag:0 "$wc_max_mana_per_death_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_level_1_flag:0 "$wc_max_mana_per_elemental_fire_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_level_1_flag:0 "$wc_max_mana_per_elemental_water_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_level_1_flag:0 "$wc_max_mana_per_elemental_air_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_level_1_flag:0 "$wc_max_mana_per_elemental_earth_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_base_value')|=+0]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_level_2_flag:0 "$wc_max_mana_per_light_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_level_2_flag:0 "$wc_max_mana_per_shadow_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_level_2_flag:0 "$wc_max_mana_per_disorder_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_level_2_flag:0 "$wc_max_mana_per_order_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_level_2_flag:0 "$wc_max_mana_per_life_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_level_2_flag:0 "$wc_max_mana_per_death_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_level_2_flag:0 "$wc_max_mana_per_elemental_fire_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_level_2_flag:0 "$wc_max_mana_per_elemental_water_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_level_2_flag:0 "$wc_max_mana_per_elemental_air_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_level_2_flag:0 "$wc_max_mana_per_elemental_earth_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel2_value')|=+0]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_level_3_flag:0 "$wc_max_mana_per_light_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_level_3_flag:0 "$wc_max_mana_per_shadow_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_level_3_flag:0 "$wc_max_mana_per_disorder_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_level_3_flag:0 "$wc_max_mana_per_order_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_level_3_flag:0 "$wc_max_mana_per_life_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_level_3_flag:0 "$wc_max_mana_per_death_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_level_3_flag:0 "$wc_max_mana_per_elemental_fire_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_level_3_flag:0 "$wc_max_mana_per_elemental_water_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_level_3_flag:0 "$wc_max_mana_per_elemental_air_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_level_3_flag:0 "$wc_max_mana_per_elemental_earth_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel3_value')|=+0]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_level_4_flag:0 "$wc_max_mana_per_light_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_level_4_flag:0 "$wc_max_mana_per_shadow_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_level_4_flag:0 "$wc_max_mana_per_disorder_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_level_4_flag:0 "$wc_max_mana_per_order_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_level_4_flag:0 "$wc_max_mana_per_life_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_level_4_flag:0 "$wc_max_mana_per_death_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_level_4_flag:0 "$wc_max_mana_per_elemental_fire_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_level_4_flag:0 "$wc_max_mana_per_elemental_water_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_level_4_flag:0 "$wc_max_mana_per_elemental_air_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_level_4_flag:0 "$wc_max_mana_per_elemental_earth_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + + TRAIT_FLAG_DESC_wc_lifestyle_light_magic_level_5_flag:0 "$wc_max_mana_per_light_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_shadow_magic_level_5_flag:0 "$wc_max_mana_per_shadow_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_disorder_magic_level_5_flag:0 "$wc_max_mana_per_disorder_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_order_magic_level_5_flag:0 "$wc_max_mana_per_order_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_life_magic_level_5_flag:0 "$wc_max_mana_per_life_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_death_magic_level_5_flag:0 "$wc_max_mana_per_death_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_fire_magic_level_5_flag:0 "$wc_max_mana_per_elemental_fire_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_water_magic_level_5_flag:0 "$wc_max_mana_per_elemental_water_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_air_magic_level_5_flag:0 "$wc_max_mana_per_elemental_air_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + TRAIT_FLAG_DESC_wc_lifestyle_elemental_earth_magic_level_5_flag:0 "$wc_max_mana_per_elemental_earth_magic_perk_modifier_line$ [EmptyScope.ScriptValue('wc_mana_per_magic_perk_magiclevel4_value')|=+0]" + + wc_prowess_from_available_mana_modifier:0 "Mana Empowered" + wc_prowess_from_available_mana_modifier_desc:0 "This character's [wc_available_mana_to_stat|E] [wc_stat_mana_icon_gc|E] allow them to engulf the battlefield with their spells without tiring themself out." + wc_prowess_from_available_mana_modifier_scale:0 "Base, Without [wc_mana|E]" + + wc_magi_mana_apt_tt:0 "[wc_stat_mana_icon_gc|E] #P +5#! to #P +15#! [wc_max_mana|E] (based on [aptitude|E])" + wc_magi_spells_tt:0 "Can Use the #V Cast for Me#! interaction" + wc_court_mage_position_desc:0 "From [court_position|E] Court Mage" + + wc_summon_fire_elemental_modifier:0 "Fire Elemental" + wc_summon_fire_elemental_modifier_desc:0 "This character has the power of a minor fire elemental beside them, making their fire spells more effective, and increasing their [wc_magic_resistance|E] to fire & water spells." + + wc_flame_wall_good_modifier:0 "Flame Wall" + wc_flame_wall_good_modifier_desc:0 "This character's armies have been infused with elemntal power to trample their enemies." + + wc_flame_wall_bad_modifier:0 "$wc_flame_wall_good_modifier$" + wc_flame_wall_bad_modifier_desc:0 "This character's armies have been cursed, and is going to struggle in battle." + + wc_empowered_fire_elemental_modifier:0 "Empowered Fire Elemental" + wc_empowered_fire_elemental_modifier_desc:0 "This character's [fire_elemental|E] will be empowered, causing more damage to their enemies." + + wc_lava_lash_modifier:0 "Lava Lashed" + wc_lava_lash_modifier_desc:0 "This province has suffered damage by lava at the hands of a powerful magic user." + + wc_animate_rage_modifier:0 "Animate Rage" + wc_animate_rage_modifier_desc:0 "This player used their magical power to destroy an artifact and reap it's benefits." + + wc_backdraft_proc_modifier:0 "Backdraft" + wc_backdraft_proc_modifier_desc:0 "This character's next spell cast will be free." + + wc_pyromania_modifier:0 "Pyromania" + wc_pyromania_modifier_desc:0 "This character's Elemental Fire [wc_spells|E] have a chance to empower them further." + + wc_burnout_modifier:0 "Burnout" + wc_burnout_modifier_desc:0 "This character is slow to recover after casting spells, and their power is being siphoned by another magic user." + + wc_burnout_good_modifier:0 "Burnout" + wc_burnout_good_modifier_desc:0 "This character is gaining Magical Prowess everytime their target casts a spell." + + wc_elemental_fire_minor_protection_modifier:0 "$planar_fire_header_text$ Minor Protection" + wc_elemental_fire_minor_protection_modifier_desc:0 "This character has had Fire Elemental spirits bestow some protection over them, granting them bonuses and base [wc_magic_resistance|E]." + wc_elemental_fire_major_protection_modifier:0 "$planar_fire_header_text$ Major Protection" + wc_elemental_fire_major_protection_modifier_desc:0 "This character has had Fire Elemental spirits bestow great protection over them, granting them bonuses and base [wc_magic_resistance|E]." + + wc_elemental_fire_minor_efficiency_modifier:0 "$planar_fire_header_text$ Minor Efficiency" + wc_elemental_fire_minor_efficiency_modifier_desc:0 "This character has had Fire Elemental spirits bolster their realm, allowing things to get done faster." + wc_elemental_fire_major_efficiency_modifier:0 "$planar_fire_header_text$ Major Efficiency" + wc_elemental_fire_major_efficiency_modifier_desc:0 "$wc_elemental_fire_major_efficiency_modifier$." + + wc_elemental_fire_minor_companionship_modifier:0 "$planar_fire_header_text$ Minor Companionship" + wc_elemental_fire_minor_companionship_modifier_desc:0 "This character has had Fire Elemental spirits aid them in matters of diplomacy and their family lives." + wc_elemental_fire_major_companionship_modifier:0 "$planar_fire_header_text$ Major Companionship" + wc_elemental_fire_major_companionship_modifier_desc:0 "$wc_elemental_fire_minor_companionship_modifier_desc$" + + wc_elemental_fire_fear_me_modifier:0 "$planar_fire_header_text$ Fear" + wc_elemental_fire_fear_me_modifier_desc:0 "This ruler uses the Fire Elements to invoke Fear in their subjects." + + wc_elemental_fire_love_me_modifier:0 "$planar_fire_header_text$ Love" + wc_elemental_fire_love_me_modifier_desc:0 "This ruler uses the Fire Elements to swoon their subjects." + + wc_elemental_fire_planar_fire_modifier:0 "Planar Fire" + wc_elemental_fire_planar_fire_modifier_desc:0 "The Fire Elements have empowered this character." + + wc_elemental_fire_planar_fire_decay_win_modifier:0 "$planar_fire_header_text$ Victorious Siege" + wc_elemental_fire_planar_fire_decay_win_modifier_desc:0 "This character has won a siege against a powerful Firelord, and took Fire Elementals as slaves." + + wc_hearth_blessing_modifier:0 "Hearth Blessing" + wc_hearth_blessing_modifier_desc:0 "This character's [temple_holdings|E] grant them bonus [health|E]." + + wc_cauterized_wound_modifier:0 "Cauterized Wound" + wc_cauterized_wound_modifier_desc:0 "This character's strength has been temporarily restored by Elemental Fire." + + wc_vernal_solstice_modifier:0 "Vernal Solstice" + wc_vernal_solstice_modifier_desc:0 "This duchy is experiencing the warmth of fire magic, allowing activities and events to flourish in this area." + + wc_vernal_solstice_cooldown_modifier:0 "Recent Vernal Solstice" + wc_vernal_solstice_cooldown_modifier_desc:0 "This duchy has recently had a Vernal Solstice, and is too warm to have one again any time soon." + + wc_elemental_sacrifice_modifier:0 "Elemental Sacrifice" + wc_elemental_sacrifice_modifier_desc:0 "This character sacrificed their power to the Elements in exchange for something, causing them to lose Magical Prowess. Let's hope it was worth it..." + + wc_fire_magic_blessing_modifier:0 "Elemental Fire Blessing" + wc_fire_magic_blessing_modifier_desc:0 "This character has been Blessed by a Firelord, shortening their Elemental Fire spell cooldowns & increasing duration by 5% per stack." + + wc_fire_magic_defensive_force_modifier:0 "Sheath of Fire" + wc_fire_magic_defensive_force_modifier_desc:0 "This character has absorbed the essence of fire spirits and can now use it to protect themselves." + wc_fire_magic_offensive_force_modifier:0 "Sword of Fire" + wc_fire_magic_offensive_force_modifier_desc:0 "This character has absorbed the essence of fire spirits and can now use it to attack their enemies." + + max_befriend_schemes_add:0 "Max [GetScheme('befriend').GetTypeName] [schemes|E]" + wc_from_elemental_communion:0 "Base, without Elemental Communion" + wc_misc:0 "Other" + + wc_elemental_fire_learning_boost_modifier:0 "Studying $doctrine_elemental_fire_magic_name$" + wc_elemental_fire_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_elemental_fire_magic_name$ progress." + + wc_elemental_air_learning_boost_modifier:0 "Studying $doctrine_elemental_air_magic_name$" + wc_elemental_air_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_elemental_air_magic_name$ progress." + + wc_elemental_water_learning_boost_modifier:0 "Studying $doctrine_elemental_water_magic_name$" + wc_elemental_water_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_elemental_water_magic_name$ progress." + + wc_elemental_earth_learning_boost_modifier:0 "Studying $doctrine_elemental_earth_magic_name$" + wc_elemental_earth_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_elemental_earth_magic_name$ progress." + + wc_light_learning_boost_modifier:0 "Studying $doctrine_light_magic_name$" + wc_light_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_light_magic_name$ progress." + + wc_shadow_learning_boost_modifier:0 "Studying $doctrine_shadow_magic_name$" + wc_shadow_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_shadow_magic_name$ progress." + + wc_life_learning_boost_modifier:0 "Studying $doctrine_life_magic_name$" + wc_life_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_life_magic_name$ progress." + + wc_death_learning_boost_modifier:0 "Studying $doctrine_death_magic_name$" + wc_death_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_death_magic_name$ progress." + + wc_order_learning_boost_modifier:0 "Studying $doctrine_order_magic_name$" + wc_order_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_order_magic_name$ progress." + + wc_disorder_learning_boost_modifier:0 "Studying $doctrine_disorder_magic_name$" + wc_disorder_learning_boost_modifier_desc:0 "This character is getting a boost to their $doctrine_disorder_magic_name$ progress." + + all_secrets_exposed_tt:0 "All of their secrets get exposed." + planar_fire_header_text:0 "Planar Fire:" + + wc_fire_decay_ritual_feed_modifier:0 "$planar_fire_header_text$ Power Siphon" + wc_fire_decay_ritual_feed_modifier_desc:0 "This character is siphoning power from the Fire Elements to fuel their spells." + + wc_flamestrike_modifier:0 "Flamestrike" + wc_flamestrike_modifier_desc:0 "This [county|E] has recently been struck with a [wc_spell_flamestrike|E], and is still suffering its effects." + + wc_fire_shield_modifier:0 "Fire Shield" + wc_fire_shield_modifier_desc:0 "Reflects hostile spells, inflicting the caster with [GetTrait('burned_1').GetName( GetNullCharacter )] or increasing their burn severity." + + wc_frostfire_bolt_good_modifier:0 "Frostfire Bolt" + wc_frostfire_bolt_bad_modifier:0 "$wc_frostfire_bolt_good_modifier$" + + wc_frostbolt_modifier:0 "Frostbolt" + wc_frostbolt_modifier_desc:0 "[wc_spell|E] Cast Time: @wc_spell_icon!#N +10%#!" + + wc_frost_nova_modifier:0 "Frost Nova" + wc_frost_nova_modifier_desc:0 "Susceptibility to [wc_spell_frostbolt|E]: #N +80%#!" + + wc_frost_armor_modifier:0 "Frost Armor" + wc_frost_armor_modifier_desc:0 "One hostile spell will be #P completely blocked#!\nLikelihood of dying in [battle|E]: #P -20%#!" + + wc_blizzard_county_modifier:0 "Blizzard" + wc_blizzard_county_modifier_desc:0 "Every [character|E] in this county:\n$EFFECT_LIST_BULLET$[wc_spell|E] Cast Time: @wc_spell_icon!#N +20%#!\n$EFFECT_LIST_BULLET$[army|E] Movement Speed: @movement_speed_icon!#N -20%#!\n$EFFECT_LIST_BULLET$[travel|E] Safety: @travel_safety_icon!#N -20#!\n$EFFECT_LIST_BULLET$[epidemic_resistance|E]: @epidemic_icon!#N -20#!" + wc_blizzard_character_modifier:0 "Blizzard" + wc_blizzard_character_modifier_desc:0 "[wc_spell|E] Cast Time: @wc_spell_icon!#N +20%#!" + + wc_counterspell_modifier:0 "Counterspell" + wc_counterspell_modifier_desc:0 "This character will reflect a hostile spell back onto its caster." + + wc_scry_modifier:0 "Scrying" + wc_scry_modifier_desc:0 "This character is certain of the correct path forward." + wc_empowered_scry_modifier:0 "Empowered Scrying" + wc_empowered_scry_modifier_desc:0 "This character is very certain of the correct path forward." + + wc_haste_modifier:0 "Haste" + wc_haste_modifier_desc:0 "[wc_spell|E] Cast Time: @wc_spell_icon!#P -15%#!\n[wc_spell|E] Cooldown Time: @wc_spell_icon!#P -15%#!" + wc_slow_modifier:0 "Slow" + wc_slow_modifier_desc:0 "[wc_spell|E] Cast Time: @wc_spell_icon!#N +15%#!\n[wc_spell|E] Cooldown Time: @wc_spell_icon!#N +15%#!" + + wc_conjure_food_modifier:0 "Conjured Food" + wc_conjure_food_modifier_desc:0 "This character has summoned some food to boost their health." + + wc_conjure_drink_modifier:0 "Conjured Drink" + wc_conjure_drink_modifier_desc:0 "This character has summoned some drinks to boost their magic.\n[wc_max_mana|E]: @wc_full_mana_icon!#P +15%#!\n[wc_mana_regeneration|E]: @wc_full_mana_icon!#P +15%#!" + + wc_conjure_feast_modifier:0 "Conjuring Feast" + wc_conjure_feast_modifier_desc:0 "This character is summoning refreshments for their next feast." + + wc_evocation_province_modifier:0 "Evocation" + wc_evocation_province_modifier_desc:0 "Every [character|E] in this province:\n$EFFECT_LIST_BULLET$[wc_max_mana|E]: @wc_full_mana_icon!#P +50%#!\n$EFFECT_LIST_BULLET$[wc_mana_regeneration|E]: @wc_full_mana_icon!#P +50%#!\n$EFFECT_LIST_BULLET$Chance To Double Cast [wc_spells|E]: @wc_spell_icon!#P +50%#!" + wc_evocation_character_modifier:0 "Evocation" + wc_evocation_character_modifier_desc:0 "[wc_max_mana|E]: @wc_full_mana_icon!#P +50%#!\n[wc_mana_regeneration|E]: @wc_full_mana_icon!#P +50%#!\nChance To Double Cast [wc_spells|E]: @wc_spell_icon!#P +50%#!" + + wc_arcane_dome_county_modifier:0 "Arcane Dome" + wc_arcane_dome_county_modifier_desc:0 "This county is protected by a large dome of arcane energy.\nEvery non-allied [army|E] in this county:\n$EFFECT_LIST_BULLET$@command_modifier_icon! [siege|E] Phase Time: #N +10000%#!\n$EFFECT_LIST_BULLET$@command_modifier_icon! [advantage|E]: @advantage_icon! #N -25#!\n$EFFECT_LIST_BULLET$Hostile County Attrition: @raid_icon! #N +250%#!\n$EFFECT_LIST_BULLET$Hostile County Attrition while [raiding|E]: #N +250%#!\n$EFFECT_LIST_BULLET$@command_modifier_icon! [supply|E] Duration: @supply_icon! #N -500%#!\n$EFFECT_LIST_BULLET$@command_modifier_icon! [supply|E] Capacity: @supply_icon! #N -500%" + wc_arcane_dome_character_modifier:0 "Arcane Dome" + wc_arcane_dome_character_modifier_desc:0 "This character and their army is being destroyed by a county encompassing dome of arcane energy." + + wc_quickening_modifier:0 "Quickening" + wc_quickening_modifier_desc:0 "$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_quickening_current_mana_to_prowess_value')|0%=+]" + + wc_holy_fire_modifier:0 "Holy Fire" + wc_holy_fire_modifier_desc:0 "This character has been struck down by the forces of light.\n$wc_light_magic_resistance$ #N -25%#!" + + wc_lightwell_modifier:0 "Lightwell" + wc_lightwell_modifier_desc:0 "This character has been blessed by the light.\n$wc_light_magic_resistance$ #P +25%#!" + + wc_exorcism_modifier:0 "Exorcism" + wc_exorcism_modifier_desc:0 "This character has been exorcised by a powerful light user.\nGeneral [wc_magic_resistance|E] #N -1#!" + + wc_salvation_modifier:0 "Salvation" + wc_salvation_modifier_desc:0 "This character will have their next non-natural death prevented." + + wc_saved_with_salvation_modifier:0 "Lingering Death" + wc_saved_with_salvation_modifier_desc:0 "This character has been saved from death by a powerful light user, but is still suffering from the effects of the near-death experience, indefinitely.\nGeneral [wc_magic_resistance|E] #N -2#!" + + wc_divine_shield_modifier:0 "Divine Shield" + wc_divine_shield_modifier_desc:0 "This character has been shielded by the light, and will block the next hostile non-Light spell. While this modifier is active, the character also cannot die in combat." + + wc_consecration_county_positive_modifier:0 "Consecration" + wc_consecration_county_positive_modifier_desc:0 "This county has been consecrated by a powerful light user, and is now a beacon of light.\n" + + wc_consecration_county_negative_modifier:0 "Consecration" + wc_consecration_county_negative_modifier_desc:0 "This county has been consecrated by a powerful light user, and is now burning.\n" + + wc_rebuke_modifier:0 "Rebuke" + wc_rebuke_modifier_desc:0 "This character's spell casting has been interrupted, and they're still struggling to recover.\n[wc_spell|E] Cast Time: @wc_spell_icon!#N +25%#!" + + wc_divine_storm_county_modifier:0 "Divine Storm" + wc_divine_storm_county_modifier_desc:0 "This county has been razed by a holy magic user." + + wc_divine_storm_character_modifier:0 "Divine Storm" + wc_divine_storm_character_modifier_desc:0 "This character has been razed by a holy magic user." + + wc_blessed_bastion_modifier:0 "Blessed Bastion" + wc_blessed_bastion_modifier_desc:0 "This character has been blessed by the light, and will continue to be protected by its power.\nLight [wc_spell|E] Cooldown: @wc_spell_icon! #P -30%#!\n[wc_mana_regeneration|E]: @wc_full_mana_icon! #P +1#!\nGeneral [wc_magic_resistance|E] #P +3#!" + + wc_blessed_bastion_county_modifier:0 "Blessed Bastion" + wc_blessed_bastion_county_modifier_desc:0 "This county has been protected by a barrier of light." + + wc_diplo_range_from_mp_modifier:0 "Magical Diplomacy" + wc_diplo_range_from_mp_modifier_desc:0 "This character's $wc_magical_prowess$ allows them to communicate with and cast on farther distances." + wc_diplo_range_from_mp_modifier_scale:0 "Base, Without $wc_magical_prowess$" + + wc_blessed_blood_modifier:0 "Blessed Blood" + wc_blessed_blood_modifier_desc:0 "" + + wc_echo_of_light_modifier:0 "Echo of Light" + wc_echo_of_light_modifier_desc:0 "Holy magic lingers on this character.\n [wc_spell_school_disorder|E] [wc_magic_resistance|E]: #P +3#!\n [wc_spell_school_shadow|E] [wc_magic_resistance|E]: #P +3#!\n [wc_spell_school_light|E] [wc_magic_resistance|E]: #P +3#!" + + wc_divine_purpose_modifier:0 "Divine Purpose" + wc_divine_purpose_modifier_desc:0 "This character has been chosen by Light to serve, and has a lower chance of dying in battle." + + wc_devotion_aura_modifier:0 "Devotion Aura" + wc_devotion_aura_modifier_desc:0 "This character has shown their devotion to practicing holy magic, and will be protected in their crusade.\nGeneral [wc_magic_resistance|E] #P +3#!" + + wc_retribution_aura_modifier:0 "Retribution Aura" + wc_retribution_aura_modifier_desc:0 "This character wields holy magic to protect their allies and smite their enemies.\n[wc_spell|E] Cast Time: @wc_spell_icon!#P -15%#!\n[wc_spell_school_light|E] [wc_spell|E] Cooldown: @wc_spell_icon!#P -25%#!" + + wc_concentration_aura_modifier:0 "Concentration Aura" + wc_concentration_aura_modifier_desc:0 "This character has been blessed with the power of focus, and can easily hone in their abilities.\n[wc_mana_regeneration|E]: @wc_full_mana_icon! #P +10%#!" + + wc_vengeance_aura_modifier:0 "Vengeance Aura" + wc_vengeance_aura_modifier_desc:0 "This character has been infused with the power of vengeance, and will use holy magic to incapacitate their enemies.\n\nWhen targeted with a #N hostile#! [wc_spell|E], the attacker will gain [GetModifier('wc_vengeance_aura_modifier_negative').GetNameWithTooltip] for 6 months." + + wc_vengeance_aura_modifier_negative:0 "Purge the Wicked" + wc_vengeance_aura_modifier_negative_desc:0 "This character attacked a holy magic wielder with a hostile spell, and is now suffering the consequences.\nGeneral [wc_magic_resistance|E]: #N -1#!\n[wc_spell|E] Cast Time: @wc_spell_icon!#N +10%#!" + + wc_fleshcrafting_modifier:0 "Fleshcrafted" + + wc_deaths_advance_modifier:0 "Death's Advance" + + wc_blood_gorged_modifier:0 "Blood Gorged" + wc_blood_gorged_modifier_desc:0 "@wc_stat_mana_icon! [wc_available_mana_to_stat|E]: #P +3%#!" + + wc_death_pact_modifier:0 "Death Pact" + wc_death_pact_modifier_desc:0 "[wc_mana_regeneration|E]: @wc_full_mana_icon!#P +20%#!" + + wc_mark_of_blood_commander_modifier:0 "Mark of Blood" + wc_mark_of_blood_knight_modifier:0 "Mark of Blood" + + wc_death_coil_positive_modifier:0 "Death Coil" + + wc_death_coil_negative_modifier:0 "Death Coil" + wc_death_coil_negative_modifier_desc:0 "[wc_spell_school_death|E] [wc_magic_resistance|E]: #N -2#!" + + wc_death_and_decay_county_modifier:0 "Death and Decay" + wc_death_and_decay_county_modifier_caster_desc:0 "Casted by [caster.GetShortUIName]" + wc_death_and_decay_county_modifier_desc:0 "Every non-allied [army|E] of the caster in this county:\n$EFFECT_LIST_BULLET$Hostile County Attrition: @raid_icon! #N +100%#!\n$EFFECT_LIST_BULLET$Hostile County Attrition while [raiding|E]: #N +100%#!\n$EFFECT_LIST_BULLET$@command_modifier_icon! [supply|E] Duration: @supply_icon! #N -75%#!\n$EFFECT_LIST_BULLET$@command_modifier_icon! [supply|E] Capacity: @supply_icon! #N -75%" + + wc_death_and_decay_character_modifier:0 "Death and Decay" + + wc_cripple_modifier:0 "Crippled" + + wc_strangulate_modifier:0 "Strangulated" + wc_strangulate_modifier_desc:0 "@warning_icon!#X Unable to cast spells#!" + + wc_crimson_binding_modifier:0 "Crimson Binding" + + wc_death_grip_modifier:0 "Death Grip" + + wc_summon_water_elemental_modifier:0 "Water Elemental" + wc_summon_water_elemental_modifier_desc:0 "This character has the power of a minor water elemental beside them, empowering them in water and winter as well as boosting their casting.\n[wc_spell|E] Cast Time: @wc_spell_icon!#N +5%#!\n[wc_spell|E] Cooldown: @wc_spell_icon!#N +5%#!\n[wc_spell|E] Duration: @wc_spell_icon!#P +30%#!" + + wc_empowered_water_elemental_modifier:0 "Empowered Water Elemental" + wc_empowered_water_elemental_modifier_desc:0 "This character has the powers of an empowered water elemental on their side, slowing the speed of their enemies.\nEnemy [commander|E] after battle:\n$EFFECT_LIST_BULLET$[army|E] Movement Speed: @movement_speed_icon!#N -10%#!" + + wc_empowered_water_elemental_enemy_modifier:0 "Empowered Water Elemental" + wc_empowered_water_elemental_enemy_modifier_desc:0 "This character has been struck by an empowered water elemental." + + wc_soothing_waters_modifier:0 "Soothing Waters" + wc_soothing_waters_modifier_desc:0 "This character has been hit by some healing waters." + + wc_river_spirits_rage_character_modifier:0 "River Spirit's Rage" + wc_river_spirits_rage_character_modifier_desc:0 "This character has been struck by the rage of a river spirit." + + wc_river_spirits_rage_army_modifier:0 "River Spirit's Rage" + wc_river_spirits_rage_army_modifier_desc:0 "This army has been struck by the rage of a river spirit." + + wc_invoke_tsunami_modifier:0 "Tsunami Struck" + wc_invoke_tsunami_modifier_desc:0 "This location has recently been struck by a tsunami." + + wc_icefury_modifier:0 "Icefury" + wc_icefury_modifier_desc:0 "This location has recently been afflicted with Icefury." + + wc_ice_structure_spirit_province_modifier:0 "Ice Structure" + wc_ice_structure_spirit_province_modifier_desc:0 "A structure of ice has been conjured here.\nEvery [character|E] in this province:\n$EFFECT_LIST_BULLET$[embarkation|E] Cost: @gold_icon!#P -50%#!\n$EFFECT_LIST_BULLET$[army|E] Movement Speed: @movement_speed_icon!#P +20%#!" + + wc_ice_structure_decay_province_modifier:0 "$wc_ice_structure_spirit_province_modifier$" + wc_ice_structure_decay_province_modifier_desc:0 "A structure of ice has been conjured here.\nEvery [character|E] in this province:\n$EFFECT_LIST_BULLET$[embarkation|E] Cost: @gold_icon!#P -50%#!\n$EFFECT_LIST_BULLET$[scheme|E] [secrecy|E]: @scheme_secrecy_icon!#N -15%#!\n$EFFECT_LIST_BULLET$[army|E] Movement Speed: @movement_speed_icon!#P +20%#!" + + wc_ice_structure_spirit_character_modifier:0 "$wc_ice_structure_spirit_province_modifier$" + wc_ice_structure_decay_character_modifier:0 "$wc_ice_structure_spirit_province_modifier$" + + wc_eternal_winter_modifier:0 "Eternal Winter" + wc_eternal_winter_modifier_desc:0 "An eternal winter reigns here.\nDuring the winter months this [county|E] is afflicted with [GetModifier('wc_blizzard_county_modifier').GetName] modifier" + + wc_eternal_winter_renown_modifier: "Eternal Winter" + wc_eternal_winter_renown_modifier_desc: "This character has cast [wc_spell_eternal_winter|E] and is reaping the benefits." + wc_eternal_winter_gold_modifier: "Eternal Winter" + wc_eternal_winter_gold_modifier_desc: "This character has cast [wc_spell_eternal_winter|E] and is reaping the benefits." + + wc_aquatic_bounty_coastal_modifier:0 "Aquatic Bounty" + wc_aquatic_bounty_coastal_modifier_desc:0 "This province is experiencing a large influx of resources from the sea" + wc_aquatic_bounty_riverside_modifier:0 "Aquatic Bounty" + wc_aquatic_bounty_riverside_modifier_desc:0 "This province is experiencing a large influx of resources from a river" + + wc_sirens_call_modifier:0 "Siren's Call" + + wc_lingering_hibernation_modifier:0 "Lingering Hibernation" + wc_lingering_hibernation_modifier_desc:0 "This character has recently awoken from hibernation. The healing magics flow through them still." + + wc_cold_storage_modifier:0 "Cold Storage" + wc_cold_storage_winter_modifier:0 "Cold Storage" + + wc_void_leader_modifier: "Void Leader" + wc_void_leader_modifier_desc: "This characters is a summoned powerful being of the void.\n[wc_spell|E] Cast Time: @wc_spell_icon!#P -25%#!" + + wc_voidborne_modifier: "Voidborne" + wc_voidborne_modifier_desc: "This character has harnessed powers of the void, benefiting from its power using a mortal sacrifice.\n[wc_spell_school_shadow|E] [wc_spells|E] Cast Time: @wc_spell_icon!#P -25%#!\n[wc_spell_school_shadow|E] [wc_spells|E] Duration: @wc_spell_icon!#P +25%#!\n[wc_spell_school_shadow|E] [wc_spells|E] Cooldown: @wc_spell_icon!#P -25%#!" + + wc_rend_flesh_modifier: "Rend Flesh" + wc_rend_flesh_modifier_desc: "This character has been struck by a powerful void user, and is now suffering the consequences." + wc_rend_flesh_1_modifier: "$wc_rend_flesh_modifier$" + wc_rend_flesh_1_modifier_desc: "$wc_rend_flesh_modifier_desc$" + wc_rend_flesh_2_modifier: "$wc_rend_flesh_modifier$" + wc_rend_flesh_2_modifier_desc: "$wc_rend_flesh_1_modifier_desc$\n[wc_spells|E] Cast Time: @wc_spell_icon!#n +15%#!\n[wc_spell_school_shadow|E] [wc_magic_resistance|E]: #N -3#!" + wc_rend_flesh_3_modifier: "$wc_rend_flesh_modifier$" + wc_rend_flesh_3_modifier_desc: "$wc_rend_flesh_1_modifier_desc$\n[wc_spells|E] Cast Time: @wc_spell_icon!#n +25%#!\n[wc_spell_school_shadow|E] [wc_magic_resistance|E]: #N -5#!" + + wc_insanity_modifier: "Insanity" + wc_insanity_modifier_desc: "This character is going a bit mad." + + wc_mania_modifier: "Mania" + wc_mania_modifier_desc: "This character is feeling a bit manic.n[wc_spell_school_shadow|E]\n[wc_spells|E] Cast Time: @wc_spell_icon!#P -15%#!" + + wc_silenced_modifier: "Silenced" + wc_silenced_modifier_desc: "This character has been silenced by a powerful void user, and is now unable to cast spells." + + wc_shadow_crashed_modifier: "Shadow Crashed" + wc_shadow_crashed_modifier_desc: "This character was in the wrong place at the wrong time, and has been crippled by a shadow magic bomb.\n[wc_spell_school_shadow|E] [wc_magic_resistance|E]: #N -3#!\n[wc_max_mana|E]: @wc_full_mana_icon! #n +15%#!" + + wc_twisted_chains_modifier: "Twisted Chains" + wc_twisted_chains_modifier_desc: "This character has been bound by twisted chains of shadow magic.\n[wc_spell_school_shadow|E] [wc_spells|E] Duration: @wc_spell_icon!#P +50%#!\n[wc_spell_school_shadow|E] [wc_spells|E] Cooldown: @wc_spell_icon!#P -25%#!\n[wc_spell_school_shadow|E] [wc_spells|E] [wc_mana|E] cost: @wc_full_mana_icon!#P -25%#!\nClaim Throne, Murder, and Seize Realm [scheme|E] Success Chance: #p +25%#!" + + wc_twisted_chains_dread_modifier: "Twisted Chains: Fear" + wc_twisted_chains_dread_modifier_desc: "The void beckons." + wc_from_tc_desc: "Base, without [wc_spell_twisted_chains|E]" + + wc_ascension_modifier: "Dark Ascension" + wc_ascension_modifier_desc: "This character's realm is boosting their power.\n[wc_mana_regeneration|E]: @wc_full_mana_icon!#P +25%#!\n[wc_max_mana|E]: @wc_full_mana_icon! #p +10%#!" + + wc_whispers_murder_modifier: "Hostility Tactics" + wc_whispers_murder_modifier_desc: "" + + wc_whispers_love_modifier: "Loving Touch" + wc_whispers_love_modifier_desc: "" + + wc_whispers_tyranny_modifier: "Just Ruler" + wc_whispers_tyranny_modifier_desc: "" + + wc_whispers_hurt_modifier: "True Brawn" + wc_whispers_hurt_modifier_desc: "" + + wc_whispers_artifact_modifier: "Artifact Preservation" + wc_whispers_artifact_modifier_desc: "" + + wc_whispers_health_modifier: "Pristine Condition" + wc_whispers_health_modifier_desc: "" + + wc_power_word_barrier_modifier:0 "Power Word: Barrier" + wc_power_word_barrier_modifier_desc:0 "[wc_magic_resistance|E]: #p +3#!" + + wc_dispersion_modifier:0 "Dispersion" + wc_dispersion_modifier_desc:0 "Chance of dying a non-natural Death: @death_icon! #p -50%#!" + + wc_necrotic_rule_modifier:0 "Necrotic Rule" + wc_necrotic_rule_modifier_desc:0 "[dark_frenzy|E] Gain: #p +25%#!\n[dark_frenzy|E] Decay: #p -50%#!" + wc_necrotic_rule_modifier_tt:0 "From [GetModifier('wc_necrotic_rule_modifier').GetNameWithTooltip]" \ No newline at end of file diff --git a/localization/english/modifiers/wc_modifiers_spells_l_english.yml b/localization/english/modifiers/wc_modifiers_spells_l_english.yml new file mode 100644 index 0000000000..59e01bfabf --- /dev/null +++ b/localization/english/modifiers/wc_modifiers_spells_l_english.yml @@ -0,0 +1,9 @@ +l_english: + wc_unlock_spell_line:0 "Unlock [wc_spell_icon_gc|E][wc_spell|E]" + + WC_MAGIC_ADD_ENCHANTMENT_SPELL_RANK_EFFECT_FIRST:0 "[wc_spell_type_enchantment|E] [wc_spell_rank|E]: $VALUE|=+0$" + + WC_MAGIC_UNLOCK_ORDER_ARCANE_INTELLECT_SPELL_EFFECT_FIRST:0 "$wc_unlock_spell_line$: [wc_magic_spell_order_arcane_intellect|E]" + wc_magic_spell_order_arcane_intellect_modifier:0 "Arcane Intellect" + wc_magic_spell_order_arcane_intellect_modifier_desc:0 "This character was infused with brilliance by [wc_spell_icon_gc|E][wc_magic_spell_order_arcane_intellect|E]." + diff --git a/localization/english/opinions/wc_general_opinions_l_english.yml b/localization/english/opinions/wc_general_opinions_l_english.yml index 3bc34893af..070bee6c31 100644 --- a/localization/english/opinions/wc_general_opinions_l_english.yml +++ b/localization/english/opinions/wc_general_opinions_l_english.yml @@ -33,4 +33,20 @@ tenet_scarlet_mark_crime:0 "[GetTrait('scarlet_mark').GetName( GetNullCharacter )]" unreasonable_opinion:0 "Showed himself to be unreasonable" - path_to_glory_opinion:0 "Is ambitious and thirsty for glory" \ No newline at end of file + path_to_glory_opinion:0 "Is ambitious and thirsty for glory" + + wc_casted_helpful_spell:0 "Used Helpful Magic on Me" + wc_casted_harmful_spell:0 "Used Harmful Magic on Me" + wc_burned_me:0 "Burned Me" + wc_frostbit_me:0 "Frostbit Me" + wc_shocked_me:0 "Shocked Me" + wc_poisoned_me:0 "Poisoned Me" + wc_healed_me:0 "Healed Me" + wc_wrathed_me:0 "Inflicted Holy Wrath on Me" + wc_saved_me_salvation:0 "Saved Me from Death" + wc_plagued_me:0 "Plagued Me" + wc_void_sickness_me:0 "Inflicted Void Sickness on Me" + wc_silenced_me:0 "Silenced Me" + wc_shadow_crashed_me:0 "Shadow Crashed Me" + wc_twisted_chains_me:0 "Damaged my Realm" + wc_raised_me_from_dead: "Turned me [GetTrait('being_undead').GetName( GetNullCharacter )]" \ No newline at end of file diff --git a/localization/english/religion/wc_magic_doctrines_l_english.yml b/localization/english/religion/wc_magic_doctrines_l_english.yml index 172f3b7c56..db872d6bb9 100644 --- a/localization/english/religion/wc_magic_doctrines_l_english.yml +++ b/localization/english/religion/wc_magic_doctrines_l_english.yml @@ -42,96 +42,96 @@ doctrine_parameter_elunic_life_magic_male_only:0 "Female characters, unless they are [wc_children_of_cenarius_wo_family|E], can #bold not#! learn Nature Magic" doctrine_elunic_gender_stratification_name:0 "$special_doctrine_elunic_gender_stratification_name$" - doctrine_parameter_light_magic_illegal:0 "Characters who use Light Magic are [criminals|E]" - doctrine_parameter_shadow_magic_illegal:0 "Characters who use Shadow Magic are [criminals|E]" - doctrine_parameter_disorder_magic_illegal:0 "Characters who use Fel Magic are [criminals|E]" - doctrine_parameter_order_magic_illegal:0 "Characters who use Arcane Magic are [criminals|E]" - doctrine_parameter_life_magic_illegal:0 "Characters who use Nature Magic are [criminals|E]" - doctrine_parameter_death_magic_illegal:0 "Characters who use Death Magic are [criminals|E]" - doctrine_parameter_elemental_fire_magic_illegal:0 "Characters who use Fire Magic are [criminals|E]" - doctrine_parameter_elemental_water_magic_illegal:0 "Characters who use Water Magic are [criminals|E]" - doctrine_parameter_elemental_air_magic_illegal:0 "Characters who use Air Magic are [criminals|E]" - doctrine_parameter_elemental_earth_magic_illegal:0 "Characters who use Earth Magic are [criminals|E]" - doctrine_parameter_elemental_fire_spirit_magic_illegal:0 "Characters who use Spirit-Fire Magic are [criminals|E]" - doctrine_parameter_elemental_water_spirit_magic_illegal:0 "Characters who use Spirit-Water Magic are [criminals|E]" - doctrine_parameter_elemental_air_spirit_magic_illegal:0 "Characters who use Spirit-Air Magic are [criminals|E]" - doctrine_parameter_elemental_earth_spirit_magic_illegal:0 "Characters who use Spirit-Earth Magic are [criminals|E]" - doctrine_parameter_elemental_fire_decay_magic_illegal:0 "Characters who use Decay-Fire Magic are [criminals|E]" - doctrine_parameter_elemental_water_decay_magic_illegal:0 "Characters who use Decay-Water Magic are [criminals|E]" - doctrine_parameter_elemental_air_decay_magic_illegal:0 "Characters who use Decay-Air Magic are [criminals|E]" - doctrine_parameter_elemental_earth_decay_magic_illegal:0 "Characters who use Decay-Earth Magic are [criminals|E]" + doctrine_parameter_light_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_light_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_light_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_shadow_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_shadow_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_shadow_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_disorder_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_disorder_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_disorder_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_order_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_order_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_order_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_life_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_life_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_life_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_death_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_death_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_death_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_fire_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_water_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_air_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_earth_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_fire_spirit_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_spirit_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_water_spirit_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_spirit_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_air_spirit_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_spirit_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_earth_spirit_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_spirit_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_fire_decay_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_decay_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_water_decay_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_decay_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_air_decay_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_decay_magic_name$#!#! line of [traits|E] are [criminals|E]" + doctrine_parameter_elemental_earth_decay_magic_illegal:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_decay_magic_name$#!#! line of [traits|E] are [criminals|E]" - doctrine_parameter_light_magic_shunned:0 "Characters who use Light Magic are [shunned|E]" - doctrine_parameter_shadow_magic_shunned:0 "Characters who use Shadow Magic are [shunned|E]" - doctrine_parameter_disorder_magic_shunned:0 "Characters who use Fel Magic are [shunned|E]" - doctrine_parameter_order_magic_shunned:0 "Characters who use Arcane Magic are [shunned|E]" - doctrine_parameter_life_magic_shunned:0 "Characters who use Nature Magic are [shunned|E]" - doctrine_parameter_death_magic_shunned:0 "Characters who use Death Magic are [shunned|E]" - doctrine_parameter_elemental_fire_magic_shunned:0 "Characters who use Fire Magic are [shunned|E]" - doctrine_parameter_elemental_water_magic_shunned:0 "Characters who use Water Magic are [shunned|E]" - doctrine_parameter_elemental_air_magic_shunned:0 "Characters who use Air Magic are [shunned|E]" - doctrine_parameter_elemental_earth_magic_shunned:0 "Characters who use Earth Magic are [shunned|E]" - doctrine_parameter_elemental_fire_spirit_magic_shunned:0 "Characters who use Spirit-Fire Magic are [shunned|E]" - doctrine_parameter_elemental_water_spirit_magic_shunned:0 "Characters who use Spirit-Water Magic are [shunned|E]" - doctrine_parameter_elemental_air_spirit_magic_shunned:0 "Characters who use Spirit-Air Magic are [shunned|E]" - doctrine_parameter_elemental_earth_spirit_magic_shunned:0 "Characters who use Spirit-Earth Magic are [shunned|E]" - doctrine_parameter_elemental_fire_decay_magic_shunned:0 "Characters who use Decay-Fire Magic are [shunned|E]" - doctrine_parameter_elemental_water_decay_magic_shunned:0 "Characters who use Decay-Water Magic are [shunned|E]" - doctrine_parameter_elemental_air_decay_magic_shunned:0 "Characters who use Decay-Air Magic are [shunned|E]" - doctrine_parameter_elemental_earth_decay_magic_shunned:0 "Characters who use Decay-Earth Magic are [shunned|E]" + doctrine_parameter_light_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_light_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_light_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_shadow_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_shadow_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_shadow_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_disorder_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_disorder_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_disorder_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_order_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_order_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_order_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_life_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_life_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_life_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_death_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_death_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_death_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_fire_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_water_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_air_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_earth_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_fire_spirit_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_spirit_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_water_spirit_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_spirit_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_air_spirit_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_spirit_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_earth_spirit_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_spirit_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_fire_decay_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_decay_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_water_decay_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_decay_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_air_decay_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_decay_magic_name$#!#! line of [traits|E] are [shunned|E]" + doctrine_parameter_elemental_earth_decay_magic_shunned:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_decay_magic_name$#!#! line of [traits|E] are [shunned|E]" - doctrine_parameter_light_magic_ignored:0 "Characters who use Light Magic are not minded" - doctrine_parameter_shadow_magic_ignored:0 "Characters who use Shadow Magic are not minded" - doctrine_parameter_disorder_magic_ignored:0 "Characters who use Fel Magic are not minded" - doctrine_parameter_order_magic_ignored:0 "Characters who use Arcane Magic are not minded" - doctrine_parameter_life_magic_ignored:0 "Characters who use Nature Magic are not minded" - doctrine_parameter_death_magic_ignored:0 "Characters who use Death Magic are not minded" - doctrine_parameter_elemental_fire_magic_ignored:0 "Characters who use Fire Magic are not minded" - doctrine_parameter_elemental_water_magic_ignored:0 "Characters who use Water Magic are not minded" - doctrine_parameter_elemental_air_magic_ignored:0 "Characters who use Air Magic are not minded" - doctrine_parameter_elemental_earth_magic_ignored:0 "Characters who use Earth Magic are not minded" - doctrine_parameter_elemental_fire_spirit_magic_ignored:0 "Characters who use Spirit-Fire Magic are not minded" - doctrine_parameter_elemental_water_spirit_magic_ignored:0 "Characters who use Spirit-Water Magic are not minded" - doctrine_parameter_elemental_air_spirit_magic_ignored:0 "Characters who use Spirit-Air Magic are not minded" - doctrine_parameter_elemental_earth_spirit_magic_ignored:0 "Characters who use Spirit-Earth Magic are not minded" - doctrine_parameter_elemental_fire_decay_magic_ignored:0 "Characters who use Decay-Fire Magic are not minded" - doctrine_parameter_elemental_water_decay_magic_ignored:0 "Characters who use Decay-Water Magic are not minded" - doctrine_parameter_elemental_air_decay_magic_ignored:0 "Characters who use Decay-Air Magic are not minded" - doctrine_parameter_elemental_earth_decay_magic_ignored:0 "Characters who use Decay-Earth Magic are not minded" + doctrine_parameter_light_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_light_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_light_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_shadow_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_shadow_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_shadow_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_disorder_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_disorder_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_disorder_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_order_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_order_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_order_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_life_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_life_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_life_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_death_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_death_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_death_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_fire_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_water_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_air_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_earth_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_fire_spirit_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_spirit_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_water_spirit_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_spirit_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_air_spirit_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_spirit_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_earth_spirit_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_spirit_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_fire_decay_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_decay_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_water_decay_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_decay_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_air_decay_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_decay_magic_name$#!#! line of [traits|E] are not minded" + doctrine_parameter_elemental_earth_decay_magic_ignored:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_decay_magic_name$#!#! line of [traits|E] are not minded" - doctrine_parameter_light_magic_accepted:0 "Characters who use Light Magic are fully accepted" - doctrine_parameter_shadow_magic_accepted:0 "Characters who use Shadow Magic are fully accepted" - doctrine_parameter_disorder_magic_accepted:0 "Characters who use Fel Magic are fully accepted" - doctrine_parameter_order_magic_accepted:0 "Characters who use Arcane Magic are fully accepted" - doctrine_parameter_life_magic_accepted:0 "Characters who use Nature Magic are fully accepted" - doctrine_parameter_death_magic_accepted:0 "Characters who use Death Magic are fully accepted" - doctrine_parameter_elemental_fire_magic_accepted:0 "Characters who use Fire Magic are fully accepted" - doctrine_parameter_elemental_water_magic_accepted:0 "Characters who use Water Magic are fully accepted" - doctrine_parameter_elemental_air_magic_accepted:0 "Characters who use Air Magic are fully accepted" - doctrine_parameter_elemental_earth_magic_accepted:0 "Characters who use Earth Magic are fully accepted" - doctrine_parameter_elemental_fire_spirit_magic_accepted:0 "Characters who use Spirit-Fire Magic are fully accepted" - doctrine_parameter_elemental_water_spirit_magic_accepted:0 "Characters who use Spirit-Water Magic are fully accepted" - doctrine_parameter_elemental_air_spirit_magic_accepted:0 "Characters who use Spirit-Air Magic are fully accepted" - doctrine_parameter_elemental_earth_spirit_magic_accepted:0 "Characters who use Spirit-Earth Magic are fully accepted" - doctrine_parameter_elemental_fire_decay_magic_accepted:0 "Characters who use Decay-Fire Magic are fully accepted" - doctrine_parameter_elemental_water_decay_magic_accepted:0 "Characters who use Decay-Water Magic are fully accepted" - doctrine_parameter_elemental_air_decay_magic_accepted:0 "Characters who use Decay-Air Magic are fully accepted" - doctrine_parameter_elemental_earth_decay_magic_accepted:0 "Characters who use Decay-Earth Magic are fully accepted" + doctrine_parameter_light_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_light_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_light_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_shadow_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_shadow_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_shadow_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_disorder_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_disorder_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_disorder_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_order_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_order_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_order_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_life_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_life_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_life_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_death_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_death_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_death_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_fire_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_water_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_air_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_earth_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_fire_spirit_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_spirit_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_water_spirit_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_spirit_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_air_spirit_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_spirit_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_earth_spirit_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_spirit_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_spirit_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_fire_decay_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_fire_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_fire_decay_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_water_decay_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_water_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_water_decay_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_air_decay_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_air_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_air_decay_magic_name$#!#! line of [traits|E] are fully accepted" + doctrine_parameter_elemental_earth_decay_magic_accepted:1 "Characters with the #TOOLTIP:GAME_TRAIT,user_of_elemental_earth_decay_magic_3,[GetNullCharacter.GetID] #L $trait_user_of_elemental_earth_decay_magic_name$#!#! line of [traits|E] are fully accepted" - doctrine_parameter_light_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Light Magic" - doctrine_parameter_shadow_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Shadow Magic" - doctrine_parameter_disorder_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Fel Magic" - doctrine_parameter_order_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Arcane Magic" - doctrine_parameter_life_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Nature Magic" - doctrine_parameter_death_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Death Magic" - doctrine_parameter_elemental_fire_spirit_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Spirit-Fire Magic" - doctrine_parameter_elemental_water_spirit_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Spirit-Water Magic" - doctrine_parameter_elemental_air_spirit_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Spirit-Air Magic" - doctrine_parameter_elemental_earth_spirit_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Spirit-Earth Magic" - doctrine_parameter_elemental_fire_decay_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Decay-Fire Magic" - doctrine_parameter_elemental_water_decay_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Decay-Water Magic" - doctrine_parameter_elemental_air_decay_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Decay-Air Magic" - doctrine_parameter_elemental_earth_decay_magic_approved:0 "Adherents have increased [opinion|e] about characters who use Decay-Earth Magic" + doctrine_parameter_light_magic_approved:1 "Shadow Magic is Idolised" + doctrine_parameter_shadow_magic_approved:1 "Light Magic is Idolised" + doctrine_parameter_disorder_magic_approved:1 "Order Magic is Idolised" + doctrine_parameter_order_magic_approved:1 "Disorder Magic is Idolised" + doctrine_parameter_life_magic_approved:1 "Death Magic is Idolised" + doctrine_parameter_death_magic_approved:1 "Life Magic is Idolised" + doctrine_parameter_elemental_fire_spirit_magic_approved:2 "Water Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_fire_spiritdecay_magic_favour|E] gained, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Fire Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_fire_spiritdecay_magic_favour|E] lost, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Fire Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_water_spirit_magic_approved:2 "Fire Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_water_spiritdecay_magic_favour|E] gained, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Water Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_water_spiritdecay_magic_favour|E] lost, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Water Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_air_spirit_magic_approved:2 "Earth Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_air_spiritdecay_magic_favour|E] gained, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Air Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_air_spiritdecay_magic_favour|E] lost, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Air Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_earth_spirit_magic_approved:2 "Air Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_earth_spiritdecay_magic_favour|E] gained, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Earth Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_earth_spiritdecay_magic_favour|E] lost, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Earth Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_fire_decay_magic_approved:2 "Water Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_fire_spiritdecay_magic_favour|E] gained, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Fire Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_fire_spiritdecay_magic_favour|E] lost, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Fire Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_water_decay_magic_approved:2 "Fire Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_water_spiritdecay_magic_favour|E] gained, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Water Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_water_spiritdecay_magic_favour|E] lost, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Water Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_air_decay_magic_approved:2 "Earth Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_air_spiritdecay_magic_favour|E] gained, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Air Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_air_spiritdecay_magic_favour|E] lost, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Air Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised" + doctrine_parameter_elemental_earth_decay_magic_approved:2 "Air Magic is Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_earth_spiritdecay_magic_favour|E] gained, adherents also lose [piety|E]: #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|-0] if only Earth Magic is Idolised, or #r -#![EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|-0] if all four Elemental Magics are Idolised\n$EFFECT_LIST_BULLET$For every [wc_elemental_earth_spiritdecay_magic_favour|E] lost, adherents also gain [piety|E]: [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_one_element')|=+0] if only Earth Magic is Idolised, or [EmptyScope.ScriptValue('wc_piety_per_elemental_favour_four_elements')|=+0] if all four Elemental Magics are Idolised" doctrine_light_magic_approved_name:0 "Idolised" doctrine_shadow_magic_approved_name:0 "$doctrine_light_magic_approved_name$" @@ -290,43 +290,43 @@ doctrine_elemental_air_magic_crime_desc:0 "$doctrine_light_magic_crime_desc$" doctrine_elemental_earth_magic_crime_desc:0 "$doctrine_light_magic_crime_desc$" - doctrine_parameter_light_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Light Magic" - doctrine_parameter_shadow_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Shadow Magic" - doctrine_parameter_disorder_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Fel Magic" - doctrine_parameter_order_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Arcane Magic" - doctrine_parameter_life_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Nature Magic" - doctrine_parameter_death_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Death Magic" - doctrine_parameter_elemental_fire_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Fire Magic" - doctrine_parameter_elemental_water_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Water Magic" - doctrine_parameter_elemental_air_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Air Magic" - doctrine_parameter_elemental_earth_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Earth Magic" - doctrine_parameter_elemental_fire_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Spirit-Fire Magic" - doctrine_parameter_elemental_water_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Spirit-Water Magic" - doctrine_parameter_elemental_air_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Spirit-Air Magic" - doctrine_parameter_elemental_earth_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Spirit-Earth Magic" - doctrine_parameter_elemental_fire_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Decay-Fire Magic" - doctrine_parameter_elemental_water_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Decay-Water Magic" - doctrine_parameter_elemental_air_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Decay-Air Magic" - doctrine_parameter_elemental_earth_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! learn Decay-Earth Magic" + doctrine_parameter_light_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Light Magic through any [focus|E] in [wc_light_magic_lifestyle|E]" + doctrine_parameter_shadow_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Shadow Magic through any [focus|E] in [wc_shadow_magic_lifestyle|E]" + doctrine_parameter_disorder_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Fel Magic through any [focus|E] in [wc_disorder_magic_lifestyle|E]" + doctrine_parameter_order_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Arcane Magic through any [focus|E] in [wc_order_magic_lifestyle|E]" + doctrine_parameter_life_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Nature Magic through any [focus|E] in [wc_life_magic_lifestyle|E]" + doctrine_parameter_death_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Death Magic through any [focus|E] in [wc_death_magic_lifestyle|E]" + doctrine_parameter_elemental_fire_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_2').GetName]" + doctrine_parameter_elemental_water_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Water Magic through [GetFocus('elemental_water_magic_focus_2').GetName]" + doctrine_parameter_elemental_air_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Air Magic through [GetFocus('elemental_air_magic_focus_2').GetName]" + doctrine_parameter_elemental_earth_magic_not_openly_learnable:1 "Adherents can #bold not#! start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_2').GetName]" + doctrine_parameter_elemental_fire_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_1').GetName]" + doctrine_parameter_elemental_water_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Water Magic through [GetFocus('elemental_water_magic_focus_1').GetName]" + doctrine_parameter_elemental_air_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Air Magic through [GetFocus('elemental_air_magic_focus_1').GetName]" + doctrine_parameter_elemental_earth_spirit_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_1').GetName]" + doctrine_parameter_elemental_fire_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_3').GetName]" + doctrine_parameter_elemental_water_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Water Magic through [GetFocus('elemental_water_magic_focus_3').GetName]" + doctrine_parameter_elemental_air_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Air Magic through [GetFocus('elemental_air_magic_focus_3').GetName]" + doctrine_parameter_elemental_earth_decay_magic_not_openly_learnable:0 "Adherents can #bold not#! start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_3').GetName]" - doctrine_parameter_light_magic_openly_learnable:0 "Adherents can learn Light Magic" - doctrine_parameter_shadow_magic_openly_learnable:0 "Adherents can learn Shadow Magic" - doctrine_parameter_disorder_magic_openly_learnable:0 "Adherents can learn Fel Magic" - doctrine_parameter_order_magic_openly_learnable:0 "Adherents can learn Arcane Magic" - doctrine_parameter_life_magic_openly_learnable:0 "Adherents can learn Nature Magic" - doctrine_parameter_death_magic_openly_learnable:0 "Adherents can learn Death Magic" - doctrine_parameter_elemental_fire_magic_openly_learnable:0 "Adherents can learn Fire Magic" - doctrine_parameter_elemental_water_magic_openly_learnable:0 "Adherents can learn Water Magic" - doctrine_parameter_elemental_air_magic_openly_learnable:0 "Adherents can learn Air Magic" - doctrine_parameter_elemental_earth_magic_openly_learnable:0 "Adherents can learn Earth Magic" - doctrine_parameter_elemental_fire_spirit_magic_openly_learnable:0 "Adherents can learn Spirit-Fire Magic" - doctrine_parameter_elemental_water_spirit_magic_openly_learnable:0 "Adherents can learn Spirit-Water Magic" - doctrine_parameter_elemental_air_spirit_magic_openly_learnable:0 "Adherents can learn Spirit-Air Magic" - doctrine_parameter_elemental_earth_spirit_magic_openly_learnable:0 "Adherents can learn Spirit-Earth Magic" - doctrine_parameter_elemental_fire_decay_magic_openly_learnable:0 "Adherents can learn Decay-Fire Magic" - doctrine_parameter_elemental_water_decay_magic_openly_learnable:0 "Adherents can learn Decay-Water Magic" - doctrine_parameter_elemental_air_decay_magic_openly_learnable:0 "Adherents can learn Decay-Air Magic" - doctrine_parameter_elemental_earth_decay_magic_openly_learnable:0 "Adherents can learn Decay-Earth Magic" + doctrine_parameter_light_magic_openly_learnable:1 "Adherents can start learning Light Magic through any [focus|E] in [wc_light_magic_lifestyle|E]" + doctrine_parameter_shadow_magic_openly_learnable:1 "Adherents can start learning Shadow Magic through any [focus|E] in [wc_shadow_magic_lifestyle|E]" + doctrine_parameter_disorder_magic_openly_learnable:1 "Adherents can start learning Fel Magic through any [focus|E] in [wc_disorder_magic_lifestyle|E]" + doctrine_parameter_order_magic_openly_learnable:1 "Adherents can start learning Arcane Magic through any [focus|E] in [wc_order_magic_lifestyle|E]" + doctrine_parameter_life_magic_openly_learnable:1 "Adherents can start learning Nature Magic through any [focus|E] in [wc_life_magic_lifestyle|E]" + doctrine_parameter_death_magic_openly_learnable:1 "Adherents can start learning Death Magic through any [focus|E] in [wc_death_magic_lifestyle|E]" + doctrine_parameter_elemental_fire_magic_openly_learnable:1 "Adherents can start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_2').GetName]" + doctrine_parameter_elemental_water_magic_openly_learnable:1 "Adherents can start learning Water Magic through [GetFocus('elemental_water_magic_focus_2').GetName]" + doctrine_parameter_elemental_air_magic_openly_learnable:1 "Adherents can start learning Air Magic through [GetFocus('elemental_air_magic_focus_2').GetName]" + doctrine_parameter_elemental_earth_magic_openly_learnable:1 "Adherents can start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_2').GetName]" + doctrine_parameter_elemental_fire_spirit_magic_openly_learnable:0 "Adherents can start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_1').GetName]" + doctrine_parameter_elemental_water_spirit_magic_openly_learnable:0 "Adherents can start learning Water Magic through [GetFocus('elemental_water_magic_focus_1').GetName]" + doctrine_parameter_elemental_air_spirit_magic_openly_learnable:0 "Adherents can start learning Air Magic through [GetFocus('elemental_air_magic_focus_1').GetName]" + doctrine_parameter_elemental_earth_spirit_magic_openly_learnable:0 "Adherents can start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_1').GetName]" + doctrine_parameter_elemental_fire_decay_magic_openly_learnable:0 "Adherents can start learning Fire Magic through [GetFocus('elemental_fire_magic_focus_3').GetName]" + doctrine_parameter_elemental_water_decay_magic_openly_learnable:0 "Adherents can start learning Water Magic through [GetFocus('elemental_water_magic_focus_3').GetName]" + doctrine_parameter_elemental_air_decay_magic_openly_learnable:0 "Adherents can start learning Air Magic through [GetFocus('elemental_air_magic_focus_3').GetName]" + doctrine_parameter_elemental_earth_decay_magic_openly_learnable:0 "Adherents can start learning Earth Magic through [GetFocus('elemental_earth_magic_focus_3').GetName]" INCOMPATIBLE_TENET_LIGHT_MAGIC_NOT_ACCEPTED_TRIGGER:0 "Incompatible with [criminal|E], [shunned|E] or Ignored Light Magic [doctrines|E]" INCOMPATIBLE_TENET_SHADOW_MAGIC_NOT_ACCEPTED_TRIGGER:0 "Incompatible with [criminal|E], [shunned|E] or Ignored Shadow Magic [doctrines|E]" diff --git a/localization/english/triggers/wc_character_triggers_l_english.yml b/localization/english/triggers/wc_character_triggers_l_english.yml index 62ee0932f1..ec36a75e91 100644 --- a/localization/english/triggers/wc_character_triggers_l_english.yml +++ b/localization/english/triggers/wc_character_triggers_l_english.yml @@ -120,4 +120,18 @@ has_frostmourne:0 "[THIS.Char.GetName] has the Frostmourne [inventory_artifact|E]" is_in_the_alliance_trigger_global:0 "You are in the Alliance" - is_in_the_alliance_trigger_global_not:0 "You are #bold not#! in the Alliance" \ No newline at end of file + is_in_the_alliance_trigger_global_not:0 "You are #bold not#! in the Alliance" + + IS_IN_SAME_COURT_AS:0 "Is in the same court as [TARGET_CHARACTER.GetShortUIName]" + CHARACTER_IS_IN_SAME_COURT_AS:0 "[CHARACTER.GetShortUIName|U] is in the same court as [TARGET_CHARACTER.GetShortUIName]" + I_AM_IN_SAME_COURT_AS:0 "You are in the same court as [TARGET_CHARACTER.GetShortUIName]" + IS_NOT_IN_SAME_COURT_AS:0 "Is #bold not#! in the same court as [TARGET_CHARACTER.GetShortUIName]" + CHARACTER_IS_NOT_IN_SAME_COURT_AS:0 "[CHARACTER.GetShortUIName|U] is #bold not#! in the same court as [TARGET_CHARACTER.GetShortUIName]" + I_AM_NOT_IN_SAME_COURT_AS:0 "You are #bold not#! in the same court as [TARGET_CHARACTER.GetShortUIName]" + + IS_IN_SAME_COURT_AS_OR_GUEST:0 "Is in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" + CHARACTER_IS_IN_SAME_COURT_AS_OR_GUEST:0 "[CHARACTER.GetShortUIName|U] is in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" + I_AM_IN_SAME_COURT_AS_OR_GUEST:0 "You are in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" + IS_NOT_IN_SAME_COURT_AS_OR_GUEST:0 "Is #bold not#! in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" + CHARACTER_IS_NOT_IN_SAME_COURT_AS_OR_GUEST:0 "[CHARACTER.GetShortUIName|U] is #bold not#! in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" + I_AM_NOT_IN_SAME_COURT_AS_OR_GUEST:0 "You are #bold not#! in the same court as, or a guest of, [TARGET_CHARACTER.GetShortUIName]" \ No newline at end of file diff --git a/localization/english/triggers/wc_magic_triggers_l_english.yml b/localization/english/triggers/wc_magic_triggers_l_english.yml new file mode 100644 index 0000000000..0f012e3a46 --- /dev/null +++ b/localization/english/triggers/wc_magic_triggers_l_english.yml @@ -0,0 +1,172 @@ +l_english: + WC_HAS_VALUE_MANA_TRIGGER_GLOBAL:0 "Has [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + WC_HAS_VALUE_MANA_TRIGGER_GLOBAL_NOT:0 "Does #bold not#! have [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + WC_HAS_VALUE_MANA_TRIGGER_FIRST:0 "You have [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + WC_HAS_VALUE_MANA_TRIGGER_FIRST_NOT:0 "You do #bold not#! have [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + WC_HAS_VALUE_MANA_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|V] has [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + WC_HAS_VALUE_MANA_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] does not have [wc_full_mana_icon_gc|E]$VALUE|V$ [wc_mana|E]" + + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_GLOBAL:0 "Has [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_GLOBAL_NOT:0 "Does #bold not#! have [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_FIRST:0 "You have [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_FIRST_NOT:0 "You do #bold not#! have [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|VU] [CharHaveHas(CHARACTER)] [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + WC_HAS_VALUE_MONTHLY_MANA_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] does not have [wc_half_mana_icon_gc|E]$VALUE|V$ [wc_mana_restoration|E]" + + WC_SPELL_KNOWN_TRIGGER_GLOBAL_NOT:0 "Doesn't know this [wc_spell|E]." + WC_SPELL_KNOWN_TRIGGER_FIRST_NOT:0 "You haven't learned this [wc_spell|E] yet." + WC_SPELL_KNOWN_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] doesn't know this [wc_spell|E]." + + WC_SPELL_ON_CD_TRIGGER_GLOBAL:0 "This [wc_spell|E] is on cooldown." + WC_SPELL_ON_CD_TRIGGER_FIRST:0 "You must wait more time until you can cast this [wc_spell|E] again." + NOT_WC_SPELL_ON_CD_TRIGGER_FIRST:0 "This [wc_spell|E] must be on cooldown." + WC_SPELL_ON_CD_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|V] cannot cast this [wc_spell|E] yet." + + WC_RITUAL_ON_CD_TRIGGER_GLOBAL:0 "Rituals are on cooldown." + WC_RITUAL_ON_CD_TRIGGER_FIRST:0 "You must wait more time until you can cast a ritual again." + WC_RITUAL_ON_CD_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|V] cannot cast this ritual yet." + + WC_SPELL_IS_CASTING_TRIGGER_GLOBAL:0 "Is already casting this [wc_spell|E]." + WC_SPELL_IS_CASTING_TRIGGER_FIRST:0 "You are already casting this [wc_spell|E]." + WC_SPELL_IS_CASTING_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|V] is already casting this [wc_spell|E]." + + WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_GLOBAL_NOT:0 "Doesn't have enough [wc_mana|E]" + WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_FIRST_NOT:0 "You don't have enough [wc_mana|E] to cast this." + WC_SPELL_NOT_ENOUGH_MANA_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] doesn't have enough [wc_mana|E] to cast this." + + WC_SPELL_MAX_CASTING_GLOBAL_TRIGGER_NOT:0 "Is already casting the max amount of spells allowed at a time. (5)" + WC_SPELL_MAX_CASTING_FIRST_TRIGGER_NOT:0 "You are already casting 5 spells." + WC_SPELL_MAX_CASTING_THIRD_TRIGGER_NOT:0 "[CHARACTER.GetShortUIName|V] is already casting 5 spells." + + WC_NO_SPELL_SELECTED_TRIGGER_GLOBAL_NOT:0 "Has no [wc_spell|E] selected." + WC_NO_SPELL_SELECTED_TRIGGER_FIRST_NOT:0 "You must select a [wc_spell|E]." + WC_NO_SPELL_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] hasn't selected a [wc_spell|E]." + + WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_GLOBAL_NOT:0 "Hasn't selected a valid target." + WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_FIRST_NOT:0 "You must selecte a valid target." + WC_NO_SPELL_TARGETS_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] needs to select a valid target." + WC_NO_SPELL_RANKS_SELECTED_TRIGGER_GLOBAL_NOT:0 "Hasn't selected a [wc_spell_rank|E]." + WC_NO_SPELL_RANKS_SELECTED_TRIGGER_FIRST_NOT:0 "You must select a [wc_spell_rank|E]." + WC_NO_SPELL_RANKS_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] needs to select a [wc_spell_rank|E]." + + WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_GLOBAL_NOT:0 "Must select an Elemental Type." + WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_FIRST_NOT:0 "You must select an Elemental Type." + WC_NO_SPELL_ELEMENTAL_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] needs to select an Elemental Type." + + WC_MAX_TARGETS_TRIGGER_GLOBAL:0 "Has the maximum amount of targets selected (3)." + WC_MAX_TARGETS_TRIGGER_FIRST:0 "You have the maximum amount of targets selected already!(3)" + WC_MAX_TARGETS_TRIGGER_THIRD:0 "[CHARACTER.GetShortUIName|VU] [CharHaveHas(CHARACTER)] the maximum amount of targets selected. (3)" + + WC_NO_SPELL_TARGET_SELECTED_TRIGGER_GLOBAL_NOT:0 "Doesn't have a target selected." + WC_NO_SPELL_TARGET_SELECTED_TRIGGER_FIRST_NOT:0 "You must select a target." + WC_NO_SPELL_TARGET_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] doesn't have a target selected." + + WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_GLOBAL_NOT:0 "Doesn't have valid a target selected." + WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_FIRST_NOT:0 "You don't have a valid target selected." + WC_NO_SPELL_VALID_TARGET_SELECTED_TRIGGER_THIRD_NOT:0 "[CHARACTER.GetShortUIName|V] doesn't have a valid target selected." + + WC_ONLY_TARGET_SELF_FIRST_NOT:0 "You can only target yourself." + WC_CANT_HACK_SPELL:0 "Can't hack this spell." + WC_CANT_REDUCE_RITUAL_SPELL:0 "Can't reduce the cooldown of rituals." + WC_CANT_REVERSE_RITUAL_SPELL:0 "Can't reverse the causality of rituals." + WC_SPELL_IS_RITUAL:0 "This is a ritual spell." + WC_SPELL_IS_NOT_RITUAL:0 "This is not a ritual spell." + WC_CANT_CANCEL_RITUAL_NOT:0 "Can't cancel a ritual cast." + + WC_TARGET_HAS_MAGIC_ILLNESS_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [wc_magic_illness|E]." + + WC_TARGET_HAS_ILLNESS_TRIGGER_GLOBAL_NOT:0 "The target doesn't have an [wc_illness|E]." + + WC_TARGET_HAS_INJURY_TRIGGER_GLOBAL_NOT:0 "The target doesn't have an [wc_injury|E]." + + WC_TARGET_HAS_MAJOR_INJURY_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [wc_major_injury|E]." + + WC_TARGET_HAS_MAGIC_INJURY_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [wc_magic_injury|E]." + + WC_TARGET_HAS_VALID_DEBUFF_TRIGGER_GLOBAL_NOT:0 "The target doesn't have anything valid to dispel." + + WC_HAS_ANY_SECRETS_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [secret|E]." + + WC_TARGET_HAS_PSYCH_ILLNESS_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [wc_psych_illness|E]." + + WC_TARGET_IS_NOT_DISEASE_IMMUNE_TRIGGER_GLOBAL_NOT:0 "The target is immune to [illnesses|E]." + + WC_TARGET_HAS_HOOK_OR_SECRET_TRIGGER_GLOBAL_NOT:0 "The target doesn't have a [hook|E] on you or knows one of your valid [secrets|E]." + + WC_IS_LIFE_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_life|E] magic user." + WC_IS_LIFE_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_life|E] magic user." + WC_IS_LIFE_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_life|E] magic user." + WC_IS_LIFE_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_life|E] magic user." + WC_IS_LIFE_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_life|E] magic user." + WC_IS_LIFE_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_life|E] magic user." + + WC_IS_DEATH_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_death|E] magic user." + WC_IS_DEATH_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_death|E] magic user." + WC_IS_DEATH_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_death|E] magic user." + WC_IS_DEATH_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_death|E] magic user." + WC_IS_DEATH_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_death|E] magic user." + WC_IS_DEATH_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_death|E] magic user." + + WC_IS_ORDER_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_order|E] magic user." + WC_IS_ORDER_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_order|E] magic user." + WC_IS_ORDER_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_order|E] magic user." + WC_IS_ORDER_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_order|E] magic user." + WC_IS_ORDER_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_order|E] magic user." + WC_IS_ORDER_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_order|E] magic user." + + WC_IS_DISORDER_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_disorder|E] magic user." + WC_IS_DISORDER_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_disorder|E] magic user." + WC_IS_DISORDER_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_disorder|E] magic user." + WC_IS_DISORDER_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_disorder|E] magic user." + WC_IS_DISORDER_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_disorder|E] magic user." + WC_IS_DISORDER_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_disorder|E] magic user." + + WC_IS_LIGHT_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_light|E] magic user." + WC_IS_LIGHT_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_light|E] magic user." + WC_IS_LIGHT_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_light|E] magic user." + WC_IS_LIGHT_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_light|E] magic user." + WC_IS_LIGHT_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_light|E] magic user." + WC_IS_LIGHT_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_light|E] magic user." + + WC_IS_SHADOW_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_shadow|E] magic user." + WC_IS_SHADOW_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_shadow|E] magic user." + WC_IS_SHADOW_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_shadow|E] magic user." + WC_IS_SHADOW_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_shadow|E] magic user." + WC_IS_SHADOW_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_shadow|E] magic user." + WC_IS_SHADOW_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_shadow|E] magic user." + + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_elemental_fire|E] magic user." + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_elemental_fire|E] magic user." + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_elemental_fire|E] magic user." + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_elemental_fire|E] magic user." + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_elemental_fire|E] magic user." + WC_IS_ELEMENTAL_FIRE_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_elemental_fire|E] magic user." + + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_elemental_water|E] magic user." + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_elemental_water|E] magic user." + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_elemental_water|E] magic user." + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_elemental_water|E] magic user." + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_elemental_water|E] magic user." + WC_IS_ELEMENTAL_WATER_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_elemental_water|E] magic user." + + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_elemental_air|E] magic user." + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_elemental_air|E] magic user." + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_elemental_air|E] magic user." + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_elemental_air|E] magic user." + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_elemental_air|E] magic user." + WC_IS_ELEMENTAL_AIR_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_elemental_air|E] magic user." + + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_FIRST: "You are a [wc_spell_school_elemental_earth|E] magic user." + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_FIRST_NOT: "You are not a [wc_spell_school_elemental_earth|E] magic user." + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_THIRD: "[CHARACTER.GetShortUIName|V] is a [wc_spell_school_elemental_earth|E] magic user." + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_THIRD_NOT: "[CHARACTER.GetShortUIName|V] is not a [wc_spell_school_elemental_earth|E] magic user." + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_GLOBAL: "Is a [wc_spell_school_elemental_earth|E] magic user." + WC_IS_ELEMENTAL_EARTH_MAGIC_USER_TRIGGER_GLOBAL_NOT: "Is not a [wc_spell_school_elemental_earth|E] magic user." + + WC_ALREADY_CHANNELING_SPELL_FIRST:0 "You are already channeling this spell. You can cancel channeling it under the 'monitor' sidebar tab." + WC_ALREADY_CHANNELING_SPELL_THIRD:0 "[CHARACTER.GetShortUIName|V] is already channeling this spell." + WC_ALREADY_CHANNELING_SPELL_GLOBAL:0 "Is already channeling this spell." + + WC_SPELL_TARGET_MAX_STACKS_TRIGGER_GLOBAL:0 "A target or their liege has maximum stacks of this spell's effect already, or has been casted on with this spell too recently." + WC_SPELL_TARGET_MAX_STACKS_TRIGGER_THIRD:0 "The target has maximum stacks of this spell's effect already, or has been casted on with this spell too recently." + WC_SPELL_TARGET_MAX_STACKS_TRIGGER_FIRST:0 "[CHARACTER.GetShortUIName|VU] [CharHaveHas(CHARACTER)] maximum stacks of this spell's effect already, or [CharHaveHas(CHARACTER)] been casted on with this spell too recently." \ No newline at end of file diff --git a/localization/english/wc_character_interactions_l_english.yml b/localization/english/wc_character_interactions_l_english.yml index 5e6c133f02..d7df8e139f 100644 --- a/localization/english/wc_character_interactions_l_english.yml +++ b/localization/english/wc_character_interactions_l_english.yml @@ -24,4 +24,9 @@ MARRIAGE_ACTOR_HAS_SOMEONE_ELSE:1 "[secondary_actor.GetShortUIName|U] has [Concept('soulmate','someone')|E] else in mind: $VALUE|=+0$" OWNER_FAITH_SINS:0 "Disapproves [owner.GetFaith.GetAdjective|V] [sins|E]: $VALUE|=+0$" - FROSTMOURNE_SPEAKS:0 "[frostmourne|E] speaks: $VALUE|=+0$" \ No newline at end of file + FROSTMOURNE_SPEAKS:0 "[frostmourne|E] speaks: $VALUE|=+0$" + + wc_magic_fire_shield_interaction_name:0 "Grant Fire Shield" + recipient_secondary_wc_magic_fire_shield_interaction:0 "Spell Target" + wc_magic_give_disease_interaction_name:0 "Give Disease" + wc_magic_epidemic_interaction_name:0 "Spawn Epidemic" \ No newline at end of file diff --git a/localization/english/wc_character_relations_l_english.yml b/localization/english/wc_character_relations_l_english.yml new file mode 100644 index 0000000000..4c51ebb329 --- /dev/null +++ b/localization/english/wc_character_relations_l_english.yml @@ -0,0 +1,3 @@ +l_english: + + TRAIT_DESC_POSIITIVE_FOR_THEM:0 "This is liked by [CHARACTER.GetShortUINamePossessiveNoTooltip] faith ([CHARACTER.GetFaith.GetAdjective])" \ No newline at end of file diff --git a/localization/english/wc_council_tasks_l_english.yml b/localization/english/wc_council_tasks_l_english.yml index f950ab5bc6..b88d2111cc 100644 --- a/localization/english/wc_council_tasks_l_english.yml +++ b/localization/english/wc_council_tasks_l_english.yml @@ -5,6 +5,8 @@ COURT_CHAPLAIN_FABRICATE_CLAIM_INNOVATION_BONUS_EXPANSIONISM:1 "[councillor_liege.GetCulture.GetName] — $innovation_expansionism$" + COURT_CHAPLAIN_FABRICATE_CLAIM_DIVINE_SERVICE_PERK:0 "[GetPerk( 'light_magic_tree_1_perk_2' ).GetName( GetPlayer)|V]" + task_dark_frenzy_gain:0 "\n$TAB$Grants [dark_frenzy|E]" task_purge_population:0 "[GetPlayer.Custom('TaskPurgePopulationTitle')]" diff --git a/localization/english/wc_court_positions_l_english.yml b/localization/english/wc_court_positions_l_english.yml index 776e1ec46f..a73b70f6b6 100644 --- a/localization/english/wc_court_positions_l_english.yml +++ b/localization/english/wc_court_positions_l_english.yml @@ -2,4 +2,11 @@ scrollsage_court_position:1 "Scrollsage" scrollsage_court_position_desc:1 "The $scrollsage_court_position$ is a significant role in tortollan culture. Their role is to collect and document stories into scrolls." - court_position_grummle_trait:0 "[GetTrait('creature_grummle').GetName( ROOT.Char )]" \ No newline at end of file + court_position_grummle_trait:0 "[GetTrait('creature_grummle').GetName( ROOT.Char )]" + + court_mage_court_position:0 "Court Mage" + court_mage_court_position_desc:0 "Any magic user could always use extra help when preparing spells. A $court_mage_court_position$ spares their mana for your use and helps you to research the art of magic." + court_position_magic_level_1:0 "Level 1 [wc_magic_lifestyle|E] [trait|E]" + court_position_magic_level_2:0 "Level 2 [wc_magic_lifestyle|E] [trait|E]" + court_position_magic_level_3:0 "Level 3 [wc_magic_lifestyle|E] [trait|E]" + court_position_magic_level_4:0 "Level 4 [wc_magic_lifestyle|E] [trait|E]" diff --git a/localization/english/wc_death_reasons_l_english.yml b/localization/english/wc_death_reasons_l_english.yml index 5afeeb1f1f..c94274aff1 100644 --- a/localization/english/wc_death_reasons_l_english.yml +++ b/localization/english/wc_death_reasons_l_english.yml @@ -17,6 +17,30 @@ death_merge:0 "was merged" death_merge_killer:0 "was merged with [TARGET_CHARACTER.GetUIName]" + + death_salvation:0 "was saved by the light, but chose to pass on" + death_salvation_killer:0 "was supposed to die at the hands of [TARGET_CHARACTER.GetUIName], but was saved by the light, and chose to pass on anyways" + + death_divine_storm:0 "was struck down by a [wc_spell_divine_storm|E]" + death_divine_storm_killer:0 "was struck down by [wc_spell_divine_storm|E] orchestrated by [TARGET_CHARACTER.GetUIName]" + + death_burned_magic:0 "was burned to death by magic" + death_burned_magic_killer:0 "was burned to death by [TARGET_CHARACTER.GetNamePossessive] magic" + + death_frostbite_magic:0 "was frostbitten by magic" + death_frostbite_magic_killer:0 "was frostbitten by [TARGET_CHARACTER.GetNamePossessive] magic" + death_experiment:0 "was experimented on until they died" + death_experiment_killer:0 "was experimented on until they died by [TARGET_CHARACTER.GetUIName]" + + death_frost_fever:0 "died from [GetTrait('frost_fever').GetName( CHARACTER.Self )]" + death_crypt_fever:0 "died from [GetTrait('crypt_fever').GetName( CHARACTER.Self )]" + death_blood_plague:0 "died from [GetTrait('blood_plague').GetName( CHARACTER.Self )]" + death_mana_starved:0 "died of mana starvation" - override_death_effect_tt:0 "[CharYouFirstName(death_recipient)] [Select_CString( death_recipient.IsLocalPlayer, 'serve', 'serves' )] an important role in the future of Azeroth, and so, a greater power intervenes in [CharYourFirstNames(death_recipient)] death!" \ No newline at end of file + death_magic:0 "was killed by magic" + death_magic_killer:0 "was killed by [TARGET_CHARACTER.GetUIName]'s magic" + + override_death_effect_tt:0 "[CharYouFirstName(death_recipient)] [Select_CString( death_recipient.IsLocalPlayer, 'serve', 'serves' )] an important role in the future of Azeroth, and so, a greater power intervenes in [CharYourFirstNames(death_recipient)] death!" + + death_void_sickness:0 "died from being [GetTrait('void_sickness').GetName( CHARACTER.Self )]" \ No newline at end of file diff --git a/localization/english/wc_debug_l_english.yml b/localization/english/wc_debug_l_english.yml index 0f1fef7592..bd39a15cd3 100644 --- a/localization/english/wc_debug_l_english.yml +++ b/localization/english/wc_debug_l_english.yml @@ -9,4 +9,10 @@ become_undead_interaction:0 "Become Undead" - break_union_interaction:0 "Break [union]" \ No newline at end of file + break_union_interaction:0 "Break [union]" + + debug_fire:0 "Fire" + debug_water:0 "Water" + debug_air:0 "Air" + debug_earth:0 "Earth" + debug_lower_elemental:0 "Lower Elemental Goodwill instead of raising it" \ No newline at end of file diff --git a/localization/english/wc_decisions_l_english.yml b/localization/english/wc_decisions_l_english.yml index e7c06796f2..40a12d0788 100644 --- a/localization/english/wc_decisions_l_english.yml +++ b/localization/english/wc_decisions_l_english.yml @@ -232,4 +232,107 @@ visit_the_arcandor_decision_desc:0 "The Arcan'dor tree has been restored in Falanaar. It is said that the fruit of the tree can cure the [GetTrait('wretched').GetName(ROOT.Char)] and provide a boon to the [GetTrait('creature_faldorei').GetName(ROOT.Char)]. Before I wither and waste away, it is imperative that I visit the tree and partake of its fruit." visit_the_arcandor_decision_effect_tt:0 "I will travel to [GetTitleByKey('c_meredil').GetNameNoTier] and visit the Arcan'dor tree." visit_the_arcandor_decision_tooltip:0 "Visit the Arcan'dor tree in [GetTitleByKey('c_meredil').GetNameNoTier]" - visit_the_arcandor_decision_confirm:0 "May my ailments be cured." \ No newline at end of file + visit_the_arcandor_decision_confirm:0 "May my ailments be cured." + + restore_chronomancy_decision:0 "Chronomatic Restoration" + restore_chronomancy_decision_desc:0 "In a fleeting moment, you turn back the clock, restoring yourself to a former state. Time bends to your will.\n\n@warning_icon!#Warning Time will reset automatically in [GetVarTimeRemaining( GetPlayer.MakeScope, 'chronomancy_active')|V] days.#!" + restore_chronomancy_decision.effect_tt:0 "Turn your clock back, resetting yourself to the state you were in when you cast [wc_spell_chronomancy|E]. The [wc_spell|E] [modifiers|E] you were affected by will be restored to you with their duration set to max." + restore_chronomancy_decision_confirm:0 "Reset" + restore_chronomancy_decision_tooltip:0 "Turn your time back, resetting you to a previous state" + + activate_presence_of_mind_decision:0 "Activate Presence of Mind" + activate_presence_of_mind_decision_desc:0 "Activate Presence of Mind, drastically reducing the cooldown of a [wc_spell|E]" + activate_presence_of_mind_decision.effect_tt:0 "With Presence of Mind enabled, you can halve the cooldown of a [wc_spell|E] using the spellbook. During this time you will be unable to cast spells normally." + activate_presence_of_mind_decision.disable_tt:0 "If this state is undesirable it can be disabled again with the [GetDecisionWithKey('deactivate_presence_of_mind_decision').GetName] decision." + activate_presence_of_mind_decision_tooltip:0 "$activate_presence_of_mind_decision_desc$" + activate_presence_of_mind_decision_confirm:0 "Activate" + deactivate_presence_of_mind_decision:0 "Deactivate Presence of Mind" + deactivate_presence_of_mind_decision_desc:0 "Deactivate Presence of Mind, returning your spellbook to normal" + deactivate_presence_of_mind_decision.effect_tt:0 "Deactivate Presence of Mind, removing your opportunity to halve the cooldown of a [wc_spell|E] and enabling you to cast normally again." + deactivate_presence_of_mind_decision.enable_tt:0 "You can enter this state again by using the [GetDecisionWithKey('activate_presence_of_mind_decision').GetName] decision." + deactivate_presence_of_mind_decision_tooltip:0 "$deactivate_presence_of_mind_decision_desc$" + deactivate_presence_of_mind_decision_confirm:0 "Deactivate" + + activate_reverse_causality_decision:0 "Activate Reverse Causality" + activate_reverse_causality_decision_desc:0 "Activate Reverse Causality, increasing your [wc_max_mana|E] by inducing a [wc_spell|E] cooldown" + activate_reverse_causality_decision.effect_tt:0 "With Reverse Causality enabled, you can induce a [wc_spell|E] cooldown, increasing your [wc_max_mana|E] for #V 10%#! for each year the spell is on cooldown. During this time you will be unable to cast spells normally." + activate_reverse_causality_decision.disable_tt:0 "If this state is undesirable it can be disabled again with the [GetDecisionWithKey('deactivate_reverse_causality_decision').GetName] decision." + activate_reverse_causality_decision_tooltip:0 "$activate_reverse_causality_decision_desc$" + activate_reverse_causality_decision_confirm:0 "Activate" + deactivate_reverse_causality_decision:0 "Deactivate Reverse Causality" + deactivate_reverse_causality_decision_desc:0 "Deactivate Reverse Causality, returning your spellbook to normal" + deactivate_reverse_causality_decision.effect_tt:0 "Deactivate Reverse Causality, removing your opportunity to increase your mana at the cost of a [wc_spell|E] cooldown and enabling you to cast normally again." + deactivate_reverse_causality_decision.enable_tt:0 "You can enter this state again by using the [GetDecisionWithKey('activate_reverse_causality_decision').GetName] decision." + deactivate_reverse_causality_decision_tooltip:0 "$deactivate_reverse_causality_decision_desc$" + deactivate_reverse_causality_decision_confirm:0 "Deactivate" + + wc_spell_hack_active:0 "[GetPerk('order_magic_tree_2_perk_4').GetName(GetPlayer)] is active" + + go_into_hibernation_decision:0 "Hibernate" + go_into_hibernation_decision_desc:0 "Go into hibernation, gaining a massive boost in [health|E] while becoming vulnerable to [hostile_schemes|E]" + go_into_hibernation_decision.effect_tt:0 "One [wc_injury|E] or [wc_poison|E] is removed" + go_into_hibernation_decision_tooltip:0 "$go_into_hibernation_decision_desc$" + go_into_hibernation_decision_confirm:0 "$go_into_hibernation_decision$" + + teleport_back_decision:0 "Teleport Back" + teleport_back_decision_desc:0 "Teleport back to your previous location" + teleport_back_decision_tooltip:0 "Take me home!" + teleport_back_decision_confirm:0 "$teleport_back_decision_tooltip$" + wc_teleport_back_decision_effect_tt: "Go back to [home.GetName]" + + wc_spell_hack_decision: "Activate Spell Hack" + wc_spell_hack_decision_desc: "Activate Spell Hack, allowing you to learn a spell you would not normally be able to" + wc_spell_hack_decision_tooltip: "Activate Spell Hack" + wc_spell_hack_decision_confirm: "Activate" + + eldritch_communion_decision:0 "Eldritch Communion" + eldritch_communion_decision_desc:0 "Commune with the Old Gods, gaining a massive boost of your choice, for a price..." + eldritch_communion_decision_tooltip:0 "Commune with the Old Gods" + eldritch_communion_decision_confirm:0 "Commune" + ELDRITCH_COMMUNION_DECISION_NEXT_STEP_BUTTON: "Hail the Old Ones! + communion_yshaarj_decision:0 "Commune with Y'Shaarj" + communion_yshaarj_tooltip:0 "Focus on #bold magical power#! in exchange for your #bold stability#!" + communion_yogg_saron_decision:0 "Commune with Yogg-Saron" + communion_yogg_saron_tooltip:0 "Enhance your #bold espionage#! at the cost of your #bold mind#!" + communion_cthun_decision:0 "Commune with C'Thun" + communion_cthun_tooltip:0 "Sacrifice your #bold sanity#! to gain #bold status#!" + communion_nzoth_decision:0 "Commune with N'Zoth" + communion_nzoth_tooltip:0 "Gain #bold skills#! at the cost of your #bold haste#!" + communion_ghuun_decision:0 "Commune with G'huun" + communion_ghuun_tooltip:0 "#bold Protect yourself#! using your #bold status#!" + + wc_communion_yogg_saron_modifier:0 "Eldritch Communion: Yogg-Saron" + wc_communion_yogg_saron_modifier_desc: "" + wc_communion_cthun_modifier:0 "Eldritch Communion: C'Thun" + wc_communion_cthun_modifier_desc: "" + wc_communion_nzoth_modifier:0 "Eldritch Communion: N'Zoth" + wc_communion_nzoth_modifier_desc: "[wc_spell|E] Cast Time: @wc_spell_icon!#N +15%#!\n[wc_spell|E] Cooldown: @wc_spell_icon!#N +15%#!" + wc_communion_ghuun_modifier:0 "Eldritch Communion: G'huun" + wc_communion_ghuun_modifier_desc: "[wc_magic_resistance|E]: #P +5#!" + + dark_bargain_decision:0 "Dark Bargain" + dark_bargain_decision_desc:0 "My power, my [wc_mana|E] has been drained. But desperate times call for desperate measures..." + dark_bargain_decision_tooltip:0 "Gain back lost [wc_mana|E]" + dark_bargain_decision_confirm:0 "I am restored!" + + activate_shadow_form_decision:0 "Activate Shadow Form" + activate_shadow_form_decision_desc:0 "Activate Shadow Form, sacrificing [knights|E] to gain a good [trait|E]." + activate_shadow_form_decision_tooltip:0 "Perform a sacrifice to gain a trait" + activate_shadow_form_decision_confirm:0 "To the Void!" + SHADOW_FORM_DECISION_NEXT_STEP_BUTTON:0 "Embrace the Void!" + shadow_form_beauty_decision:0 "Form of Beauty" + shadow_form_beauty_tooltip:0 "Gain [GetTrait('beauty_good_1').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_beauty_2_tooltip:0 "Gain [GetTrait('beauty_good_2').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_beauty_3_tooltip:0 "Gain [GetTrait('beauty_good_3').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_brawn_decision:0 "Form of Strength" + shadow_form_brawn_tooltip:0 "Gain [GetTrait('physique_good_1').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_brawn_2_tooltip:0 "Gain [GetTrait('physique_good_2').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_brawn_3_tooltip:0 "Gain [GetTrait('physique_good_3').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_brains_decision:0 "Form of Wisdom" + shadow_form_brains_tooltip:0 "Gain [GetTrait('shrewd').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_blood_decision:0 "Form of Blood" + shadow_form_blood_tooltip:0 "Gain [GetTrait('pure_blooded').GetName(GetPlayer.MakeScope.Char)]" + shadow_form_effect_1_tt:0 "@death_icon! A random [knight|E] will perish" + shadow_form_effect_2_tt:0 "@death_icon! Two random [knights|E] will perish" + shadow_form_effect_3_tt:0 "@death_icon! Three random [knights|E] will perish" + shadow_form_effect_tt: "Shadow Form Sacrifice" \ No newline at end of file diff --git a/localization/english/wc_effects_magic_spells_l_english.yml b/localization/english/wc_effects_magic_spells_l_english.yml new file mode 100644 index 0000000000..d806f443af --- /dev/null +++ b/localization/english/wc_effects_magic_spells_l_english.yml @@ -0,0 +1,168 @@ +l_english: + WC_ADD_MANA_VALUE_EFFECT_FIRST:0 "You gain [wc_full_mana_icon_gc|E] #p $VALUE|0$#! [wc_mana|E]" + WC_ADD_MANA_VALUE_EFFECT_GLOBAL:0 "Gains [wc_full_mana_icon_gc|E] #p $VALUE|0$#! [wc_mana|E]" + WC_ADD_MANA_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains [wc_full_mana_icon_gc|E] #p $VALUE|0$#! [wc_mana|E]" + + WC_SUBTRACT_MANA_VALUE_EFFECT_FIRST:0 "You spend [wc_full_mana_icon_gc|E] #n $VALUE|0$#! [wc_mana|E]" + WC_SUBTRACT_MANA_VALUE_EFFECT_GLOBAL:0 "Spends [wc_full_mana_icon_gc|E] #n $VALUE|0$#! [wc_mana|E]" + WC_SUBTRACT_MANA_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] spends [wc_full_mana_icon_gc|E] #n $VALUE|0$#! [wc_mana|E]" + + + WC_MONTHLY_MANA_VALUE_COST_EFFECT_FIRST:0 "Decrease your [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #n $VALUE|0$#!" + WC_MONTHLY_MANA_VALUE_COST_EFFECT_GLOBAL:0 "Decrease [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #n $VALUE|0$#!" + WC_MONTHLY_MANA_VALUE_COST_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] decreases [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #n $VALUE|0$#!" + + WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_FIRST:0 "Increase your [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #p $VALUE|0$#!" + WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_GLOBAL:0 "Increase [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #p $VALUE|0$#!" + WC_MONTHLY_MANA_VALUE_RETURN_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] increases [wc_half_mana_icon_gc|E][wc_mana_restoration|E] by #p $VALUE|0$#!" + + WC_SUBTRACT_HP_VALUE_EFFECT_FIRST:0 "You lose #n $VALUE|0$#! [health|E]" + WC_SUBTRACT_HP_VALUE_EFFECT_GLOBAL:0 "Loses #n $VALUE|0$#! [health|E]" + WC_SUBTRACT_HP_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|0$#! [health|E]" + + WC_ADD_HP_VALUE_EFFECT_FIRST:0 "You gain #p $VALUE|0$#! [health|E]" + WC_ADD_HP_VALUE_EFFECT_GLOBAL:0 "Gains #p $VALUE|0$#! [health|E]" + WC_ADD_HP_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|0$#! [health|E]" + + WC_SUBTRACT_MP_VALUE_EFFECT_FIRST:0 "You lose #n $VALUE|0$#! Magical Prowess" + WC_SUBTRACT_MP_VALUE_EFFECT_GLOBAL:0 "Loses #n $VALUE|0$#! Magical Prowess" + WC_SUBTRACT_MP_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|0$#! Magical Prowess" + + WC_ADD_MP_VALUE_EFFECT_FIRST:0 "You gain #p $VALUE|0$#! Magical Prowess" + WC_ADD_MP_VALUE_EFFECT_GLOBAL:0 "Gains #p $VALUE|0$#! Magical Prowess" + WC_ADD_MP_VALUE_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|0$#! Magical Prowess" + + WC_ADD_ELEMENTAL_WATER_MR_EFFECT_FIRST:0 "You gain [wc_elemental_water_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_WATER_MR_EFFECT_GLOBAL:0 "Gains [wc_elemental_water_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_WATER_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains [wc_elemental_water_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_FIRST:0 "You lose [wc_elemental_water_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_GLOBAL:0 "Loses [wc_elemental_water_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_WATER_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses [wc_elemental_water_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_FIRST:0 "You gain [wc_elemental_fire_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_GLOBAL:0 "Gains [wc_elemental_fire_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains [wc_elemental_fire_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_FIRST:0 "You lose [wc_elemental_fire_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_GLOBAL:0 "Loses [wc_elemental_fire_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses [wc_elemental_air_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_ADD_ELEMENTAL_AIR_MR_EFFECT_FIRST:0 "You gain [wc_elemental_air_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_AIR_MR_EFFECT_GLOBAL:0 "Gains [wc_elemental_air_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_AIR_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains [wc_elemental_air_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_FIRST:0 "You lose [wc_elemental_air_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_AIR_MR_EFFECT_GLOBAL:0 "Loses [wc_elemental_air_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses [wc_elemental_earth_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_ADD_ELEMENTAL_EARTH_MR_EFFECT_FIRST:0 "You gain [wc_elemental_earth_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_EARTH_MR_EFFECT_GLOBAL:0 "Gains [wc_elemental_earth_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_ELEMENTAL_FIRE_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains [wc_elemental_fire_icon_gc|E]#p $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_FIRST:0 "You lose [wc_elemental_earth_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_SUBTRACT_ELEMENTAL_EARTH_MR_EFFECT_GLOBAL:0 "Loses [wc_elemental_earth_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + + WC_ADD_LIFE_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Life [wc_magic_resistance|E]" + WC_ADD_LIFE_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Life [wc_magic_resistance|E]" + + WC_SUBTRACT_LIFE_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Life [wc_magic_resistance|E]" + WC_SUBTRACT_LIFE_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Life [wc_magic_resistance|E]" + + WC_ADD_DEATH_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Death [wc_magic_resistance|E]" + WC_ADD_DEATH_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Death [wc_magic_resistance|E]" + + WC_SUBTRACT_DEATH_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Death [wc_magic_resistance|E]" + WC_SUBTRACT_DEATH_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Death [wc_magic_resistance|E]" + + WC_ADD_LIGHT_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Light [wc_magic_resistance|E]" + WC_ADD_LIGHT_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Light [wc_magic_resistance|E]" + + WC_SUBTRACT_LIGHT_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Light [wc_magic_resistance|E]" + WC_SUBTRACT_LIGHT_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Light [wc_magic_resistance|E]" + + WC_ADD_SHADOW_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + WC_ADD_SHADOW_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + + WC_SUBTRACT_SHADOW_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + WC_SUBTRACT_SHADOW_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + + WC_ADD_ORDER_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Order [wc_magic_resistance|E]" + WC_ADD_ORDER_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Order [wc_magic_resistance|E]" + + WC_SUBTRACT_ORDER_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Order [wc_magic_resistance|E]" + WC_SUBTRACT_ORDER_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Order [wc_magic_resistance|E]" + + WC_ADD_DISORDER_MR_EFFECT_FIRST:0 "You gain #p $VALUE|+0$#! Disorder [wc_magic_resistance|E]" + WC_ADD_DISORDER_MR_EFFECT_GLOBAL:0 "Gains #p $VALUE|+0$#! Disorder [wc_magic_resistance|E]" + + WC_SUBTRACT_DISORDER_MR_EFFECT_FIRST:0 "You lose #n $VALUE|+0$#! Disorder [wc_magic_resistance|E]" + WC_SUBTRACT_DISORDER_MR_EFFECT_GLOBAL:0 "Loses #n $VALUE|+0$#! Disorder [wc_magic_resistance|E]" + + WC_ELEMENTAL_FIRE_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_elemental_fire_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_FIRE_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_elemental_fire_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_ELEMENTAL_AIR_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_elemental_air_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_AIR_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_elemental_air_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_ELEMENTAL_WATER_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_elemental_water_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_WATER_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_elemental_water_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_ELEMENTAL_EARTH_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_elemental_earth_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_EARTH_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_elemental_earth_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_LIFE_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_life_magic_lifestyle|E] [perk|E] unlock(s)" + WC_LIFE_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_life_magic_lifestyle|E] [perk|E] unlock(s)" + WC_DEATH_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_death_magic_lifestyle|E] [perk|E] unlock(s)" + WC_DEATH_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_death_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_LIGHT_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_light_magic_lifestyle|E] [perk|E] unlock(s)" + WC_LIGHT_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_light_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_SHADOW_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_shadow_magic_lifestyle|E] [perk|E] unlock(s)" + WC_SHADOW_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_shadow_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_ORDER_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_order_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ORDER_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_order_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_DISORDER_PERK_ADD_FIRST:0 "You gain #p $VALUE|+0$#! [wc_disorder_magic_lifestyle|E] [perk|E] unlock(s)" + WC_DISORDER_PERK_ADD_GLOBAL:0 "Gains #p $VALUE|+0$#! [wc_disorder_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_SUBTRACT_ELEMENTAL_FIRE_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses [wc_elemental_fire_icon_gc|E]#n $VALUE|+0$#! [wc_magic_resistance|E]" + WC_ADD_LIFE_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Life [wc_magic_resistance|E]" + WC_SUBTRACT_LIFE_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|+0$#! Life [wc_magic_resistance|E]" + WC_ADD_DEATH_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Death [wc_magic_resistance|E]" + WC_SUBTRACT_DEATH_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|+0$#! Death [wc_magic_resistance|E]" + WC_ADD_LIGHT_MR_EFFECT_THIRD :0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Light [wc_magic_resistance|E]" + WC_SUBTRACT_LIGHT_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|+0$#! Light [wc_magic_resistance|E]" + WC_ADD_SHADOW_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + WC_SUBTRACT_SHADOW_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|+0$#! Shadow [wc_magic_resistance|E]" + WC_ADD_ORDER_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Order [wc_magic_resistance|E]" + WC_SUBTRACT_ORDER_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|+0$#! Order [wc_magic_resistance|E]" + WC_ADD_DISORDER_MR_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! Disorder [wc_magic_resistance|E]" + WC_ELEMENTAL_FIRE_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_elemental_fire_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_AIR_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_elemental_air_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_WATER_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_elemental_water_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ELEMENTAL_EARTH_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_elemental_earth_magic_lifestyle|E] [perk|E] unlock(s)" + WC_LIFE_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_life_magic_lifestyle|E] [perk|E] unlock(s)" + WC_DEATH_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_death_magic_lifestyle|E] [perk|E] unlock(s)" + WC_LIGHT_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_light_magic_lifestyle|E] [perk|E] unlock(s)" + WC_SHADOW_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_shadow_magic_lifestyle|E] [perk|E] unlock(s)" + WC_ORDER_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_order_magic_lifestyle|E] [perk|E] unlock(s)" + WC_DISORDER_PERK_ADD_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|+0$#! [wc_disorder_magic_lifestyle|E] [perk|E] unlock(s)" + + WC_ADD_MAX_MANA_EFFECT_FIRST:0 "You gain #p $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity" + WC_ADD_MAX_MANA_EFFECT_GLOBAL:0 "Gains #p $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity" + WC_ADD_MAX_MANA_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity" + + WC_SUBTRACT_MAX_MANA_EFFECT_FIRST:0 "You lose #n $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity" + WC_SUBTRACT_MAX_MANA_EFFECT_GLOBAL:0 "Loses #n $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity + WC_SUBTRACT_MAX_MANA_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|0$#! [wc_full_mana_icon_gc|E] [wc_mana|E] capacity" + + WC_ADD_MANA_REGEN_EFFECT_FIRST:0 "You gain #p $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" + WC_ADD_MANA_REGEN_EFFECT_GLOBAL:0 "Gains #p $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" + WC_ADD_MANA_REGEN_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] gains #p $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" + + WC_SUBTRACT_MANA_REGEN_EFFECT_FIRST:0 "You lose #n $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" + WC_SUBTRACT_MANA_REGEN_EFFECT_GLOBAL:0 "Loses #n $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" + WC_SUBTRACT_MANA_REGEN_EFFECT_THIRD:0 "[CHARACTER.GetShortUIName|V] loses #n $VALUE|0$#! [wc_half_mana_icon_gc|E] [wc_mana_restoration|E]" \ No newline at end of file diff --git a/localization/english/wc_game_concepts_l_english.yml b/localization/english/wc_game_concepts_l_english.yml index 4711cafa97..b4bc8c97a8 100644 --- a/localization/english/wc_game_concepts_l_english.yml +++ b/localization/english/wc_game_concepts_l_english.yml @@ -12,6 +12,15 @@ game_concept_massive_infantry:0 "Giant" game_concept_massive_infantry_desc:0 "Giants are massive [men_at_arms|E] whose extreme strength and resilience cause a dreadful presence on any battlefield.\n\nThey fight with various weaponry or only with their bare hands.\n\nWhile each kind of Giant is unique, they generally [counter|E] [skirmishers|E], and are in turn countered by #E $pikemen$#! and [caster|E].\n\nGiants are also often weak over jungle, mountainous and wet [terrain|E]." + game_concept_fire_elemental:0 "Fire Elemental" + game_concept_fire_elemental_desc:0 "Fire Elementals are powerful [men_at_arms|E] from the elemental plane. They are usually summoned by powerful [wc_spells|E].\n\nThey raze battlegrounds and are countered by sea and water-faring [men_at_arms|E], and also it's opposite [water_elemental|E]." + + game_concept_fire_terrestrial:0 "Fire Terrestrial" + game_concept_fire_terrestrial_desc:0 "A fire Terrestrial is a minor [fire_elemental|E] that is composed mostly of rock and hard lava. They are usually summoned by powerful [wc_spells|E].\n\nDue to their solid nature, they fare a bit better in wet environments than most fire elementals." + + game_concept_fire_tempest:0 "Fire Tempest" + game_concept_fire_tempest_desc:0 "A Fire Tempest is a powerful [fire_elemental|E] that is composed mostly of fire and smoke. They are usually summoned by powerful [wc_spells|E].\n\nDue to their wispy nature, they fare a bit better in dry environments than most fire elementals." + game_concept_union:0 "Union" game_concept_unions:0 "Unions" game_concept_union_possessive:0 "Union's" @@ -124,4 +133,7 @@ game_concept_purge_population:0 "Purge Population" game_concept_genocide:0 "$game_concept_purge_population$" - game_concept_purge_population_desc:0 "A [councillor_task|E] performed by the [marshal|E] which targets a [county|E] of a different [culture|E] or [faith|E] than the [liege|E]\nProgress increases each month, and at 100%, the Target County has changed from their previous Culture and Faith to the Liege's.\n\nConversion speed is affected by many factors, including the [councillor|E]'s [martial_skill|E], the strength of the Liege's unraised [army|E], the County's [development|E], and the [fervor|E] of the two Faiths." \ No newline at end of file + game_concept_purge_population_desc:0 "A [councillor_task|E] performed by the [marshal|E] which targets a [county|E] of a different [culture|E] or [faith|E] than the [liege|E]\nProgress increases each month, and at 100%, the Target County has changed from their previous Culture and Faith to the Liege's.\n\nConversion speed is affected by many factors, including the [councillor|E]'s [martial_skill|E], the strength of the Liege's unraised [army|E], the County's [development|E], and the [fervor|E] of the two Faiths." + + game_concept_water_elemental:0 "Water Elemental" + game_concept_water_elemental_desc:0 "Water Elementals are powerful [men_at_arms|E] from the elemental plane. They are usually summoned by powerful [wc_spells|E].\n\nThey raze battlegrounds and are countered by earth related [men_at_arms|E], and also it's opposite [fire_elemental|E]." \ No newline at end of file diff --git a/localization/english/wc_game_concepts_lifestyles_l_english.yml b/localization/english/wc_game_concepts_lifestyles_l_english.yml new file mode 100644 index 0000000000..4a1318af05 --- /dev/null +++ b/localization/english/wc_game_concepts_lifestyles_l_english.yml @@ -0,0 +1,86 @@ +l_english: + + game_concept_wc_magic_lifestyle:0 "Magic $game_concept_lifestyle$" + game_concept_wc_magic_lifestyles:0 "Magic $game_concept_lifestyles$" + game_concept_wc_magic_lifestyles_no_lifestyles_line:0 "Path" + game_concept_wc_magic_lifestyle_desc:0 "[lifestyles|E] that are used for walking a magic path are called $game_concept_wc_magic_lifestyles$.\n\nThe $game_concept_wc_magic_lifestyles$ are:\n$BULLET_WITH_TAB$ [wc_light_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_shadow_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_disorder_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_order_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_life_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_death_magic_lifestyle|E]\nAdditionally, these also count as [wc_elemental_magic_lifestyle_no_lifestyles_line|E]:\n$BULLET_WITH_TAB$ [wc_elemental_fire_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_water_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_air_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_earth_magic_lifestyle|E]" + game_concept_wc_light_magic_lifestyle:0 "Light Magic $game_concept_lifestyle$" + game_concept_wc_light_magic_lifestyle_desc:0 "The $game_concept_wc_light_magic_lifestyle$ is suitable for Characters who want to $light_magic_lifestyle_desc$" + game_concept_wc_shadow_magic_lifestyle:0 "Shadow Magic $game_concept_lifestyle$" + game_concept_wc_shadow_magic_lifestyle_desc:0 "The $game_concept_wc_shadow_magic_lifestyle$ is suitable for Characters who want to $shadow_magic_lifestyle_desc$" + game_concept_wc_disorder_magic_lifestyle:0 "Fel Magic $game_concept_lifestyle$" + game_concept_wc_disorder_magic_lifestyle_desc:0 "The $game_concept_wc_disorder_magic_lifestyle$ is suitable for Characters who want to $disorder_magic_lifestyle_desc$" + game_concept_wc_order_magic_lifestyle:0 "Arcane Magic $game_concept_lifestyle$" + game_concept_wc_order_magic_lifestyle_desc:0 "The $game_concept_wc_order_magic_lifestyle$ is suitable for Characters who want to $order_magic_lifestyle_desc$" + game_concept_wc_Order_magic_lifestyle:0 "Arcane Magic $game_concept_lifestyle$" + game_concept_wc_Order_magic_lifestyle_desc:0 "The $game_concept_wc_Order_magic_lifestyle$ is suitable for Characters who want to $order_magic_lifestyle_desc$" + game_concept_wc_life_magic_lifestyle:0 "Nature Magic $game_concept_lifestyle$" + game_concept_wc_life_magic_lifestyle_desc:0 "The $game_concept_wc_life_magic_lifestyle$ is suitable for Characters who want to $life_magic_lifestyle_desc$" + game_concept_wc_death_magic_lifestyle:0 "Death Magic $game_concept_lifestyle$" + game_concept_wc_death_magic_lifestyle_desc:0 "The $game_concept_wc_death_magic_lifestyle$ is suitable for Characters who want to $death_magic_lifestyle_desc$" + game_concept_wc_elemental_fire_magic_lifestyle:0 "Fire Magic $game_concept_lifestyle$" + game_concept_wc_elemental_fire_magic_lifestyle_desc:0 "The $game_concept_wc_elemental_fire_magic_lifestyle$ is suitable for Characters who want to $elemental_fire_magic_lifestyle_desc$" + game_concept_wc_elemental_water_magic_lifestyle:0 "Water Magic $game_concept_lifestyle$" + game_concept_wc_elemental_water_magic_lifestyle_desc:0 "The $game_concept_wc_elemental_water_magic_lifestyle$ is suitable for Characters who want to $elemental_water_magic_lifestyle_desc$" + game_concept_wc_elemental_air_magic_lifestyle:0 "Air Magic $game_concept_lifestyle$" + game_concept_wc_elemental_air_magic_lifestyle_desc:0 "The $game_concept_wc_elemental_air_magic_lifestyle$ is suitable for Characters who want to $elemental_air_magic_lifestyle_desc$" + game_concept_wc_elemental_earth_magic_lifestyle:0 "Earth Magic $game_concept_lifestyle$" + game_concept_wc_elemental_earth_magic_lifestyle_desc:0 "The $game_concept_wc_elemental_earth_magic_lifestyle$ is suitable for Characters who want to $elemental_earth_magic_lifestyle_desc$" + + game_concept_wc_elemental_fire_icon_gc:0 "@wc_elemental_fire_icon!" + game_concept_wc_elemental_water_icon_gc:0 "@wc_elemental_water_icon!" + game_concept_wc_elemental_air_icon_gc:0 "@wc_elemental_air_icon!" + game_concept_wc_elemental_earth_icon_gc:0 "@wc_elemental_earth_icon!" + + game_concept_wc_elemental_magic_lifestyle:0 "Elemental Magic $game_concept_lifestyles$" + game_concept_wc_elemental_magic_lifestyle_no_lifestyles_line:0 "Elemental Magic" + game_concept_wc_elemental_magic_lifestyle_element:0 "Element" + game_concept_wc_elemental_magic_lifestyle_elements:0 "Elements" + game_concept_wc_elemental_magic_lifestyle_desc:0 "[wc_magic_lifestyle|E] that are using Elemental Magic are called $game_concept_wc_elemental_magic_lifestyle$.\n\nThe $game_concept_wc_elemental_magic_lifestyle$ are:\n$BULLET_WITH_TAB$ [wc_elemental_fire_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_water_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_air_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_earth_magic_lifestyle|E]\n\nTo live in harmony with, or assert dominion over, the elements, the primordial forces of [wc_elemental_magic_spirit|E] and [wc_elemental_magic_decay|E] are called upon by shamans and dark shamans." + + game_concept_wc_elemental_magic_spirit:0 "Spirit" + game_concept_wc_elemental_magic_spirit_desc:0 "The fifth element, primordial force of Spirit is often seen as the opposite of [wc_elemental_magic_decay|E]. It is called upon by shamans to brings balance to the volatile [wc_elemental_magic_lifestyle_elements|E]." + game_concept_wc_elemental_magic_decay:0 "Decay" + game_concept_wc_elemental_magic_decay_desc:0 "The sixth element, primordial force of Decay is often seen as the opposite of [wc_elemental_magic_spirit|E]. It is called upon by dark shamans to binds the [wc_elemental_magic_lifestyle_elements|E] to one's will, forcing them into servitude and weaponize them." + + game_concept_wc_elemental_spirit_decay_magic_disposition:0 "Elemental Disposition" + game_concept_wc_elemental_magic_disposition_neutral:0 "Neutral Element Disposition" + game_concept_wc_elemental_magic_disposition_spirit:0 "Spirit Element Disposition" + game_concept_wc_elemental_magic_disposition_decay:0 "Decay Element Disposition" + game_concept_wc_elemental_fire_spirit_decay_magic_disposition:0 "Fire Element Disposition" + game_concept_wc_elemental_fire_neutral_magic_disposition:0 "Neutral Fire Element Disposition" + game_concept_wc_elemental_fire_spirit_magic_disposition:0 "Spirit Fire Element Disposition" + game_concept_wc_elemental_fire_decay_magic_disposition:0 "Decay Fire Element Disposition" + game_concept_wc_elemental_water_spirit_decay_magic_disposition:0 "Water Element Disposition" + game_concept_wc_elemental_water_neutral_magic_disposition:0 "Neutral Water Element Disposition" + game_concept_wc_elemental_water_spirit_magic_disposition:0 "Spirit Water Element Disposition" + game_concept_wc_elemental_water_decay_magic_disposition:0 "Decay Water Element Disposition" + game_concept_wc_elemental_air_spirit_decay_magic_disposition:0 "Air Element Disposition" + game_concept_wc_elemental_air_neutral_magic_disposition:0 "Neutral Air Element Disposition" + game_concept_wc_elemental_air_spirit_magic_disposition:0 "Spirit Air Element Disposition" + game_concept_wc_elemental_air_decay_magic_disposition:0 "Decay Air Element Disposition" + game_concept_wc_elemental_earth_spirit_decay_magic_disposition:0 "Earth Element Disposition" + game_concept_wc_elemental_earth_neutral_magic_disposition:0 "Neutral Earth Element Disposition" + game_concept_wc_elemental_earth_spirit_magic_disposition:0 "Spirit Earth Element Disposition" + game_concept_wc_elemental_earth_decay_magic_disposition:0 "Decay Earth Element Disposition" + game_concept_wc_elemental_fire_neutral_icon_gc:0 "@wc_elemental_fire_neutral_icon!" + game_concept_wc_elemental_water_neutral_icon_gc:0 "@wc_elemental_water_neutral_icon!" + game_concept_wc_elemental_air_neutral_icon_gc:0 "@wc_elemental_air_neutral_icon!" + game_concept_wc_elemental_earth_neutral_icon_gc:0 "@wc_elemental_earth_neutral_icon!" + game_concept_wc_elemental_fire_spirit_icon_gc:0 "@wc_elemental_fire_spirit_icon!" + game_concept_wc_elemental_water_spirit_icon_gc:0 "@wc_elemental_water_spirit_icon!" + game_concept_wc_elemental_air_spirit_icon_gc:0 "@wc_elemental_air_spirit_icon!" + game_concept_wc_elemental_earth_spirit_icon_gc:0 "@wc_elemental_earth_spirit_icon!" + game_concept_wc_elemental_fire_decay_icon_gc:0 "@wc_elemental_fire_decay_icon!" + game_concept_wc_elemental_water_decay_icon_gc:0 "@wc_elemental_water_decay_icon!" + game_concept_wc_elemental_air_decay_icon_gc:0 "@wc_elemental_air_decay_icon!" + game_concept_wc_elemental_earth_decay_icon_gc:0 "@wc_elemental_earth_decay_icon!" + + game_concept_wc_elemental_spirit_decay_magic_disposition_desc:0 "$game_concept_wc_elemental_spirit_decay_magic_disposition$ represent a [character|E] relationship with the [wc_elemental_magic_lifestyle_elements|E] and affect [traits|E] gained for [perks|E] in [wc_elemental_magic_lifestyle|E].\nIf a [character|E] has [EmptyScope.ScriptValue('wc_spirit_elemental_favour_threshold_value')|=+0] or more [wc_elemental_spirit_decay_magic_favour|E] with an [wc_elemental_magic_lifestyle_element|E], they will have [wc_elemental_magic_spirit|E] $game_concept_wc_elemental_spirit_decay_magic_disposition$ with that [wc_elemental_magic_lifestyle_element|E].\nIf a [character|E] has [EmptyScope.ScriptValue('wc_decay_elemental_favour_threshold_value')|=+0] or less [wc_elemental_spirit_decay_magic_favour|E] with an [wc_elemental_magic_lifestyle_element|E], they will have [wc_elemental_magic_decay|E] $game_concept_wc_elemental_spirit_decay_magic_disposition$ with that Element.\nIf a [character|E] has more than [EmptyScope.ScriptValue('wc_decay_elemental_favour_threshold_value')|=+0] and less than [EmptyScope.ScriptValue('wc_spirit_elemental_favour_threshold_value')|=+0] [wc_elemental_spirit_decay_magic_favour|E] with an [wc_elemental_magic_lifestyle_element|E], they will have $game_concept_wc_elemental_magic_disposition_neutral$ with that [wc_elemental_magic_lifestyle_element|E].\n\n#weak For example, if a [character|E] with [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )] and [EmptyScope.ScriptValue('wc_major_elemental_favour_change_value')|=+0] [wc_elemental_spirit_decay_magic_favour|E] gains [EmptyScope.ScriptValue('wc_massive_elemental_favour_change_value')|=+0] [wc_elemental_spirit_decay_magic_favour|E], it will change their $game_concept_wc_elemental_magic_disposition_neutral$ to [wc_elemental_magic_spirit|E] $game_concept_wc_elemental_spirit_decay_magic_disposition$, also changing their [GetTrait('user_of_elemental_water_magic_3').GetName( GetPlayer )] [trait|E] to [GetTrait('user_of_elemental_water_spirit_magic_3').GetName( GetPlayer )].#!" + + game_concept_wc_elemental_spirit_decay_magic_favour:0 "Elemental Goodwill" + game_concept_wc_elemental_fire_spiritdecay_magic_favour:0 "Fire Element Goodwill" + game_concept_wc_elemental_water_spiritdecay_magic_favour:0 "Water Element Goodwill" + game_concept_wc_elemental_air_spiritdecay_magic_favour:0 "Air Element Goodwill" + game_concept_wc_elemental_earth_spiritdecay_magic_favour:0 "Earth Element Goodwill" + game_concept_wc_elemental_spirit_decay_magic_favour_desc:0 "$game_concept_wc_elemental_spirit_decay_magic_favour$ shows how cooperative is the [wc_elemental_magic_lifestyle_element|E] towards a [character|E], and is represented by a value ranging from [EmptyScope.ScriptValue('wc_min_elemental_favour_value')|=+0] to [EmptyScope.ScriptValue('wc_max_elemental_favour_value')|=+0]. It directly affect [wc_elemental_spirit_decay_magic_disposition|E].\nIf a [character|E] did not interact with [wc_elemental_magic_lifestyle_element|E] in any way before, their starting $game_concept_wc_elemental_spirit_decay_magic_favour$ will depends on [wc_elemental_magic_lifestyle_no_lifestyles_line|E] [doctrines|E] of their [faith|E]." \ No newline at end of file diff --git a/localization/english/wc_game_concepts_magic_l_english.yml b/localization/english/wc_game_concepts_magic_l_english.yml new file mode 100644 index 0000000000..a7cdc42856 --- /dev/null +++ b/localization/english/wc_game_concepts_magic_l_english.yml @@ -0,0 +1,144 @@ +l_english: + game_concept_wc_mana:0 "Mana" + game_concept_wc_mana_desc:0 "Mana is a resource that represents a Character's ability to bend reality to their will. It can be spend on various [wc_spells|E] and gained by [wc_mana_restoration|E]." + game_concept_wc_full_mana_icon_gc:0 "@wc_full_mana_icon!" + game_concept_wc_half_mana_icon_gc:0 "@wc_half_mana_icon!" + game_concept_wc_empty_mana_icon_gc:0 "@wc_empty_mana_icon!" + game_concept_wc_available_mana_to_stat:0 "Mana Conductivity" + game_concept_wc_available_mana_to_stat_desc:0 "Sometimes, a question is not #Italic on what should I spend?#!, but #Italic to spend or not to spend?#!\n$game_concept_wc_available_mana_to_stat$ represents [character_possessive|E] ability to utilise their magic in [battle|E].\nBy default, without any other modifiers affecting $game_concept_wc_available_mana_to_stat$, [character|E] gains [EmptyScope.ScriptValue('wc_current_mana_to_prowess_base_percent')|V0%] of it's [wc_mana|E] (rounded down) as [prowess|E].\n\n#weak For example, if a [character|E] has #z 18#! availiable [wc_mana|E] and #z 10%#! $game_concept_wc_available_mana_to_stat$ to [prowess|E], it will gain #z 1#! (#z 1.8#! rounded down) [prowess|E].#!" + game_concept_wc_stat_mana_icon_gc:0 "@wc_stat_mana_icon!" + game_concept_wc_mana_restoration:0 "Mana Restoration" + game_concept_wc_mana_regeneration:0 "Mana Regeneration" + game_concept_wc_mana_regeneration_from_max:0 "Mana Replenishment" + game_concept_wc_mana_restoration_desc:0 "[character|E] restore their [wc_mana|E] monthly.\n$game_concept_wc_mana_regeneration_from_max$ affect monthly $game_concept_wc_mana_restoration$ based on [character_possessive|E] [wc_max_mana|E]. By default, a [character_possessive|E] $game_concept_wc_mana_regeneration_from_max$ is [EmptyScope.ScriptValue('wc_mana_replenishment_base_value')|V0%] of their [wc_max_mana|E].\n$game_concept_wc_mana_regeneration$ affect total monthly $game_concept_wc_mana_restoration$ of a [character|E].\n\n#weak For example, if a [character|E] with #z 50#! [wc_max_mana|E] and #z 3%#! $game_concept_wc_mana_regeneration_from_max$ increase their $game_concept_wc_mana_regeneration_from_max$ by #z 2%#!, their monthly $game_concept_wc_mana_restoration$ will increase from #z 1.5#! to #z 2.5#! (from #z 3%#! to #z 5%#! of their [wc_max_mana|E]).\nIf a [character|E] with #z 5#! monthly $game_concept_wc_mana_restoration$ get #z 10%#! $game_concept_wc_mana_regeneration$ bonus, their monthly $game_concept_wc_mana_restoration$ will be #z 5.5%#!.#!" + game_concept_wc_max_mana:0 "Mana Capacity" + game_concept_wc_max_mana_desc:0 "$game_concept_wc_max_mana$ is the maximum amount of mana a [character|E] can have. It's increased by [perks|E] in [wc_magic_lifestyles|E] - but only if [character|E] already has a [trait|E] gained for [perks|E] in that [wc_magic_lifestyle|E]." + + game_concept_wc_spells:0 "Spells" + + game_concept_wc_spell:0 "Spell" + game_concept_wc_spell_icon_gc:0 "@wc_spell_icon!" + game_concept_wc_spells_desc:0 "On Azeroth, certain individuals are able to wield the ancient and mystical powers of the [wc_cosmos|E] and the [wc_elements|E]. These powers manifest in certain regular and controllable methods called "spells". Through experience, individuals with the time and ability can learn these spells and use this power to influence the world around them, helping and harming others as well as themselves." + + game_concept_wc_spell_rank:0 "Spell Rank" + game_concept_wc_spell_rank_desc:0 "[wc_spell|E]s are formulaic and can be increased or decreased in magnitude based on the desired effect and available resources. This ability to adjust the magnitude of a spell gives it a "Spell Rank"." + + game_concept_wc_spell_channeling:0 "Spell Channeling" + game_concept_wc_spell_channel:0 "Channel" + game_concept_wc_spell_channeled:0 "Channeled" + game_concept_wc_spell_channeling_desc:0 "Continually casting a [wc_spell|E] is called "Channeling". This allows the casted spell to manifest its effects continuously at the cost of overall monthly mana regeneration. " + + game_concept_wc_spell_type:0 "Spell Type" + game_concept_wc_spell_type_desc:0 "Every spell works differently, but they can be generalized into certain spell types. A $wc_spell_type$ can help define what a spell does at it's core." + game_concept_wc_spell_type_enchantment:0 "Enchantment" + game_concept_wc_spell_type_enchantment_desc:0 "An enchantment [wc_spell|E] is a spell that enhances the stats, magic performance, and other things towards a character. They can be positive or negative, and usually mean receiving a [modifier|E]" + + game_concept_wc_spell_type_attack:0 "Attack" + game_concept_wc_spell_type_attack_desc:0 "An attack [wc_spell|E] is a spell that directly harms your enemies by giving them a negative [modifier|E], [trait|E], or harming one of their [knights|E] or [skills|E]." + + game_concept_wc_spell_type_defend:0 "Defense" + game_concept_wc_spell_type_defend_desc:0 "A $wc_spell_type_defend_desc$ [wc_spell|E] usually directly counters a [wc_spell_type_attack|E] spell, either proactively, or after an attack has been launched." + + game_concept_wc_spell_type_heal:0 "Heal" + game_concept_wc_spell_type_heal_desc:0 "A $game_concept_wc_spell_type_heal$ [wc_spell|E] is a spell that restores [health|E] to a [character|E], or otherwise cures them of ailments." + + game_concept_wc_spell_type_dispel:0 "Dispel" + game_concept_wc_spell_type_dispel_desc:0 "A $game_concept_wc_spell_type_dispel$ [wc_spell|E] is a type of healing spell that cures, or decreases the severity of certain ailments. Certain dispels can only cure corresponding ailments. These ailments are broken down into certain categories:\n\n$BULLET$[wc_magic_illness|E]\n$BULLET$[wc_major_illness|E]\n$BULLET$[wc_magic_injury|E]\n$BULLET$[wc_illness|E]\n$BULLET$[wc_major_injury|E]\n$BULLET$[wc_injury|E]\n$BULLET$[wc_poison|E]\n$BULLET$[wc_psych_illness|E]" + wc_dispel_no_effect_tooltip:0 "Due to the current [wc_spell_rank|E] or the capabilities of the [wc_spell|E], it has no effect on the target." + + game_concept_wc_magic_illness:0 "Magic Illness" + game_concept_wc_magic_illness_desc:0 "A Magic Illness refers to an illness conjured by a magic user, or using a [wc_spell|E]. Examples this include:\n$BULLET$[GetTrait('void_sickness').GetName(GetNullCharacter)]" + + game_concept_wc_major_illness:0 "Debilitating Illness" + game_concept_wc_major_illness_desc:0 "A Major, or Debilitating illness is an illness usually spread from a [plague|E], or one that is deemed very likely to kill a character. Examples of this include:\n$BULLET$[GetTrait('leper').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('cancer').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('typhus').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('measles').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('pneumonic').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('bubonic_plague').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('smallpox').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('dysentery').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('ergotism').GetName(GetNullCharacter)]" + + game_concept_wc_magic_injury:0 "Magic Injury" + game_concept_wc_magic_injury_desc:0 "A Magic Injury refers to an injury conjured by a magic user, or using a [wc_spell|E]. Examples of this include:\n$BULLET$[wc_injury_burned|E]\n$BULLET$[wc_injury_frostbite|E]\n$BULLET$[GetTrait('holy_wrath').GetName(GetNullCharacter)]" + + game_concept_wc_illness:0 "Illness" + game_concept_wc_illnesses:0 "Illnesses" + game_concept_wc_illness_desc:0 "An [illness|E] of less severity, compared to [wc_major_illness|E]. Examples of this include:\n$BULLET$[GetTrait('lovers_pox').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('gout_ridden').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('consumption').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('sickly').GetName(GetNullCharacter)]" + + game_concept_wc_major_injury:0 "Major Injury" + game_concept_wc_major_injury_desc:0 "A major Injury refers to an injury that is likely to kill a character, or is rather permanent. Examples of this include:\n$BULLET$[GetTrait('one_eyed').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('one_legged').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('disfigured').GetName(GetNullCharacter)]" + + game_concept_wc_injury:0 "Injury" + game_concept_wc_injury_desc:0 "An injury of less severity, compared to [wc_major_injury|E]. Examples of this include:\n$BULLET$[GetTrait('wounded_1').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('maimed').GetName(GetNullCharacter)]" + + game_concept_wc_poison:0 "Poison" + game_concept_wc_poison_desc:0 "A poison is a substance that can cause harm to a character, or even kill them. Examples of this include:" + + game_concept_wc_psych_illness:0 "Psychological Illness" + game_concept_wc_psych_illness_desc:0 "A Psychological Illness refers to an illness that affects the mind of a character. Examples of this include:\n$BULLET$[GetTrait('depressed_1').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('possessed_1').GetName(GetNullCharacter)]\n$BULLET$[GetTrait('lunatic_1').GetName(GetNullCharacter)]" + + game_concept_wc_spell_schools:0 "Spell Schools" + game_concept_wc_spell_school:0 "Spell School" + game_concept_wc_spell_schools_desc:0 "The magic of Azeroth is divided into disciplines known as schools. Some believe the so called [wc_spell_school_cosmic|E] each reflect a set of forces from the the world of Azeroth which has a competing dualistic opposite. On the other hand, the [wc_spell_school_elemental|E] arises from material forces within the world which influence the [wc_cosmos|E] in return. Each school of magic has its own sphere of influence in the material world, with its own set of benefits, drawbacks, effects, tools, and even philosophies which its practicioners bring to bear." + game_concept_wc_spell_school_cosmic:0 "Cosmic Schools" + game_concept_wc_spell_school_cosmic_desc:0 "The Cosmic schools of magic include [wc_spell_school_light|E], [wc_spell_school_shadow|E], [wc_spell_school_order|E], [wc_spell_school_disorder|E], [wc_spell_school_life|E], and [wc_spell_school_death|E]. These magical schools arise from the [wc_cosmos|E], the aethereal void above and beyond all worlds. Interacting with them brings great power but often also invites the attention of otherworldy beings of vastly superior power; including the Naaru, Demons, and the eldritch Old Gods." + game_concept_wc_spell_school_light:0 "Light School" + game_concept_wc_spell_school_light_desc:0 "The forces of Light present themselves as an ally to life throughout the cosmos, fostering togetherness and civilization. The powerful beings of light such as the Naaru seek to rally all life in conflict against the forces of the Fel. As such, the spells in the school of Light focus on healing and powerful buffs that increase collective abilities." + game_concept_wc_spell_school_shadow:0 "Shadow School" + game_concept_wc_spell_school_shadow_desc:0 "The forces of Shadow represent the individual will of beings to enforce their will, and extend from eldritch beings lost in the vastness of time. Users of Shadow magic must be vigilant against the influence of these powerful entities. The spells in the school of Shadow focus on bending others to one's will, concealing one's motivation and identity, and increasing one's power at others' expense. " + game_concept_wc_spell_school_disorder:0 "Fel School" + game_concept_wc_spell_school_disorder_desc:0 "Originating from the betrayal of the great demonic titan Sargeras in the depths of early time, the Fel seeks to subvert and destroy all life in the [wc_cosmos|E]. As such, Fel magics focus on entropic decay, enforcing control, and physical destruction. Consorting with the demonic creatures at the source of the Fel can be quite dangerous." + game_concept_wc_spell_school_Order:0 "Arcane School" + game_concept_wc_spell_school_order:0 "$game_concept_wc_spell_school_Order$" + game_concept_wc_spell_school_order_desc:0 "$game_concept_wc_spell_school_Order_desc$" + game_concept_wc_spell_school_Order_desc:0 "The forces of the Arcane represent the physical laws of the [wc_cosmos|E] itself. Underlying the properties of the [wc_spell_school_elemental|E], the Arcane is a seething and disorderly font of energy that can empower spellcasters to change reality at a fundamental level. Arcane spells serve a variety of functions; chief among them control of the [wc_elements|E], and the fundamental manipulation of magic and time." + game_concept_wc_spell_school_life:0 "Nature School" + game_concept_wc_spell_school_life_desc:0 "Life permeates the [wc_cosmos|E], and the interplay between altruistic harmony and avaricious competition creates an interplay of complexity that has given rise to a great source of strength for all living beings. This is known as Nature Magic and it focuses on growth, harmony, and balance between and among living things. As such it focuses on healing, voluntary cooperation, and brute strength. \nBecause of the emergent similarities between living and elemental beings, an association between Life and the [wc_spell_school_elemental|E] known as Spirit." + game_concept_wc_spell_school_death:0 "Death School" + game_concept_wc_spell_school_death_desc:0 "Everywhere there is life (and life is everywhere), there must also be death; and so the dynamic and harmonious forces of life give rise to the unbending inevitable will of Death. While Death exists in a natural balance with Life, those living creatures who are able to use magic inevitably seek to stave off death, and in so doing empower death to overcome this balance and bring entropy and decay to thriving ecologies. Death magic naturally focuses on decay, reanimation, and life extension. \nAdditionally, the same forces that drive living things to exert their will over one another have also created an association between death and the [wc_spell_school_elemental|E] known as Decay." + game_concept_wc_spell_school_elemental:0 "Elemental Schools" + game_concept_wc_spell_school_elemental_desc:0 "The material and physical forces of Azeroth and the other planes, by virtue of their great power and complexity, have acquired a magical will and consciousness of their own. These forces known as the [wc_elements|E] give some spellcasters the power to shape the chemical and energetic makeup of the world in ways that are not only scientifically familiar but intuitively understandable to sentient beings. Therefore they are frequently the first spells used by spellcasters from cultures of low sophistication, but remain relevant in a purified form through later stages of [development|E]. The four elemental schools are [wc_spell_school_elemental_fire|E], [wc_spell_school_elemental_water|E], [wc_spell_school_elemental_air|E], and [wc_spell_school_elemental_earth|E]. \nAdditionally; there are two approaches to dealing with these elemental spirits; Spirit (often associated with the [wc_spell_school_life|E]), and Decay (often associated with the [wc_spell_school_death|E])" + game_concept_wc_spell_school_elemental_fire:0 "Fire School" + game_concept_wc_spell_school_elemental_fire_desc:0 "One of the [wc_spell_school_elemental], this school deals with the forces of fire and magma." + game_concept_wc_spell_school_elemental_water:0 "Water School" + game_concept_wc_spell_school_elemental_water_desc:0 "One of the [wc_spell_school_elemental], this school deals with the forces of ice and water; including bodies of water such as rivers, lakes, and seas." + game_concept_wc_spell_school_elemental_air:0 "Air School" + game_concept_wc_spell_school_elemental_air_desc:0 "One of the [wc_spell_school_elemental], this school deals with the forces of air and lightning." + game_concept_wc_spell_school_elemental_earth:0 "Earth School" + game_concept_wc_spell_school_elemental_earth_desc:0 "One of the [wc_spell_school_elemental], this school deals with the soil, stone, and terrain; as well as metal and gems." + + game_concept_wc_elements:0 "Elements" + game_concept_wc_elements_desc:0 "While they arise from the same Arcane energies that underly the [wc_spell_school_order|E], the animate and chemical nature of the Elements gives them an orderly will superficially similar to living beings, which can be accessed and dialogued with by shamanic practices. Since the Elements of all worlds in the cosmos share common properties and similar wills, they have manifested their own elemental planes in the [wc_cosmos|E]." + game_concept_wc_cosmos:0 "Cosmos" + game_concept_wc_cosmos_desc:0 "The Cosmos is the name for the space around, between, and superlative to mundane worlds. It is the source of magical energy that permeates and sustains them. The six [wc_spell_school_cosmic] each reflect one of the major forces influencing Azeroth and (to a lesser extent) countless other worlds within the Cosmos. Some of the forces consider themselves allies and defenders of life, whereas others are hostile to it and seek its destruction for gain or out of principle. Each of these forces has their own set of domains within the cosmos, known as a plane. The [wc_elements], while originating in the material worlds, also each have a plane in the cosmos." + + + game_concept_wc_magic_resistance:0 "Magic Resistance" + game_concept_wc_magic_resistance_desc:0 "$game_concept_wc_magic_resistance$ affects how much damage a [character|E] will take from a certain class of [wc_spell|E], or determines the chances they have to dodge a harmful spell.\n\nIt is determined by a character's [wc_race|E], [faith|E], [wc_magic_lifestyle|E], and can also be changed by a spell. The maximum amount once can have is 20." + + wc_shadow_magic_resistance:0 "[Concept('wc_spell_school_shadow', 'Shadow')|E] [wc_magic_resistance|E]:" + wc_disorder_magic_resistance:0 "[Concept('wc_spell_school_disorder', 'Fel')|E] [wc_magic_resistance|E]:" + wc_light_magic_resistance:0 "[Concept('wc_spell_school_light', 'Light')|E] [wc_magic_resistance|E]:" + wc_life_magic_resistance:0 "[Concept('wc_spell_school_life', 'Nature')|E] [wc_magic_resistance|E]:" + wc_death_magic_resistance:0 "[Concept('wc_spell_school_death', 'Death')|E] [wc_magic_resistance|E]:" + wc_Order_magic_resistance:0 "[Concept('wc_spell_school_order', 'Arcane')|E] [wc_magic_resistance|E]:" + wc_elemental_fire_magic_resistance:0 "[Concept('wc_spell_school_elemental_fire', 'Fire')|E] [wc_magic_resistance|E]:" + wc_elemental_water_magic_resistance:0 "[Concept('wc_spell_school_elemental_water', 'Water')|E] [wc_magic_resistance|E]:" + wc_elemental_earth_magic_resistance:0 "[Concept('wc_spell_school_elemental_earth', 'Earth')|E] [wc_magic_resistance|E]:" + wc_elemental_air_magic_resistance:0 "[Concept('wc_spell_school_elemental_air', 'Air')|E] [wc_magic_resistance|E]:" + + wc_from_mr_elemental_fire_desc:0 "If target had no [Concept('wc_spell_school_elemental_fire', 'Fire')|E] [wc_magic_resistance|E]" + wc_from_mr_light_desc:0 "If target had no [Concept('wc_spell_school_light', 'Light')|E] [wc_magic_resistance|E]" + wc_from_mr_order_desc:0 "If target had no [Concept('wc_spell_school_order', 'Order')|E] [wc_magic_resistance|E]" + wc_from_mr_shadow_desc:0 "If target had no [Concept('wc_spell_school_shadow', 'Shadow')|E] [wc_magic_resistance|E]" + wc_from_mr_disorder_desc:0 "If target had no [Concept('wc_spell_school_disorder', 'Fel')|E] [wc_magic_resistance|E]" + wc_from_mr_life_desc:0 "If target had no [Concept('wc_spell_school_life', 'Nature')|E] [wc_magic_resistance|E]" + wc_from_mr_death_desc:0 "If target had no [Concept('wc_spell_school_death', 'Death')|E] [wc_magic_resistance|E]" + wc_from_mr_elemental_water_desc:0 "If target had no [Concept('wc_spell_school_elemental_water', 'Water')|E] [wc_magic_resistance|E]" + wc_from_mr_elemental_air_desc:0 "If target had no [Concept('wc_spell_school_elemental_air', 'Air')|E] [wc_magic_resistance|E]" + wc_from_mr_elemental_earth_desc:0 "If target had no [Concept('wc_spell_school_elemental_earth', 'Earth')|E] [wc_magic_resistance|E]" + + game_concept_wc_spell_type_ritual:0 "Ritual" + game_concept_wc_spell_type_ritual_desc:0 "A ritual is a very powerful [wc_spell|E] with a long cooldown and different effects from a normal spell. A ritual can implement many new features for a magic user, or give them greater benefits." + + game_concept_wc_injury_burned:0 "Burned" + game_concept_wc_injury_burn:0 "Burn" + game_concept_wc_injury_burned_desc:0 "A type of [wc_magic_injury|E] inflicted by hostile fire magic.\n\nThe injury has three tiers:\n$EFFECT_LIST_BULLET$[GetTrait('burned_1').GetName(GetNullCharacter)]\n$EFFECT_LIST_BULLET$[GetTrait('burned_2').GetName(GetNullCharacter)]\n$EFFECT_LIST_BULLET$[GetTrait('burned_3').GetName(GetNullCharacter)]" + + game_concept_wc_injury_frostbite:0 "Frostbite" + game_concept_wc_injury_frostbitten:0 "Frostbitten" + game_concept_wc_injury_frostbite_desc:0 "A type of [wc_magic_injury|E] inflicted by hostile water or ice magic.\n\nThe injury has three tiers:\n$EFFECT_LIST_BULLET$[GetTrait('frostbite_1').GetName(GetNullCharacter)]\n$EFFECT_LIST_BULLET$[GetTrait('frostbite_2').GetName(GetNullCharacter)]\n$EFFECT_LIST_BULLET$[GetTrait('frostbite_3').GetName(GetNullCharacter)]" \ No newline at end of file diff --git a/localization/english/wc_game_concepts_magic_spells_l_english.yml b/localization/english/wc_game_concepts_magic_spells_l_english.yml new file mode 100644 index 0000000000..e069b918a7 --- /dev/null +++ b/localization/english/wc_game_concepts_magic_spells_l_english.yml @@ -0,0 +1,812 @@ +l_english: + spell_cost_zero:0 "0" + + game_concept_wc_spell_type_summon:0 "Summon" + game_concept_wc_spell_type_summon_desc:0 "A summoning spell summons a powerful [men_at_arms|E], or other type of entity to harm/help the target." + + game_concept_wc_spell_summon_fire_elemental:0 "Summon Fire Elemental" + game_concept_wc_spell_summon_fire_elemental_desc:0 "Call upon the fire elements to aid you." + wc_spell_summon_fire_elemental_type:0 "[wc_spell_type_summon|E]" + wc_spell_summon_fire_elemental_targets:0 "[character|E], [barony|E]" + wc_spell_summon_fire_elemental_effects:0 "[wc_spell_rank|E] 1: Summons a Fire Elemental to your side, empowering the target's Elemental Fire [wc_spell_school|E] Spells, as well as reducing the cooldown and cast time (excluding rituals).\n[wc_spell_rank|E] 2: Summons a powerful [men_at_arms|E] to a selected [barony|E].\n[wc_spell_rank|E] 3: The power of your [men_at_arms|E] Elemental is increased." + wc_learn_spell_summon_fire_elemental:0 "Learn the spell: [wc_spell_summon_fire_elemental|E]" + wc_learn_spell_summon_fire_elemental_2:0 "Learn [wc_spell_rank|E] 2 & 3 of [wc_spell_summon_fire_elemental|E]" + summoned_fire_elemental:0 "Summoned Fire Elemental" + + game_concept_wc_spell_lava_lash:0 "Lava Lash" + game_concept_wc_spell_lava_lash_desc:0 "Unleash lava on your target province, causing your enemies to flee and abandon post." + wc_spell_lava_lash_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_lava_lash_targets:0 "[barony|E]" + wc_spell_lava_lash_effects:0 "Decreases the target's [fort_level|E] and [levies|E]." + wc_learn_spell_lava_lash:0 "Learn the spell: [wc_spell_lava_lash|E]" + wc_lava_lash_proc:0 "[wc_spell_lava_lash|E] now has a chance to spread to a surrounding province." + + game_concept_wc_spell_backdraft:0 "Backdraft" + game_concept_wc_spell_backdraft_desc:0 "Use the power of fire to harness energy from your enemies." + wc_spell_backdraft_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_backdraft_targets:0 "[barony|E], [county|E]" + wc_spell_backdraft_effects:0 "[wc_spell_rank|E] 1: Monitor a barony. Each time this barony is targeted by a fel, arcane, or elemental spell; you recover mana equivalent to that spell's cost (excluding rituals). If your mana is above 90%, your next cast will be free instead.\n[wc_spell_rank|E] 2: Backdraft can now target multiple baronies.\n[wc_spell_rank|E] 3: Backdraft can now target multiple counties." + wc_learn_spell_backdraft:0 "Learn the spell: [wc_spell_backdraft|E]" + wc_learn_spell_backdraft_2:0 "Learn [wc_spell_rank|E] 2 & 3 of [wc_spell_backdraft|E]" + wc_backdraft_tt:0 "You will begin monitoring [this_recipient.GetName] for it's spells." + backdraft_proc_title:0 "Backdraft from [current_target_title.GetName] Consumed" + wc_backdraft_proc_modifier_free:0 "Your next cast will be free." + wc_lava_lash_empowered:0 "Lava Lash Spreads!" + wc_lava_lash_empowered_desc:0 "Lava Lash from [this_recipient.GetName] spread to [lava_lash_spread.GetName]!" + game_concept_wc_spell_flame_wall:0 "Flame Wall" + game_concept_wc_spell_flame_wall_desc:0 "Infuse your armies and their commander with the power of fire. + wc_spell_flame_wall_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_flame_wall_targets:0 "[army|E]" + wc_spell_flame_wall_effects:0 "When cast on a friendly army: [men_at_arms|E] gain #p 20% #! pursuit\nWhen cast on an enemy army: [men_at_arms|E] lose #n 20% #! pursuit" + wc_learn_spell_flame_wall:0 "Learn the [wc_spell|E]: [wc_spell_flame_wall|E]" + wc_flame_wall_tt:0 "[this_recipient.GetName] gains the effects of [wc_spell_flame_wall|E] as long as [this_recipient.GetCommander.GetShortUIName] is their commander" + + game_concept_wc_spell_flame_shock:0 "Flame Shock" + game_concept_wc_spell_flame_shock_desc:0 "Burn the skin of your enemies' knights." + wc_spell_flame_shock_type:0 "[wc_spell_type_attack|E]" + wc_spell_flame_shock_targets:0 "[character|E]" + wc_spell_flame_shock_effects:0 "One of the target's [knights|E] becomes [wc_injury_burned|E]." + wc_learn_spell_flame_shock:0 "You learn the spell: [wc_spell_flame_shock|E]" + wc_flame_shock_tt:0 "Because of [this_recipient.GetNamePossessive|U] and [target_knight.GetNamePossessive] combined\n[wc_spell_school_elemental_fire|E] [wc_magic_resistance|E], the spell has no effect." + wc_spell_dodged:0 "Spell Dodged!" + wc_spell_hit:0 "Spell Hit!" + wc_dispel_successful:0 "Dispel Successful!" + wc_dispel_effect:0 "[this_recipient.GetShortUIName|U] will lose a random negative [wc_spell|E] [modifier|E]." + wc_bless_successful:0 "Bless Successful!" + wc_bless_effect:0 "[this_recipient.GetShortUIName|U] will gain a random positive [wc_spell|E] [modifier|E] for [GetPlayer.MakeScope.ScriptValue('wc_spell_bless_duration_days_value')|V0] days." + wc_flame_shock_dodge:0 "[this_recipient.GetShortUIName|U] dodged Flame Shock!" + wc_spell_no_knights:0 "#italic No valid [knights|E].#!" + + wc_pyromania_tooltip:0 "25% chance to get #p +1#! [prowess|E] for 1 year every time you use a fire spell. You lose all stacks after you use any non-fire spell." + wc_elemental_fire_magic_tree_2_perk_5_desc:0 "Increased [wc_mana_regeneration|E] when 3+ spells are on cooldown." + wc_elemental_fire_magic_tree_2_perk_3_desc:0 "Every 10 years, you can destroy an [artifact|E]: Based on its remaining condition, you gain [prowess|E], natural [dread|E], and hostile [scheme|E] success chance." + wc_pyromania_title:0 "Pyromania Triggered" + wc_pyromania_title_lost:0 "Pyromania Lost" + + game_concept_wc_spell_burnout:0 "Burnout" + game_concept_wc_spell_burnout_desc:0 "Siphon the power from your enemies, causing them them to recover slower between casts, and making them more vulnerable to fire spells." + wc_spell_burnout_type:0 "[wc_spell_type_attack|E], [wc_spell_type_enchantment|E]" + wc_spell_burnout_targets:0 "[character|E]" + wc_spell_burnout_effects:0 "The target's cooldowns are increased, and anytime they cast a spell while the modifier is active, you gain +5 Magical Prowess. Only one person can have Burnout active on a target at a time." + wc_learn_spell_burnout:0 "You learn the spell: [wc_spell_burnout|E]" + wc_burnout_tt:0 "While burnout is active, you will temporarily steal #p 5#! Magical Prowess from\n[this_recipient.GetShortUIName] every time [this_recipient.GetSheHe] casts a spell." + wc_burnout_removed:0 "Burnout Removed" + wc_burnout_triggered:0 "Burnout Triggered" + wc_burnout_remove_death:0 "Burnout has been removed because [this_burnout.GetShortUIName] has died." + wc_burnout_remove_time:0 "Burnout has been removed because it's duration is finished." + + wc_spell_is_magic_user:0 "[GetPlayer.MakeScope.Var('spell_recipient').Char.GetShortUIName] is not a magic user." + wc_spell_is_self:0 "You cannot cast this spell on yourself." + wc_spell_is_self_special:0 "You cannot cast this spell on yourself, nor can the target be an independent ruler." + wc_spell_injury:0 "The target must be physically injured." + wc_spell_has_modifier:0 "The target must have a spell modifier." + spell_target_is_self_trigger:0 "#V You#! must be the target." + wc_salvation_trigger:0 "You cannot cast the spell on yourself, nor can the target be a Demon." + wc_consecration_trigger:0 "You can only have Consecration active on one target at a time." + wc_consecration_neighboring_duchy_effect:0 "[neighboring_county_consecration.GetName] will be an eligible target to move the Consecration to." + + game_concept_wc_spell_planar_fire:0 "Ritual: Planar Fire" + game_concept_wc_spell_planar_fire_desc:0 "Gain the powers of a Firelord, either through force or willingly." + wc_spell_planar_fire_type:0 "[wc_spell_type_ritual|E]" + wc_spell_planar_fire_targets:0 "[character|E] - Caster only" + wc_spell_planar_fire_effects:0 "Spirit: Call upon a firelord, asking them to aid you in your time of need. They will respond accordingly, giving you rewards as they see fit.\nDecay: Summon a firelord, using their power as your own, and binding them into your service for some time." + wc_learn_ritual_planar_fire:0 "You learn: [wc_spell_planar_fire|E]" + + game_concept_wc_spell_cauterize_wound:0 "Cauterize Wound" + game_concept_wc_spell_cauterize_wound_desc:0 "Infuse the target's body with fire, temporarily removing the prowess penalties from wounds and lost limbs." + wc_spell_cauterize_wound_type:0 "[wc_spell_type_defend|E]" + wc_spell_cauterize_wound_targets:0 "[character|E]" + wc_spell_cauterize_wound_effects:0 "Add a modifier that cancels out every prowess debuff from wounds that the target currently has. (Does not work on disease or Infirm)" + wc_learn_spell_cauterize_wound:0 "You learn the spell: [wc_spell_cauterize_wound|E]" + wc_greater_cauterize_tt:0 "[wc_spell_cauterize_wound|E] has a small chance to remove a wound." + + friendly_fire_warning:0 "@warning_icon! #warning You are casting a harmful spell on yourself, or one of your [vassals|E].#!" + select_elemental_type:0 "Select the Elemental Type." + planar_fire_spirit:0 "You commune with the fire elements, gaining insights and wisdom on how to further strengthen your rule." + planar_fire_decay:0 "Connect the Firelands to your domain, spawning a portal that brings in fire elmentals from all over." + + game_concept_wc_spell_vernal_solstice:0 "Ritual: Vernal Solstice" + game_concept_wc_spell_vernal_solstice_desc:0 "Infuse a portion of your realm with the warmth of the inferno." + wc_spell_vernal_solstice_type:0 "[wc_spell_type_ritual|E]" + wc_spell_vernal_solstice_targets:0 "[duchy|E]" + wc_spell_vernal_solstice_effects:0 "Target a [duchy|E]. For [GetPlayer.MakeScope.ScriptValue('wc_spell_vernal_solstice_duration_days_value')|V0] days, hunts, feasts, divination, executions, and other events cost less and grant vastly increased piety, gold, prestige, success chance, and other rewards. Development growth is increased by 10%. Cannot be targeted on the same duchy again for 10 years." + wc_learn_spell_vernal_solstice:0 "You learn [wc_spell_vernal_solstice|E]" + wc_enhanced_burnout_tt:0 "[wc_spell_burnout] has a small chance of physically burning the target." + + game_concept_wc_spell_frostbolt:0 "Frostbolt" + game_concept_wc_spell_frostbolt_desc:0 "Chill your enemy, slowing their movement and casting, with a chance possibly freezing them in place." + wc_spell_frostbolt_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_frostbolt_cost_mana_value')]" + wc_spell_frostbolt_type:0 "[wc_spell_type_attack|E]" + wc_spell_frostbolt_targets:0 "[character|E]" + wc_spell_frostbolt_effects:0 "Travel speed and cast rate reduced by 10%. Chance of inflicting or worstening the Frostbite wound, (100% chance if target is in an Army affected by Frost Nova)" + wc_learn_spell_frostbolt:0 "You learn the spell: [wc_spell_frostbolt|E]" + + game_concept_wc_spell_frost_armor:0 "Frost Armor" + game_concept_wc_spell_frost_armor_desc:0 "Create a shield of ice, protecting you from being harmed in battle and by hostile spells." + wc_spell_frost_armor_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_frost_armor_cost_mana_value')]" + wc_spell_frost_armor_type:0 "[wc_spell_type_defend|E]" + wc_spell_frost_armor_targets:0 "[character|E]" + wc_spell_frost_armor_effects:0 "Decreased chance of being killed in battle. In addition, if successfully targeted by a harmful spell, cancel that spell and gain "Ice Block" event." + wc_learn_spell_frost_armor:0 "You learn the spell: [wc_spell_frost_armor|E]" + + game_concept_wc_spell_frost_nova:0 "Frost Nova" + game_concept_wc_spell_frost_nova_desc:0 "Envelop an army with ice, slowing their movement, and making it more difficult for it to siege." + wc_spell_frost_nova_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_frost_nova_cost_mana_value')]" + wc_spell_frost_nova_type:0 "[wc_spell_type_attack|E]" + wc_spell_frost_nova_targets:0 "[army|E]" + wc_spell_frost_nova_effects:0 "Movement speed and siege speed of target army decreased by 50%. Increases chance of Frostbolt inflicting Frostbite" + wc_learn_spell_frost_nova:0 "You learn the spell: [wc_spell_frost_nova|E]" + + game_concept_wc_spell_blizzard:0 "Blizzard" + game_concept_wc_spell_blizzard_desc:0 "Encapsulate a duchy, decelerating spell casting and making travel and disease much more dangerous." + wc_spell_blizzard_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_blizzard_cost_mana_value')]" + wc_spell_blizzard_type:0 "[wc_spell_type_attack|E]" + wc_spell_blizzard_targets:0 "[duchy|E]" + wc_spell_blizzard_effects:0 "All characters in this court are more susceptible to illness and have a decreased cast rate. Decrease travel safety by -20 and army speed by 20% in each province." + wc_learn_spell_blizzard:0 "You learn the spell: [wc_spell_blizzard|E]" + + game_concept_wc_spell_frostfire_bolt:0 "Frostfire Bolt" + game_concept_wc_spell_frostfire_bolt_desc:0 "Synthesize the capacities of Cyromancy and Pyromancy, warping an army based on their current locations." + wc_spell_frostfire_bolt_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_frostfire_bolt_cost_mana_value')]" + wc_spell_frostfire_bolt_type:0 "[wc_spell_type_attack|E]" + wc_spell_frostfire_bolt_targets:0 "[army|E]" + wc_spell_frostfire_bolt_effects:0 "Army loses 10 advantage or gains 10 disadvantage in each of the following: Taiga, Mountains, Jungle, Desert, Drylands, Desert Hills. Counts as a Frost, Fire, and Arcane spell." + wc_learn_spell_frostfire_bolt:0 "You learn the spell: [wc_spell_frostfire_bolt|E]" + + game_concept_wc_spell_scorch:0 "Scorch" + game_concept_wc_spell_scorch_desc:0 "Sear the skin of your enemy." + wc_spell_scorch_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_scorch_cost_mana_value')]" + wc_spell_scorch_type:0 "[wc_spell_type_attack|E]" + wc_spell_scorch_targets:0 "[character|E]" + wc_spell_scorch_effects:0 "Inflict (or increase severity of) the [wc_injury_burned|E] injury on a character. This spell's cooldown and cast time are reduced to "Instant" immediately after being the target of an elemental or fel spell." + wc_learn_spell_scorch:0 "You learn the spell: [wc_spell_scorch|E]" + + game_concept_wc_spell_pyroblast:0 "Pyroblast" + game_concept_wc_spell_pyroblast_desc:0 "Singe an entire army, including the commander at it's helm." + wc_spell_pyroblast_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_pyroblast_cost_mana_value')]" + wc_spell_pyroblast_type:0 "[wc_spell_type_attack|E]" + wc_spell_pyroblast_targets:0 "[army|E]" + wc_spell_pyroblast_effects:0 "Chance to inflict (or increase severity of) the [wc_injury_burned|E] injury on each knight in the target army as well as its general. This spell's cast time is reduced to "short" after you cast Frostfire Bolt." + wc_learn_spell_pyroblast:0 "You learn the spell: [wc_spell_pyroblast|E]" + + game_concept_wc_spell_fire_shield:0 "Fire Shield" + game_concept_wc_spell_fire_shield_desc:0 "Create a shield of flames, burning any enemy who dare to cast on you." + wc_spell_fire_shield_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_fire_shield_cost_mana_value')]" + wc_spell_fire_shield_type:0 "[wc_spell_type_defend|E]" + wc_spell_fire_shield_targets:0 "[character|E]" + wc_spell_fire_shield_effects:0 "Inflict (or increase severity of) the [wc_injury_burned|E] injury on a character when targeted by a spell." + wc_learn_spell_fire_shield:0 "You learn the spell: [wc_spell_fire_shield|E]" + + game_concept_wc_spell_flamestrike:0 "Flamestrike" + game_concept_wc_spell_flamestrike_desc:0 "Overheat a duchy, preventing it from growing and expanding further." + wc_spell_flamestrike_cost:0 "[GetPlayer.MakeScope.ScriptValue('wc_spell_flamestrike_cost_mana_value')]" + wc_spell_flamestrike_type:0 "[wc_spell_type_attack|E]" + wc_spell_flamestrike_targets:0 "[duchy|E]" + wc_spell_flamestrike_effects:0 "Decrease duchy development, with the malus diminishing each month." + wc_learn_spell_flamestrike:0 "You learn the spell: [wc_spell_flamestrike|E]" + + wc_hb_tt:0 "For every [temple_holding|E] you own, you gain disease resistance." + + wc_scorch_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_scorch|E]." + wc_scorch_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_order|E] [wc_magic_resistance|E], the spell has no effect." + wc_scorch_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_scorch$!" + + wc_pyroblast_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_pyroblast|E]." + wc_pyroblast_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_order|E] [wc_magic_resistance|E], the spell has no effect." + wc_pyroblast_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_pyroblast$!" + wc_spell_pyroblast_knights_tt:0 "Every [knight|E] in the [this_recipient.GetName] has a large chance to be [wc_injury_burned|E]." + + wc_flamestrike_hit_tt:0 "Every [county|E] in [this_recipient.GetName] gains the effects of [wc_spell_flamestrike|E]." + wc_spell_flamestrike_counties_tt:0 "Every [county|E] in [this_recipient.GetName] gains ten stacks of [wc_spell_flamestrike|E]." + + wc_holy_fire_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_holy_fire|E]." + wc_holy_fire_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_holy_fire_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_holy_fire$!" + + wc_rebuke_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_rebuke|E]." + wc_rebuke_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_rebuke_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_rebuke$!" + wc_rebuke_kick_tt:0 "A random non-Ritual spell will interrupted and put on cooldown." + wc_rebuke_kicked_you:0 "Your spell was interrupted by [rebuker.GetShortUIName]!" + + wc_avenging_wrath_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_avenging_wrath|E]." + wc_avenging_wrath_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_avenging_wrath_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_avenging_wrath$!" + + wc_judgement_tt:0 "Any [secret|E] [this_recipient.GetName] has will be exposed." + wc_judgement_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_judgement|E]." + wc_judgement_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_judgement_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_judgement$!" + + wc_exorcism_hit_tt:0 "[dodger.GetName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_exorcism|E]." + wc_exorcism_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_light|E] [wc_magic_resistance|E], the spell has no effect." + wc_exorcism_dodge:0 "[dodger.GetShortUIName|U] dodged $game_concept_wc_spell_exorcism$!" + + wc_spell_reflected:0 "Spell Reflected!" + + wc_learn_spell_frostfire_bolt_fire:0 "If you have the [perk|E] [GetPerk( 'order_magic_tree_5_perk_6' ).GetName( GetPlayer )]:\n$EFFECT_LIST_BULLET$$wc_learn_spell_frostfire_bolt$" + wc_learn_spell_frostfire_bolt_frost:0 "If you have the [perk|E] [GetPerk( 'order_magic_tree_4_perk_5' ).GetName( GetPlayer )]:\n$EFFECT_LIST_BULLET$$wc_learn_spell_frostfire_bolt$" + wc_frostfire_bolt_tt:0 "[this_recipient.GetName] gains the effects of [wc_spell_frostfire_bolt|E] as long as [this_recipient.GetCommander.GetShortUIName] is their commander" + + wc_frostbolt_hit_tt:0 "[this_recipient.GetShortUIName|U] became [GetTrait('frostbite_1').GetName( GetNullCharacter )]" + wc_frostbolt_resist_tt:0 "[this_recipient.GetShortUIName|U] does not become [GetTrait('frostbite_1').GetName( GetNullCharacter )]." + wc_frostbolt_frost_nova_tt:0 "The chance will increase if [this_recipient.GetFirstName] has [GetModifier( 'wc_frost_nova_modifier' ).GetNameWithTooltip|L]" + + wc_frost_nova_tt:0 "[this_recipient.GetName] gains the effects of [wc_spell_frost_nova|E] as long as [this_recipient.GetCommander.GetShortUIName] is their commander" + + wc_ice_block:0 "$trait_ice_block$" + wc_iceblock_tt:0 "[blocker.GetName|U] blocked the effects of the spell by encasing themselves in ice!" + wc_spell_ice_block:0 "The target has [GetTrait('ice_block').GetName( GetNullCharacter )]" + wc_spell_ice_block_you:0 "You have [GetTrait('ice_block').GetName( GetNullCharacter )]" + + wc_blizzard_hit_tt:0 "Every [county|E] in [this_recipient.GetName] gains the effects of [wc_spell_blizzard|E]." + wc_spell_blizzard_counties_tt:0 "Every [county|E] in [this_recipient.GetName] gains the effects of [wc_spell_blizzard|E]." + + wc_fire_shield_reflect_tt:0 "The targets [wc_spell_fire_shield|E] caused you to become [wc_injury_burned|E]" + wc_twin_flame_effect_tt:0 "You may choose a [spouse|E], [friend|E], [best_friend|E], or [lover|E] to also gain Fire Shield" + wc_twin_flame_character_effect_tt:0 "[secondary_recipient.GetShortUIName] will gain [GetModifier('wc_fire_shield_modifier').GetNameWithTooltip|L] when the spell is finished casting" + + game_concept_wc_spell_polymorph:0 "Polymorph" + game_concept_wc_spell_polymorph_desc:0 "Transform your foe into a harmless critter, stripping away their power, leaving them to wander aimlessly, harmless and unable to resist." + wc_spell_polymorph_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_polymorph_targets:0 "[character|E]" + wc_spell_polymorph_effects:0 "Transform a [character|E] into a harmless animal. Whist in this state their [prowess|E] is set to #N 1#! and they are considered [wc_incapable|E]." + wc_learn_spell_polymorph:0 "You learn [wc_spell_polymorph|E]" + wc_polymorph_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_polymorph|E]." + wc_polymorph_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_order|E] [wc_magic_resistance|E], the spell has no effect." + wc_polymorph_dodge:0 "[this_recipient.GetShortUIName|U] dodged [wc_spell_polymorph|E]!" + + game_concept_wc_spell_counterspell:0 "Counterspell" + game_concept_wc_spell_counterspell_desc:0 "Redirect the flow of hostile magic back to its caster, shattering their spell’s impact and leaving them vulnerable to their own unleashed power. Witness their own force become their undoing." + wc_spell_counterspell_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_counterspell_targets:0 "[character|E]" + wc_spell_counterspell_effects:0 "Reflect the effects of a hostile spell back onto its caster." + wc_learn_spell_counterspell:0 "You learn [wc_spell_counterspell|E]" + + game_concept_wc_spell_spellsteal:0 "Spellsteal" + game_concept_wc_spell_spellsteal_desc:0 "Absorb your foe's magic, turning their protective spells into your own. Their strength becomes yours, leaving them defenseless while you thrive, empowered by their spells." + wc_spell_spellsteal_type:0 "[wc_spell_type_attack|E]" + wc_spell_spellsteal_targets:0 "[character|E]" + wc_spell_spellsteal_effects:0 "Steal the effects of a [wc_spell|E] modifier from the target [character|E]." + wc_learn_spell_spellsteal:0 "You learn [wc_spell_spellsteal|E]" + wc_spellsteal_effect:0 "You steal a random [wc_spell|E] [modifier|E] from [this_recipient.GetShortUIName]" + + + game_concept_wc_spell_scry:0 "Scry" + game_concept_wc_spell_scry_desc:0 "Unveil hidden paths, sense dangers, and discern the wisest course. Let uncertainty lift, guiding you with clarity toward safety and success." + wc_spell_scry_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_scry_targets:0 "[character|E]" + wc_spell_scry_effects:0 "Make the target [character|E] more successful not only in defending against and discovering [schemes|E], but also executing their own." + wc_learn_spell_scry:0 "You learn [wc_spell_scry|E]" + + game_concept_wc_spell_haste:0 "Haste / Slow" + game_concept_wc_spell_haste_desc:0 "Alter the flow of time around you, quickening your steps to a blur or slowing your foes to a crawl, bending the pace of battle to your will." + wc_spell_haste_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_haste_targets:0 "[character|E]" + wc_spell_haste_effects:0 "When cast on self: Speeds up [wc_spell] casting speed and cooldown. When cast on others: Slow down spell casting speed and cooldown." + wc_learn_spell_haste:0 "You learn [wc_spell_haste|E]" + + game_concept_wc_spell_conjure_refreshment:0 "Conjure Refreshment" + game_concept_wc_spell_conjure_refreshment_desc:0 "Summon arcane nourishment, conjuring either hearty sustenance or magical elixirs, each crafted to rejuvenate and empower those who partake." + wc_spell_conjure_refreshment_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_conjure_refreshment_targets:0 "[character|E]" + wc_spell_conjure_refreshment_effects:0 "The target [character|E] will either gain food to boost their health, or drink to boost their magic." + wc_learn_spell_conjure_refreshment:0 "You learn [wc_spell_conjure_refreshment|E]" + + conjure_refreshment_tt1:0 "After the casting starts, you can choose whether to give [this_recipient.GetShortUIName|U] the [GetModifier('wc_conjure_food_modifier').GetNameWithTooltip|L] modifier or the [GetModifier('wc_conjure_drink_modifier').GetNameWithTooltip|L] modifier." + conjure_refreshment_tt2:0 "After the casting starts, you can choose whether to give [this_recipient.GetShortUIName|U]\nand [this_recipient.GetFirstNamePossessiveOrMyNoTooltip] [Concept('courtiers', 'Court')|E] and [guests|E] the [GetModifier('wc_conjure_food_modifier').GetNameWithTooltip|L] modifier or the [GetModifier('wc_conjure_drink_modifier').GetNameWithTooltip|L] modifier." + conjure_refreshment_tt3:0 "[this_recipient.GetShortUIName|U] can select either the [GetModifier('wc_conjure_food_modifier').GetNameWithTooltip|L] modifier or the [GetModifier('wc_conjure_drink_modifier').GetNameWithTooltip|L] modifier to give to all attendees at their next [GetActivityType( 'activity_feast' ).GetName]." + + game_concept_wc_spell_chronomancy:0 "Chronomancy" + game_concept_wc_spell_chronomancy_desc:0 "Harness the power of Chronomancy, anchoring yourself to the present moment. As time flows, this spell returns you to your original state, healing wounds, undoing damage, and even reversing fatal injuries." + wc_spell_chronomancy_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_chronomancy_targets:0 "[character|E]" + wc_spell_chronomancy_effects:0 "Store your state at the time of casting. After a year has passed or you activate the [GetDecisionWithKey('restore_chronomancy_decision').GetName], your traits are reset to the saved state, along with any [wc_spell|E] [modifiers|E], which additionally will have their durations set to max." + wc_learn_spell_chronomancy:0 "You learn [wc_spell_chronomancy|E]" + chronomancy_tt:0 "Store your [traits|E] and [wc_spell|E] modifiers at the time of casting. When the spell expires or the [GetDecisionWithKey('restore_chronomancy_decision').GetName] decision is used, restore yourself to that saved state. Upon restoration, all spell modifiers will have their durations restored." + + chronomancy.toast:0 "Turned back time!" + chronomancy.toast.desc:0 "You were reset back to the point when you cast [wc_spell_chronomancy|E]" + + game_concept_wc_spell_evocation:0 "Ritual: Evocation" + game_concept_wc_spell_evocation_desc:0 "Channel immense arcane forces, empowering every caster. You vastly increase mana capacity and regeneration, turning the province into a wellspring of magical power." + wc_spell_evocation_type:0 "[wc_spell_type_ritual|E]" + wc_spell_evocation_targets:0 "[barony|E]" + wc_spell_evocation_effects:0 "Massively increase the @wc_full_mana_icon![wc_max_mana|E] and @wc_full_mana_icon![wc_mana_regeneration|E] of every character located in the target province." + wc_learn_spell_evocation:0 "You learn [wc_spell_evocation|E]" + evocation_double_cast_tt:0 "Chance to double cast due to [wc_spell_evocation|E]" + + game_concept_wc_spell_arcane_dome:0 "Ritual: Arcane Dome" + game_concept_wc_spell_arcane_dome_desc:0 "Erect a vast, shimmering barrier over the entire county, crackling with arcane energy. Enemy armies caught within are severely weakened, their strength drained as the dome's power destroys their forces." + wc_spell_arcane_dome_type:0 "[wc_spell_type_ritual|E]" + wc_spell_arcane_dome_targets:0 "[county|E]" + wc_spell_arcane_dome_effects:0 "Massively weakens any non-allied armies in the county, reducing their @advantage_icon![advantage|E] and @supply_icon![supply|E], while increasing @siege_progress_icon![siege|E] times and @death_icon![attrition|E]." + wc_learn_spell_arcane_dome:0 "You learn [wc_spell_arcane_dome|E]" + + game_concept_wc_spell_flash_of_light:0 "Flash of Light" + game_concept_wc_spell_flash_of_light_desc:0 "Use the power of the light to quickly aid an ally." + wc_spell_flash_of_light_type:0 "[wc_spell_type_heal|E], [wc_spell_type_dispel|E]" + wc_spell_flash_of_light_targets:0 "[character|E]" + wc_spell_flash_of_light_effects:0 "Heal a disease, wound, poison, etc.\n[wc_spell_rank|E] 1: Can heal or decrease the severity of a [wc_injury|E].\n[wc_spell_rank|E] 2: Can heal or decrease the severity of [wc_magic_injury|E], with some exceptions. Can also heal an [wc_illness|E].\n[wc_spell_rank|E] 3: Can heal a [wc_major_illness|E] or [wc_magic_illness|E]" + wc_learn_spell_flash_of_light:0 "You learn the spell: [wc_spell_flash_of_light|E]" + wc_learn_spell_flash_of_light_2:0 "Learn [wc_spell_rank|E] 2 of [wc_spell_flash_of_light|E]" + wc_learn_spell_flash_of_light_3:0 "Learn [wc_spell_rank|E] 3 of [wc_spell_flash_of_light|E]" + + game_concept_wc_spell_dispel:0 "Dispel Magic" + game_concept_wc_spell_dispel_desc:0 "Purify an ally." + wc_spell_dispel_type:0 "[wc_spell_type_heal|E], [wc_spell_type_dispel|E]" + wc_spell_dispel_targets:0 "[character|E]" + wc_spell_dispel_effects:0 "Remove a random negative #bold magic#! modifier from the target." + wc_learn_spell_dispel_magic:0 "You learn the spell: [wc_spell_dispel|E]" + + game_concept_wc_spell_lightwell:0 "Lightwell" + game_concept_wc_spell_lightwell_desc:0 "Infuse an ally with holy energy, fortifying them for a short period of time." + wc_spell_lightwell_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_lightwell_targets:0 "[character|E]" + wc_spell_lightwell_effects:0 "The target gains prowess/martial/light magic resistance." + wc_learn_spell_lightwell:0 "You learn the spell: [wc_spell_lightwell|E]" + + game_concept_wc_spell_holy_fire:0 "Holy Fire" + game_concept_wc_spell_holy_fire_desc:0 "Blind an enemy with holy fire." + wc_spell_holy_fire_type:0 "[wc_spell_type_attack|E]" + wc_spell_holy_fire_targets:0 "[character|E]" + wc_spell_holy_fire_effects:0 "The target loses prowess/martial/light magic resistance." + wc_learn_spell_holy_fire:0 "You learn the spell: [wc_spell_holy_fire|E]" + + game_concept_wc_spell_bless:0 "Bless" + game_concept_wc_spell_bless_desc:0 "Bless an ally with the power of the light." + wc_spell_bless_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_bless_targets:0 "[character|E]" + wc_spell_bless_effects:0 "The target gains a random blessing modifier." + wc_learn_spell_bless:0 "You learn the spell: [wc_spell_bless|E]" + + game_concept_wc_spell_consecration:0 "Consecration" + game_concept_wc_spell_consecration_desc:0 "Consecrate an area, making it more or less vulnerable to attacks." + wc_spell_consecration_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_consecration_targets:0 "[county|E]" + wc_spell_consecration_effects:0 "If cast on one of your own [counties|E], it will gain a various bonuses. If cast on another's [counties|E], it will gain a penalty. You can move consecration to a neighboring [county|E] twice, and it cannot be dodged by [wc_magic_resistance|E]." + wc_learn_spell_consecration:0 "You learn the spell: [wc_spell_consecration|E]" + + game_concept_wc_spell_rebuke:0 "Rebuke" + game_concept_wc_spell_rebuke_desc:0 "Rebuke an enemy, canceling their current spell and making it harder for them to cast another." + wc_spell_rebuke_type:0 "[wc_spell_type_attack|E]" + wc_spell_rebuke_targets:0 "[character|E]" + wc_spell_rebuke_effects:0 "If the target is casting a spell, cancel their cast, and make their cast time longer for 3 months." + wc_learn_spell_rebuke:0 "You learn the spell: [wc_spell_rebuke|E]" + + game_concept_wc_spell_avenging_wrath:0 "Avenging Wrath" + game_concept_wc_spell_avenging_wrath_desc:0 "Wound a character or army, and make them more vulnerable to the forces of the Light." + wc_spell_avenging_wrath_type:0 "[wc_spell_type_attack|E]" + wc_spell_avenging_wrath_targets:0 "[character|E], [army|E]" + wc_spell_avenging_wrath_effects:0 "[wc_spell_rank|E] 1: Inflict the [GetTrait('holy_wrath').GetName(GetNullCharacter)] injury on your target.\n\n[wc_spell_rank|E] 2: Deplete the army by 20%, and inflict the [GetTrait('holy_wrath').GetName(GetNullCharacter)] to its commander." + wc_learn_spell_avenging_wrath:0 "You learn the spell: [wc_spell_avenging_wrath|E]" + holy_retribution_tooltip:0 "The target of your [wc_spell_avenging_wrath|E] has a chance to become [GetTrait('incapable').GetName( GetNullCharacter )], especially if they are a [GetTrait('being_demon').GetName( GetNullCharacter )] or other foul being." + holy_retribution_title:0 "Holy Retribution Activated!" + + game_concept_wc_spell_judgement:0 "Judgement" + game_concept_wc_spell_judgement_desc:0 "Force light into a character, causing them to expose their secrets." + wc_spell_judgement_type:0 "[wc_spell_type_attack|E]" + wc_spell_judgement_targets:0 "[character|E]" + wc_spell_judgement_effects:0 "Expose every [secret|E] the target has." + wc_learn_spell_judgement:0 "You learn the spell: [wc_spell_judgement|E]" + + game_concept_wc_spell_divine_shield:0 "Divine Shield" + game_concept_wc_spell_divine_shield_desc:0 "Protect an ally from harm." + wc_spell_divine_shield_type:0 "[wc_spell_type_defend|E]" + wc_spell_divine_shield_targets:0 "[character|E]" + wc_spell_divine_shield_effects:0 "Eliminate the chance of the character being killed in battle, and block the effects of the next harmful non-Light spell." + wc_learn_spell_divine_shield:0 "You learn the spell: [wc_spell_divine_shield|E]" + wc_divine_shield_tt:0 "[blocker.GetNamePossessive] [wc_spell_divine_shield|E] protected [blocker.GetHerHim|U] from harm!" + wc_divine_shield_tt_self:0 "Your [wc_spell_divine_shield|E] protected you from harm!" + + game_concept_wc_spell_exorcism:0 "Exorcism" + game_concept_wc_spell_exorcism_desc:0 "Cause evil dwellings to tremble in fear of the light, making its host vulnerable." + wc_spell_exorcism_type:0 "[wc_spell_type_attack|E]" + wc_spell_exorcism_targets:0 "[character|E]" + wc_spell_exorcism_effects:0 "Inflict a penalty to all stats. If target's culture has the Undead, Demonic, or Old Gods heritage or has similar traits; inflict or worsen [wc_injury_burned|E] as well. Stacking up to 3 times, with the exception of the [wc_magic_resistance|E] penalty.\n[wc_spell_rank|E] 2: Exorcism can now affect multiple targets." + wc_learn_spell_exorcism:0 "You learn the spell: [wc_spell_exorcism|E]" + wc_learn_spell_exorcism_2:0 "Learn [wc_spell_rank|E] 2 of [wc_spell_exorcism|E]" + + game_concept_wc_spell_expulsion:0 "Expulsion" + game_concept_wc_spell_expulsion_desc:0 "Soothe the mind of the target, removing any psychological problems that disturb them." + wc_spell_expulsion_type:0 "[wc_spell_type_dispel|E]" + wc_spell_expulsion_targets:0 "[character|E]" + wc_spell_expulsion_effects:0 "Remove a [wc_psych_illness|E]." + wc_learn_spell_expulsion:0 "You learn the spell: [wc_spell_expulsion|E]" + + game_concept_wc_spell_salvation:0 "Ritual: Salvation" + game_concept_wc_spell_salvation_desc:0 "Call upon the light to save a character from death." + wc_spell_salvation_type:0 "[wc_spell_type_ritual|E]" + wc_spell_salvation_targets:0 "[character|E]" + wc_spell_salvation_effects:0 "Save a character from death with some conditions.\n\nIf the character is [GetTrait('being_undead').GetName( GetNullCharacter )], it can be used to turn them back to normal, and their lifespan will be reduced. Does not necessarily save someone from a natural death, as they will still perish.\n\nRemember: No one can be saved twice, and the Light cannot reach a [GetTrait('being_demon').GetName( GetNullCharacter )]." + wc_learn_spell_salvation:0 "You learn the spell: [wc_spell_salvation|E]" + + game_concept_wc_spell_divine_storm:0 "Ritual: Divine Storm" + game_concept_wc_spell_divine_storm_desc:0 "Call upon the light to wound yourself, but harming your enemies in your path." + wc_spell_divine_storm_type:0 "[wc_spell_type_ritual|E]" + wc_spell_divine_storm_targets:0 "[duchy|E]" + wc_spell_divine_storm_effects:0 "Inflict a [wc_injury_burned|E], [GetTrait('holy_wrath').GetName( GetNullCharacter )], or [GetTrait('wounded_1').GetName( GetNullCharacter )] to yourself. This releases a holy explosion in the chosen [duchy|E], razing everything in its path. Most people in the duchy take immense damage can gain [wc_injury_burned|E], [GetTrait('holy_wrath').GetName( GetNullCharacter )] or [GetTrait('wounded_1').GetName( GetNullCharacter )], and characters (void, fel, undead) have a small chance of dying depending on their Light [wc_magic_resistance|E]." + wc_learn_spell_divine_storm:0 "You learn the spell: [wc_spell_divine_storm|E]" + wc_divine_storm_tt:0 "Every character in this duchy will be affected by [wc_spell_divine_storm|E], and [GetTrait('being_void').GetName( GetNullCharacter )], [GetTrait('being_undead').GetName( GetNullCharacter )], [GetTrait('being_demon').GetName( GetNullCharacter )] or similar characters have the chance to receive an injury as well." + + game_concept_wc_spell_blessed_bastion:0 "Ritual: Blessed Bastion" + game_concept_wc_spell_blessed_bastion_desc:0 "Create a bastion of light, protecting your realm from harm." + wc_spell_blessed_bastion_type:0 "[wc_spell_type_ritual|E]" + wc_spell_blessed_bastion_targets:0 "[duchy|E]" + wc_spell_blessed_bastion_effects:0 "Create a barrier around the target duchies, increasing the fortification level. Also gives the caster some defensive benefits." + wc_learn_spell_blessed_bastion:0 "You learn the spell: [wc_spell_blessed_bastion|E]" + + wc_spell_blocked:0 "Spell Blocked!" + + game_concept_wc_spell_void_touch:0 "Void Touch" + game_concept_wc_spell_void_touch_desc:0 "Overwhelm a character with void energy, injuring them in the process." + wc_spell_void_touch_type:0 "[wc_spell_type_attack|E]" + wc_spell_void_touch_targets:0 "[character|E]" + wc_spell_void_touch_effects:0 "The target gains [GetTrait('void_sickness').GetName(GetNullCharacter)]" + wc_learn_spell_void_touch:0 "You learn the spell: [wc_spell_void_touch|E]" + wc_void_touch_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_void_touch|E]." + wc_void_touch_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_void_touch_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_void_touch$!" + + game_concept_wc_spell_summon_void_leader:0 "Summon Void Leader" + game_concept_wc_spell_summon_void_leader_desc:0 "Gaze into the infinite void, grasp one of its soldiers, and bring it to our realm." + wc_spell_summon_void_leader_type:0 "[wc_spell_type_summon|E]" + wc_spell_summon_void_leader_targets:0 "[character|E]" + wc_spell_summon_void_leader_effects:0 "Summon a powerful [GetTrait('being_void').GetName(GetNullCharacter)] of the target's [culture|E] and a random Shathgral [faith|E] (same faith if target is a shadow faith) with high [martial|E] to the target's court." + wc_learn_spell_summon_void_leader:0 "You learn the spell: [wc_spell_summon_void_leader|E]" + void_leader_leave_tt: "If accepted to serve under [this_recipient.GetNamePossessive], the Void Leader will leave after [GetPlayer.MakeScope.ScriptValue('wc_spell_summon_void_leader_duration_days_value')|V0] days." + void_leader_leave_tt_2: "[void_leader.GetName] will leave after a certain time. You cannot invite [void_leader.GetHerHim] back to your court." + MAGIC_VOID_LEADER_REASON:1 "[recipient.GetShortUIName|U] is a Void Leader: $VALUE|=+0$" + MAGIC_VOID_LEADER_REASON_NO_VALUE:0 "[recipient.GetShortUIName|U] is a Void Leader" + MAGIC_VOID_LEADER_REASON_SECONDARY:1 "[secondary_recipient.GetShortUIName|U] is a Void Leader: $VALUE|=+0$" + MAGIC_VOID_LEADER_REASON_SECONDARY_ACTOR:1 "[secondary_actor.GetShortUIName|U] is a Void Leader: $VALUE|=+0$" + + game_concept_wc_spell_voidborne:0 "Voidborne" + game_concept_wc_spell_voidborne_desc:0 "Send your enemies to the depths of the twisting nether, siphoning their energy as they weep in prison, for a price." + wc_spell_voidborne_targets:0 "[character|E]" + wc_spell_voidborne_type:0 "[wc_spell_type_attack|E]" + wc_spell_voidborne_effects:0 "Gain [GetModifier( 'wc_voidborne_modifier' ).GetNameWithTooltip|L], granting power, but also leaving you vulnerable. You siphon some of the targets [prowess|E], granting it to yourself. You also gain other boons depending on the targets prowess. You will lose [diplomacy|E], [stress|E] loss, [opinion|E] scaling with the targets prowess. While your target is in the twisting nether, they will gain options to try and harm you from within. Every 3 months, your target will have a 50% chance of returning to Azeroth, and when they do, you are no longer Voidborne. You can only have the same target every 25 years." + wc_learn_spell_voidborne:0 "You learn the spell: [wc_spell_voidborne|E]" + wc_voidborne_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_voidborne|E]." + wc_voidborne_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_voidborne_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_voidborne$!" + wc_from_voidborne_target: "Base, without [wc_spell_voidborne|E] target" + + raise_dead_tt:0 "[first_recipient.GetShortUIName] is resurrected and becomes your [courtier|E]" + is_elven_tt:0 "[THIS.Char.GetShortUIName] is #bold not#! Elven" + + wc_give_disease_character_effect_tt:0 "[recipient.GetShortUIName] will gain the [GetTrait(SCOPE.GetFlagName('disease')).GetName(GetNullCharacter)] disease after the spell is finished casting" + + IS_STRANGULATED:0 "Is [GetModifier('wc_strangulate_modifier').GetNameWithTooltip|L]" + + game_concept_wc_spell_raise_dead:0 "Raise Dead" + game_concept_wc_spell_raise_dead_desc:0 "Command the dark forces of Necromancy, raising a fallen corpse as your undead minion. Bound to your will, the reanimated servant obeys without question, fighting relentlessly by your side." + wc_spell_raise_dead_type:0 "[wc_spell_type_summon|E]" + wc_spell_raise_dead_targets:0 "[character|E]" + wc_spell_raise_dead_effects:0 "Raise a dead character to undead, possibly granting them a new race as well." + wc_learn_spell_raise_dead:0 "You learn the spell: [wc_spell_raise_dead|E]" + + game_concept_wc_spell_death_coil:0 "Death Coil" + game_concept_wc_spell_death_coil_desc:0 "Channel the essence of death, releasing a bolt of dark energy. This spell drains the life force of the living, dealing harm, while mending the wounds of undead allies, restoring vitality to those bound by undeath." + wc_spell_death_coil_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_death_coil_targets:0 "[character|E]" + wc_spell_death_coil_effects:0 "Channel necromantic energy into your target, harming the living and healing the dead." + wc_learn_spell_death_coil:0 "You learn the spell: [wc_spell_death_coil|E]" + wc_death_coil_hit_tt:0 "[first_recipient.GetShortUIName|U] [Select_CString(first_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_death_coil|E]." + wc_death_coil_dodge:0 "[first_recipient.GetShortUIName|U] dodged [wc_spell_death_coil|E]!" + wc_death_coil_resist_tt:0 "Because of [first_recipient.GetShortUINamePossessive] [wc_spell_school_death|E] [wc_magic_resistance|E], the spell has no effect." + + game_concept_wc_spell_death_grip:0 "Death Grip" + game_concept_wc_spell_death_grip_desc:0 "Hurl an unseen force to seize your target, pulling them toward you with an irresistible grip. Their movements are slowed, leaving them vulnerable, as death's cold grasp lingers upon their flesh." + wc_spell_death_grip_type:0 "[wc_spell_type_attack|E]" + wc_spell_death_grip_targets:0 "[army|E]" + wc_spell_death_grip_effects:0 "Move an army one province closer to the army the caster is in, and slow their movement speed for a short time." + wc_learn_spell_death_grip:0 "You learn the spell: [wc_spell_death_grip|E]" + death_grip_movement_tt:0 "[this_recipient.GetName|U] moves one province towards your army." + + game_concept_wc_spell_give_disease:0 "Give Disease" + game_concept_wc_spell_give_disease_desc:0 "Harness the power of pestilence, unleashing a corrupting force upon your target. This spell afflicts them with a vile disease, whether mundane or magical, ravaging their body with infection." + wc_spell_give_disease_type:0 "[wc_spell_type_attack|E]" + wc_spell_give_disease_targets:0 "[character|E]" + wc_spell_give_disease_effects:0 "Inflict the target with a magical or mundane disease." + wc_learn_spell_give_disease:0 "You learn the spell: [wc_spell_give_disease|E]" + give_disease_tt:0 "You may choose what disease to inflict after the spell starts casting." + + game_concept_wc_spell_death_and_decay:0 "Death and Decay" + game_concept_wc_spell_death_and_decay_desc:0 "Unleash the raw power of death magic, spreading a wave of decay across the land, corrupting everything in its path, withering life and crumbling defenses." + wc_spell_death_and_decay_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_death_and_decay_targets:0 "[county|E]" + wc_spell_death_and_decay_effects:0 "Inflict significant attrition on every enemy army in the county and reduce development." + wc_learn_spell_death_and_decay:0 "You learn the spell: [wc_spell_death_and_decay|E]" + + game_concept_wc_spell_cripple:0 "Cripple" + game_concept_wc_spell_cripple_desc:0 "Invoke dark magic, drastically weakening your targets physical and mental abilities. As the curse takes hold, the target is left fragile and vulnerable, their vitality drained and their will to fight diminished." + wc_spell_cripple_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_cripple_targets:0 "[character|E]" + wc_spell_cripple_effects:0 "Inflict a significant [skill|E] malus in the target [character|E]." + wc_learn_spell_cripple:0 "You learn the spell: [wc_spell_cripple|E]" + wc_cripple_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_cripple|E]." + wc_cripple_dodge:0 "[this_recipient.GetShortUIName|U] dodged [wc_spell_cripple|E]!" + wc_cripple_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_death|E] [wc_magic_resistance|E], the spell has no effect." + + game_concept_wc_spell_improved_body:0 "Improved Body" + game_concept_wc_spell_improved_body_desc:0 "Extend your will to steal a physical trait from your target. As the stolen power flows into you, their loss becomes your gain, fortifying your form while they die a most painful death." + wc_spell_improved_body_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_improved_body_targets:0 "[character|E]" + wc_spell_improved_body_effects:0 "Steal a positive non-magical [physical_trait|E] from your target." + wc_learn_spell_improved_body:0 "You learn the spell: [wc_spell_improved_body|E]" + wc_improved_body_trigger:0 "The target must have a positive [physical_trait|E]" + + game_concept_wc_spell_coagulation:0 "Coagulation" + game_concept_wc_spell_coagulation_desc:0 "Command the flow of blood with a touch, forcing it to seal a wound or purge a poison from your target. As the injury mends or the toxin fades, vitality returns, leaving them renewed and free from lingering affliction." + wc_spell_coagulation_type:0 "[wc_spell_type_heal|E], [wc_spell_type_dispel|E]" + wc_spell_coagulation_targets:0 "[character|E]" + wc_spell_coagulation_effects:0 "Heal a wound or poison.\n[wc_spell_rank|E] 1: Can heal or decrease the severity of a [wc_injury|E].\n[wc_spell_rank|E] 2: Can heal a [wc_poison|E].\n[wc_spell_rank|E] 3: Can heal a [wc_major_injury|E] or heal or decrease the severity of a [wc_magic_injury|E]" + wc_learn_spell_coagulation:0 "You learn the spell: [wc_spell_coagulation|E]" + + game_concept_wc_spell_blood_boil:0 "Blood Boil" + game_concept_wc_spell_blood_boil_desc:0 "Unleash a wave of cursed energy that surges through the veins of every foe in the enemy ranks. This spell infects all within range with the virulent Blood Plague, causing their blood to boil and fester." + wc_spell_blood_boil_type:0 "[wc_spell_type_attack|E]" + wc_spell_blood_boil_targets:0 "[army|E]" + wc_spell_blood_boil_effects:0 "Inflict every character in the target army with [GetTrait('blood_plague').GetName( GetNullCharacter )]" + wc_learn_spell_blood_boil:0 "You learn the spell: [wc_spell_blood_boil|E]" + wc_blood_boil_hit_tt:0 "[dodger.GetShortUIName|U] [Select_CString(dodger.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_blood_boil|E]." + wc_blood_boil_dodge:0 "[dodger.GetShortUIName|U] dodged [wc_spell_blood_boil|E]!" + wc_blood_boil_resist_tt:0 "Because of [dodger.GetShortUINamePossessive] [wc_spell_school_death|E] [wc_magic_resistance|E], the spell has no effect." + wc_spell_blood_boil_knights_tt:0 "Every [knight|E] in the [this_recipient.GetName] has a large chance to get [GetTrait('blood_plague').GetName( GetNullCharacter )]" + + game_concept_wc_spell_strangulate:0 "Strangulate" + game_concept_wc_spell_strangulate_desc:0 "Summon a shadowy force to wrap around your target’s throat, silencing their voice and choking off their magic. Struggling in vain, they are rendered vulnerable, their magic suppressed by the suffocating grip." + wc_spell_strangulate_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_strangulate_targets:0 "[character|E]" + wc_spell_strangulate_effects:0 "Prevent the target from casting any spells for the duration." + wc_learn_spell_strangulate:0 "You learn the spell: [wc_spell_strangulate|E]" + + wc_crimson_binding_activated:0 "Crimson Binding" + wc_crimson_binding_activated_tt:0 "[crimson_binding_target.GetShortUIName] has died in your stead" + + game_concept_wc_spell_army_of_the_dead:0 "Ritual: Army of the Dead" + game_concept_wc_spell_army_of_the_dead_desc:0 "Call upon the depths of Necromancy, raising a vast legion of undead, their skeletal hands breaking through the earth, bound to your command." + wc_spell_army_of_the_dead_type:0 "[wc_spell_type_summon|E]" + wc_spell_army_of_the_dead_targets:0 "[county|E]" + wc_spell_army_of_the_dead_effects:0 "Sacrifice the [development|E] of the target county to summon a legion of the dead. The size of this army scales based on the development sacrificed and your [GetLifestyle('death_magic_lifestyle').GetName] perk count." + wc_learn_spell_army_of_the_dead:0 "You learn the spell: [wc_spell_army_of_the_dead|E]" + raised_undead_troops:0 "Raised Troops" + + game_concept_wc_spell_supreme_raise_dead:0 "Ritual: Supreme Raise Dead" + game_concept_wc_spell_supreme_raise_dead_desc:0 "Channel the pinnacle of Necromantic power, raising powerful entities such as Revenants and Liches, tearing them from the afterlife to serve you." + wc_spell_supreme_raise_dead_type:0 "[wc_spell_type_summon|E]" + wc_spell_supreme_raise_dead_targets:0 "[character|E]" + wc_spell_supreme_raise_dead_effects:0 "Raise a dead [character|E], or change yourself, into a [GetTrait('creature_lich').GetName( GetNullCharacter )] or [GetTrait('creature_revenant').GetName( GetNullCharacter )]" + wc_learn_spell_supreme_raise_dead:0 "You learn the spell: [wc_spell_supreme_raise_dead|E]" + wc_supreme_raise_dead_trigger:0 "Can only target yourself or the dead." + + game_concept_wc_spell_epidemic:0 "Ritual: Epidemic" + game_concept_wc_spell_epidemic_desc:0 "Invoke the forces of pestilence, unleashing a plague upon the land. This spell spreads a virulent disease, infecting all within its reach." + wc_spell_epidemic_type:0 "[wc_spell_type_attack|E]" + wc_spell_epidemic_targets:0 "[barony|E]" + wc_spell_epidemic_effects:0 "Summon an [epidemic|E] upon the target province." + wc_learn_spell_epidemic:0 "You learn the spell: [wc_spell_epidemic|E]" + epidemic_tt:0 "You may choose what [epidemic|E] to start after the spell starts casting." + + game_concept_wc_spell_crimson_binding:0 "Ritual: Crimson Binding" + game_concept_wc_spell_crimson_binding_desc:0 "Weave a dark ritual of blood magic, forging an unwilling bond between you and your target. Should fatal damage strike you, the target will die in your place, their essence consumed by the crimson bond." + wc_spell_crimson_binding_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_crimson_binding_targets:0 "[character|E]" + wc_spell_crimson_binding_effects:0 "Bind a target [prisoner|E], forcing them to die in your place." + wc_learn_spell_crimson_binding:0 "You learn the spell: [wc_spell_crimson_binding|E]" + + wc_target_province_coastal:0 "The target is not coastal" + + wc_eternal_winter_effect:0 "[duchy.GetName] will be afflicted with [wc_spell_eternal_winter|E]" + + game_concept_wc_spell_summon_water_elemental:0 "Summon Water Elemental" + game_concept_wc_spell_summon_water_elemental_desc:0 "Call forth the elemental power of water, shaping it into a loyal servant. With its presence it extends the duration of your magic, and freezes your enemies in their place." + wc_spell_summon_water_elemental_type:0 "[wc_spell_type_summon|E]" + wc_spell_summon_water_elemental_targets:0 "[character|E], [barony|E]" + wc_spell_summon_water_elemental_effects:0 "[wc_spell_rank|E] 1: Summons a Water Elemental to your side, slightly increasing casting time and cooldown but also massively increasing duration.\n[wc_spell_rank|E] 2: Summons a powerful [men_at_arms|E] to a selected [barony|E].\n[wc_spell_rank|E] 3: Enemies fighting your [men_at_arms|E] Elemental are slowed for a while." + wc_learn_spell_summon_water_elemental:0 "Learn the spell: [wc_spell_summon_water_elemental|E]" + wc_learn_spell_summon_water_elemental_2:0 "Learn [wc_spell_rank|E] 2 & 3 of [wc_spell_summon_water_elemental|E]" + summoned_water_elemental:0 "Summoned Water Elemental" + + game_concept_wc_spell_soothing_waters:0 "Soothing Waters" + game_concept_wc_spell_soothing_waters_desc:0 "Call upon the calming embrace of water, enveloping your target in a restorative flow. The waters leave your target renewed and refreshed under the spell's serene touch." + wc_spell_soothing_waters_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_soothing_waters_targets:0 "[character|E]" + wc_spell_soothing_waters_effects:0 "Bathe a target [character|E] in magical waters, relieving their stress and healing them." + wc_learn_spell_soothing_waters:0 "Learn the spell: [wc_spell_soothing_waters|E]" + + game_concept_wc_spell_river_spirits_rage:0 "River Spirit's Rage" + game_concept_wc_spell_river_spirits_rage_desc:0 "Unleash the fury of the river spirits, striking your target with a torrent of water. This spell batters them with relentless force, inflicting harm while the rushing currents bind their limbs." + wc_spell_river_spirits_rage_type:0 "[wc_spell_type_attack|E]" + wc_spell_river_spirits_rage_targets:0 "[character|E]" + wc_spell_river_spirits_rage_effects:0 "[wc_spell_rank|E] 1: Unleash the wrath of the river spirits upon a target [character|E] harming them and slowing them down.\n[wc_spell_rank|E] 2: Unleash an even mightier spirit upon your target amplifying the effects.\n[wc_spell_rank|E] 3: Call down the wrath upon a target army [army|E] instead, hindering their ability to in coastal areas and on the sea." + wc_learn_spell_river_spirits_rage:0 "Learn the spell: [wc_spell_river_spirits_rage|E]" + + game_concept_wc_spell_invoke_tsunami:0 "Invoke Tsunami" + game_concept_wc_spell_invoke_tsunami_desc:0 "Summon the unrelenting force of the sea, invoking a towering tsunami to crash down upon the land. This spell devastates the area, reducing structures to rubble and sweeping away all in its path." + wc_spell_invoke_tsunami_type:0 "[wc_spell_type_attack|E]" + wc_spell_invoke_tsunami_targets:0 "[province|E]" + wc_spell_invoke_tsunami_effects:0 "Call a tsunami down upon a target coastal [province|E], and up to 4 additional coastal provinces, destroying their fortifications and reducing their [development|E]." + wc_learn_spell_invoke_tsunami:0 "Learn the spell: [wc_spell_invoke_tsunami|E]" + + game_concept_wc_spell_frost_shock:0 "Frost Shock" + game_concept_wc_spell_frost_shock_desc:0 "Unleash a burst of frigid energy, striking your target with an icy shock. The bitter cold bites deep, inflicting Frostbite and leaving them vulnerable, their strength sapped by the chill." + wc_spell_frost_shock_type:0 "[wc_spell_type_attack|E]" + wc_spell_frost_shock_targets:0 "[character|E]" + wc_spell_frost_shock_effects:0 "Inflict (or increase severity of) the [wc_injury_frostbite|E] injury on a character." + wc_learn_spell_frost_shock:0 "Learn the spell: [wc_spell_frost_shock|E]" + wc_frost_shock_hit_tt:0 "[dodger.GetShortUIName|U] [Select_CString(dodger.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_frost_shock|E]." + wc_frost_shock_resist_tt:0 "[dodger.GetShortUIName|U] dodged [wc_spell_frost_shock|E]!" + wc_frost_shock_dodge:0 "Because of [dodger.GetShortUINamePossessive] [wc_spell_school_elemental_water|E] [wc_magic_resistance|E], the spell has no effect." + + game_concept_wc_spell_icefury:0 "Icefury" + game_concept_wc_spell_icefury_desc:0 "Unleash the wrath of the frozen wastes, channeling a storm of icy fury upon the targets. The spell harms all who suffer from Frostbite, tearing through their bodies with relentless shards of ice." + wc_spell_icefury_type:0 "[wc_spell_type_attack|E]" + wc_spell_icefury_targets:0 "[duchy|E]" + wc_spell_icefury_effects:0 "Inflicts [GetTrait('wounded_1').GetName(GetNullCharacter)] on all [characters|E] in the target [duchy|E] who suffer from [wc_injury_frostbite|E], as well as slowing the [levy|E] replenishment in the affected regions." + wc_learn_spell_icefury:0 "Learn the spell: [wc_spell_icefury|E]" + + game_concept_wc_spell_ice_structure:0 "Ice Structure" + game_concept_wc_spell_ice_structure_desc:0 "Summon a towering structure of unyielding ice, its presence radiating power throughout the area. This spell fortifies the location and empowers those within its frozen reach." + wc_spell_ice_structure_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_ice_structure_targets:0 "[province|E]" + wc_spell_ice_structure_effects:0 "Boosts the fort level as well as giving various other boosts to characters located in the target [province|E]." + wc_learn_spell_ice_structure:0 "Learn the spell: [wc_spell_ice_structure|E]" + + game_concept_wc_spell_eternal_winter:0 "Ritual: Eternal Winter" + game_concept_wc_spell_eternal_winter_desc:0 "Call forth a relentless, unending winter, cursing the target area with Blizzard during the cold months. Rip renown and wealth from the affected regions and towards yourself." + wc_spell_eternal_winter_type:0 "[wc_spell_type_enchantment|E]" + wc_spell_eternal_winter_targets:0 "[duchy|E]" + wc_spell_eternal_winter_effects:0 "The target [duchy|E] as well as two surrounding duchies are drained on some of their [income|E] and [dynasty_prestige|E] which is instead given to the caster. In addition, during the winter months the target areas are inflicted with a powerful [wc_spell_blizzard|E]." + wc_learn_spell_eternal_winter:0 "Learn the spell: [wc_spell_eternal_winter|E]" + + + game_concept_wc_spell_create_portal:0 "Ritual: Create Portal" + game_concept_wc_spell_create_portal_desc:0 "Open a portal to another province, allowing for swift travel between the two locations." + wc_spell_create_portal_type:0 "[wc_spell_type_ritual|E]" + wc_spell_create_portal_targets:0 "[barony|E], [character|E], [army|E], [entourage|E]" + wc_spell_create_portal_effects:0 "[wc_spell_rank|E] 1: Create a portal between the target character's location to any other province. If target is in a travel [Concept('entourage', 'Groups')|E], they will be teleported as well.\n[wc_spell_rank|E] 2: Portal can now teleport multiple characters.\n[wc_spell_rank|E] 3: Portal can now teleport entire armies." + wc_learn_spell_create_portal:0 "You learn [wc_spell_create_portal|E]" + wc_spell_create_portal:0 "You must have a destination selected to cast this spell, and/or the army cannot be in combat." + wc_spell_create_portal_tt: "[portal_recipient.GetName] will teleport to [portal_destination.GetName]" + wc_spell_create_portal_tt_army: "[army_recipient.GetName] will teleport to [portal_destination.GetName]" + wc_spell_create_portal_tt_army_warning: "#warning @warning_icon! If the army is teleported onto another hostile army, they will automatically enter combat with it.#!" + wc_spell_create_portal_tt_army_not: "#warning @warning_icon! [army_recipient.GetName] is already in or near [portal_destination.GetName] and will not be teleported.#!" + wc_spell_create_portal_tt_not: "#warning @warning_icon! [portal_recipient.GetName] is already in or near [portal_destination.GetName]#!" + wc_spell_create_portal_tt_entourage: "[portal_recipient.GetNamePossessive] [travel|E] [entourage|E] will also teleport to [portal_destination.GetName]" + WC_TRAVEL_ENTOURAGE_TOOLTIP:0 "Because [this_recipient.GetName] is part of a [travel|E] [entourage|E], the destination has automatically been set to the next destination in the [entourage|E]'s path." + WC_TRAVEL_ENTOURAGE_TOOLTIP_BAD:0 "#warning @warning_icon! [portal_recipient.GetName] is part of a [travel|E] [entourage|E], and cannot be teleported away from the rest of the group. If you'd like to teleport [portal_recipient.GetFirstNameNoTooltip] and the rest of [portal_recipient.GetHerHis] [entourage|E], you must use [wc_spell_rank|E] 1 on [portal_recipient.GetFirstNameNoTooltip].#!" + WC_ARMY_TOOLTIP_BAD:0 "#warning @warning_icon! [portal_recipient.GetName] is commanding an [army|E], and cannot be teleported away from the rest of the group. If you'd like to teleport [portal_recipient.GetFirstNameNoTooltip] and the rest of [portal_recipient.GetHerHis] [army|E], you must use [wc_spell_rank|E] 3 on [portal_recipient.GetFirstNameNoTooltip].#!" + WC_CANT_CHANGE_DESTINATION:0 "You cannot change the destination if the target is part of a [travel|E] [entourage|E]" + WC_TELEPORT_TOOLTIP_CD:0 "[portal_recipient.GetFirstNameNoTooltip] will not be able to take another portal for #V 6#! months. However, [portal_recipient.GetSheHe] will be able to teleport back to their home loaction immediately using the [GetDecisionWithKey('teleport_back_decision').GetName] decision." + game_concept_wc_spell_rend_flesh:0 "Rend Flesh" + game_concept_wc_spell_rend_flesh_desc:0 "Afflict a character with a dark curse, causing their flesh to wither and decay. The spell leaves them vulnerable, their strength sapped by the curse's relentless grip." + wc_spell_rend_flesh_type:0 "[wc_spell_type_attack|E]" + wc_spell_rend_flesh_targets:0 "[character|E]" + wc_spell_rend_flesh_effects:0 "The target gains a negative modifier, the strength and durability is increased by the spell rank." + wc_learn_spell_rend_flesh:0 "You learn the spell: [wc_spell_rend_flesh|E]" + wc_learn_spell_rend_flesh_2:0 "Learn [wc_spell_rank|E] 2 & 3 of [wc_spell_rend_flesh|E]" + rend_flesh_perk_tt:0 "When using [wc_spell_rend_flesh|E], the target has a small chance of getting the [GetTrait('maimed').GetName( GetNullCharacter )] injury." + wc_rend_flesh_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_rend_flesh|E]." + wc_rend_flesh_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_rend_flesh_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_rend_flesh$!" + + game_concept_wc_spell_mutate:0 "Mutate" + game_concept_wc_spell_mutate_desc:0 "Shape a character's flesh, changing their genetic essence for the worst." + wc_spell_mutate_type:0 "[wc_spell_type_attack|E]" + wc_spell_mutate_targets:0 "[character|E]" + wc_spell_mutate_effects:0 "The target gains a negative genetic trait, or one they already have is worsened." + wc_learn_spell_mutate:0 "You learn the spell: [wc_spell_mutate|E]" + wc_mutate_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_mutate|E]." + wc_mutate_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_mutate_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_mutate$!" + wc_mutate_random_tt:0 "[this_recipient.GetShortUIName|U] will gain a random negative genetic trait." + wc_mutate_level_tt:0 "[this_recipient.GetShortUIName|U] will have one of [Select_CString(this_recipient.IsLocalPlayer, 'your', this_recipient.GetHerHis)] negative genetic traits worsened." + + game_concept_wc_spell_drain_essence:0 "Drain Essence" + game_concept_wc_spell_drain_essence_desc:0 "Siphon the mana from another caster, giving them your affliction in return." + wc_spell_drain_essence_type:0 "[wc_spell_type_attack|E], [wc_spell_type_dispel|E]" + wc_spell_drain_essence_targets:0 "[character|E]" + wc_spell_drain_essence_effects:0 "The caster gains loses a negative [wc_injury|E] and the target gains it. If the target uses mana, the caster will siphon [GetPlayer.MakeScope.ScriptValue('wc_drain_essence_mana_gain_value')|V0] [wc_mana|E] from the target." + wc_learn_spell_drain_essence:0 "You learn the spell: [wc_spell_drain_essence|E]" + drain_essence_no_mana_tt: "@warning_icon! #warning This character does not use [wc_mana|E] or does not have sufficient mana, so you will gain no mana from this cast.#!" + drain_essence_no_injury_tt: "@warning_icon! #warning You do not have any negative [wc_injury|E] to drain.#!" + + game_concept_wc_spell_insanity:0 "Shadow Word: Insanity" + game_concept_wc_spell_insanity_desc:0 "Wreck your enemies' minds, causing them to lose their sanity." + wc_spell_insanity_type:0 "[wc_spell_type_attack|E]" + wc_spell_insanity_targets:0 "[character|E]" + wc_spell_insanity_effects:0 "The target gains some stress and a negative modifier." + wc_learn_spell_insanity:0 "You learn the spell: [wc_spell_insanity|E]" + wc_insanity_hit_tt:0 "[this_recipient.GetShortUIName|U] [Select_CString(this_recipient.IsLocalPlayer, 'gain', 'gains')] the effects of [wc_spell_insanityE]." + wc_insanity_resist_tt:0 "Because of [this_recipient.GetShortUINamePossessive] [wc_spell_school_shadow|E] [wc_magic_resistance|E], the spell has no effect." + wc_insanity_dodge:0 "[this_recipient.GetShortUIName|U] dodged $game_concept_wc_spell_insanity$!" + + game_concept_wc_spell_mania:0 "Shadow Word: Mania" + game_concept_wc_spell_mania_desc:0 "Cure an affliction of the mind, and gain power in return." + wc_spell_mania_type:0 "[wc_spell_type_dispel|E]" + wc_spell_mania_targets:0 "[character|E]" + wc_spell_mania_effects:0 "The target loses a [wc_psych_illness|E] and gains [GetModifier( 'wc_insanity_modifier' ).GetNameWithTooltip], while the caster gains [GetModifier( 'wc_mania_modifier' ).GetNameWithTooltip]." + wc_learn_spell_mania:0 "You learn the spell: [wc_spell_mania|E]" + + game_concept_wc_spell_mind_blast:0 "Mind Blast" + game_concept_wc_spell_mind_blast_desc:0 "Warp another's mind, causing them to forget the past." + wc_spell_mind_blast_type:0 "[wc_spell_type_attack|E]" + wc_spell_mind_blast_targets:0 "[character|E]" + wc_spell_mind_blast_effects:0 "If a character has a hook on you, they will remove it, and if they know a blackmailing secret about you, they will not be able to expose it." + wc_learn_spell_mind_blast:0 "You learn the spell: [wc_spell_mind_blast|E]" + + game_concept_wc_spell_silence:0 "Silence" + game_concept_wc_spell_silence_desc:0 "Temporarily remove a character's ability to cast spells." + wc_spell_silence_type:0 "[wc_spell_type_attack|E]" + wc_spell_silence_targets:0 "[character|E]" + wc_spell_silence_effects:0 "The target will not be able to cast spells for [GetPlayer.MakeScope.ScriptValue('wc_spell_silence_duration_days_value')|V0] days" + wc_learn_spell_silence:0 "You learn the spell: [wc_spell_silence|E]" + IS_SILENCED:0 "Is [GetModifier('wc_silenced_modifier').GetNameWithTooltip|L]" + + game_concept_wc_spell_shadow_crash:0 "Shadow Crash" + game_concept_wc_spell_shadow_crash_desc:0 "Engulf a county in darkness, crippling their magical abilities and leaving them vulnerable." + wc_spell_shadow_crash_type:0 "[wc_spell_type_attack|E]" + wc_spell_shadow_crash_targets:0 "[county|E]" + wc_spell_shadow_crash_effects:0 "The county will lose some development, and all characters currently in the county will have their max mana decreased, and their shadow magic resistance decreased." + wc_learn_spell_shadow_crash:0 "You learn the spell: [wc_spell_shadow_crash|E]" + wc_spell_shadow_crash_tt: "Every [character|E] in this county gains [GetModifier('wc_shadow_crashed_modifier').GetNameWithTooltip|L] for [GetPlayer.MakeScope.ScriptValue('wc_spell_shadow_crash_duration_days_value')|V0] days" + + game_concept_wc_spell_twisted_chains:0 "Ritual: Twisted Chains" + game_concept_wc_spell_twisted_chains_desc:0 "Call upon the power of the void, allowing you to bind the world to your will" + wc_spell_twisted_chains_type:0 "[wc_spell_type_ritual|E]" + wc_spell_twisted_chains_targets:0 "[character|E]" + wc_spell_twisted_chains_effects:0 "For every 25 mana spent on this ritual:\n#bold If you are at war with the target:#! You will deplete each of their [armies|E] by 10%\n#bold If you are not at war with the target:#! Decrease the [development|E] and [control|E] of each of their [counties|E] by 5.\n\nGain [dread|E], remove the cooldown of all non-ritual shadow spells, and each shadow spell cast for [GetPlayer.MakeScope.ScriptValue('wc_spell_twisted_chains_duration_days_value')|V0] days will Cost 25% less mana, have a 25% shorter cooldown and have their duration increased by 50%. The seize realm, murder, and claim throne schemes will have increased success chance." + wc_learn_ritual_twisted_chains:0 "You learn: [wc_spell_twisted_chains|E]" + wc_spell_twisted_chains_tt: "Every non-ritual [wc_spell_school_shadow|E] [wc_spell|E] will come off cooldown." + wc_spell_twisted_chains_tt_counties: "Every [county|E] in [this_recipient.GetNamePossessive] realm:\n[development|E] level changes by #n [GetPlayer.MakeScope.ScriptValue('twisted_chains_decrease_value')|0]#!\n[control|E] level changes by #n [GetPlayer.MakeScope.ScriptValue('twisted_chains_decrease_value')|0]#!" + wc_twisted_chains_modifier_desc_value:0 "[GetModifier( 'wc_twisted_chains_modifier' ).GetNameWithTooltip]: $VALUE|+=0$" + + game_concept_wc_spell_ascension:0 "Ritual: Dark Ascension" + game_concept_wc_spell_ascension_desc:0 "Call upon the denizens of your realm, granting you potential power." + wc_spell_ascension_type:0 "[wc_spell_type_ritual|E]" + wc_spell_ascension_targets:0 "[character|E] - Caster only" + wc_spell_ascension_effects:0 "For [GetPlayer.MakeScope.ScriptValue('wc_spell_ascension_duration_days_value')|V0] days, characters in your realm to accrue Evolution points (EPs). EPs are accrued when characters complete a [wc_ascension_action|E]. When a character accrues 10 evolution points, you can choose to ascend them, granting them a boon. At the end of the ascension cycle, you will gain a boon based on total evolution points accured." + wc_learn_ritual_ascension:0 "You learn: [wc_spell_ascension|E]" + + game_concept_wc_ascension_action: "Ascension Action" + game_concept_wc_ascension_action_desc: "Actions that can gain Evolution points (EPs):\n\n$EFFECT_LIST_BULLET$Kill someone\n$EFFECT_LIST_BULLET$Have a child\n$EFFECT_LIST_BULLET$Execute a Sway, Seduce, Romance, Learn Language, or Murder [scheme|E]\n$EFFECT_LIST_BULLET$Gain a non-magic lifestyle [perk|E]\n$EFFECT_LIST_BULLET$Become an Adult\n$EFFECT_LIST_BULLET$Win a [war|E]\n$EFFECT_LIST_BULLET$Begin [travel|E]\n$EFFECT_LIST_BULLET$Appoint a [court_position|E]\n$EFFECT_LIST_BULLET$Cast a [wc_spell|E]\n$EFFECT_LIST_BULLET$Gain a [piety|E], [influence|E], or [prestige|E] level\n$EFFECT_LIST_BULLET$Gain a Personality [trait|E] (Children only)\n$EFFECT_LIST_BULLET$Convert to a new [faith|E] or [culture|E]\n$EFFECT_LIST_BULLET$Use a [hook|E]\n$EFFECT_LIST_BULLET$Leave [prison|E]\n$EFFECT_LIST_BULLET$Gain or lose a [stress|E] level\n$EFFECT_LIST_BULLET$Gaining a [title|E]\n$EFFECT_LIST_BULLET$Getting married\n\n[vassals|E] will grant more EP points than [courtiers|E], and [adventurers|E] gain more EP points. EP points vary per action." + + game_concept_wc_spell_whispers:0 "Ritual: Whispers of the Old Ones" + game_concept_wc_spell_whispers_desc:0 "Send the old gods into the mind of your enemies." + wc_spell_whispers_type:0 "[wc_spell_type_ritual|E]" + wc_spell_whispers_targets:0 "[character|E]" + wc_spell_whispers_effects:0 "For 2-4 years, your target will be inflicted with whispers from the void. These whispers will grant them random maluses, and grant the caster random boons. The outcome of the whispers is unknown until the end of the duration." + wc_learn_ritual_whispers:0 "You learn: [wc_spell_whispers|E]" + whispers_tt: "The whispers will begin." + + game_concept_wc_spell_type_channeled:0 "Channeled" + game_concept_wc_spell_type_channeled_desc:0 "Channeled spells cost [wc_mana|E] per month as opposed to an upfront cost, and can be toggled on and off. Channeled Spells' [wc_mana|E] cost can't be reduced or changed by any means." + channeled_spells_desc:0 "[wc_spell_type_channeled|E] Spells" + wc_channeled_spell_invalid:0 "Channeled Spell Canceled" + wc_channeled_spell_invalid_tt:0 "The channel of [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('channeled_cast').GetFlagName))] has been cancelled due to a target being invalid." + wc_channeled_spell_no_mana_tt:0 "The channel of [Localize(Concatenate('game_concept_wc_spell_', GetPlayer.MakeScope.Var('channeled_cast').GetFlagName))] has been cancelled due to insufficient [wc_mana|E]." + + game_concept_wc_spell_power_word_barrier:0 "Power Word: Barrier" + game_concept_wc_spell_power_word_barrier_desc:0 "Create a holy barrier around a character, protecting them from harm." + wc_spell_power_word_barrier_type:0 "[wc_spell_type_defend|E], [wc_spell_type_channeled|E]" + wc_spell_power_word_barrier_targets:0 "[character|E]" + wc_spell_power_word_barrier_effects:0 "The target gains a modifier that increases [wc_magic_resistance|E] and negates [health|E] maluses.\n[wc_spell_rank|E] 2: Can now be cast on multiple characters." + wc_spell_power_word_barrier_desc:0 "[wc_spell_power_word_barrier|E]" + wc_learn_spell_power_word_barrier:0 "You learn the spell: [wc_spell_power_word_barrier|E]" + wc_learn_spell_power_word_barrier_2:0 "Learn [wc_spell_rank|E] 2 of [wc_spell_power_word_barrier|E]" + + game_concept_wc_spell_dispersion:0 "Dispersion" + game_concept_wc_spell_dispersion_desc:0 "Fade into the depths of the Void, evading death, ever-so-slightly." + wc_spell_dispersion_type:0 "[wc_spell_type_defend|E], [wc_spell_type_channeled|E]" + wc_spell_dispersion_targets:0 "[character|E]" + wc_spell_dispersion_effects:0 "The target gains a modifier that decreases the chance of dying a non-natural death." + wc_learn_spell_dispersion:0 "You learn the spell: [wc_spell_dispersion|E]" + + game_concept_wc_spell_realm_of_necrosis:0 "Realm of Necrosis" + game_concept_wc_spell_realm_of_necrosis_desc:0 "Enhance your realm with buffs to your [dark_frenzy|E]." + wc_spell_realm_of_necrosis_type:0 "[wc_spell_type_enchantment|E], [wc_spell_type_channeled|E]" + wc_spell_realm_of_necrosis_targets:0 "[character|E]" + wc_spell_realm_of_necrosis_effects:0 "The target gains a modifier that increases the effectiveness of [dark_frenzy|E]." + wc_learn_spell_realm_of_necrosis:0 "You learn the spell: [wc_spell_realm_of_necrosis|E]" \ No newline at end of file diff --git a/localization/english/wc_game_rules_l_english.yml b/localization/english/wc_game_rules_l_english.yml index d32be2cf10..bbb6d3d04f 100644 --- a/localization/english/wc_game_rules_l_english.yml +++ b/localization/english/wc_game_rules_l_english.yml @@ -29,11 +29,12 @@ setting_wc_collapse_of_the_first_horde_never:0 "#high Stable#!" setting_wc_collapse_of_the_first_horde_never_desc:0 "The First Horde will #Bold not#! collapse." - rule_wc_knowledge_overflow:0 "#clickable #Bold Warcraft#!#!: [knowledge_overflow]" + rule_wc_knowledge_overflow:0 "#clickable #Bold Warcraft#!#!: $game_concept_knowledge_overflow$" setting_wc_knowledge_overflow_enabled:0 "#high Enabled#!" setting_wc_knowledge_overflow_enabled_desc:0 "[knowledge_overflow|E] is enabled for both players and AI." - setting_wc_knowledge_overflow_no_players:0 "Only AI" + setting_wc_knowledge_overflow_no_players:1 "#high Only AI#!" setting_wc_knowledge_overflow_no_players_desc:0 "[knowledge_overflow|E] is enabled for AI only." + setting_wc_knowledge_overflow_disabled:0 "Disabled" setting_wc_knowledge_overflow_disabled_desc:0 "[knowledge_overflow|E] is disabled." @@ -43,6 +44,12 @@ setting_wc_unified_union_color_enabled:0 "#high Enabled#!" setting_wc_unified_union_color_enabled_desc:0 "States of the same [union|E] #P have#! the #V same color#!" + rule_wc_mod_and_vanilla_perk_combination:0 "#Bold Warcraft#!: Starting [perks] Combination" + setting_wc_mod_and_vanilla_perk_combination_enabled:0 "#high Enabled#!" + setting_wc_mod_and_vanilla_perk_combination_enabled_desc:0 "Characters may gain [perks|E] in vanilla [lifestyles|E] on gamestart even if they already have [perks|E] in [wc_magic_lifestyle|E]." + setting_wc_mod_and_vanilla_perk_combination_disabled:0 "Disabled" + setting_wc_mod_and_vanilla_perk_combination_disabled_desc:0 "Characters will not gain [perks|E] on gamestart if they already have [perks|E] in [wc_magic_lifestyle|E]." + rule_wc_arthas_choice:0 "#clickable #Bold Warcraft#!#!: Arthas's Choice#help (AI only)#!" setting_wc_arthas_personality:0 "Personality" setting_wc_arthas_northrend:0 "Northrend" diff --git a/localization/english/wc_general_l_english.yml b/localization/english/wc_general_l_english.yml index 2e374e995b..48a0f3279b 100644 --- a/localization/english/wc_general_l_english.yml +++ b/localization/english/wc_general_l_english.yml @@ -45,7 +45,7 @@ SUCCESSION_EVENT_WINDOW_HEIR_WARCRAFT_MAGIC_GOOD:0 "A [ROOT.Char.GetWomanMan] with a natural affinity for magic, [ROOT.Char.GetHerHis] rule is expected to be full of it." SUCCESSION_EVENT_WINDOW_HEIR_WARCRAFT_MAGIC_BAD:0 "A [ROOT.Char.GetWomanMan] without a hint of magic, [ROOT.Char.GetHerHis] rule is expected to be devoid of miracles." - child_personality.9900.magic_good_noninheritable.desc:0 "magical," + child_personality.9900.magic_good_noninheritable.desc:1 "sorcerous," child_personality.9900.magic_bad_noninheritable.desc:0 "magicless," wc_tooltip_feudal_elector_vote_magical:0 "[candidate.GetSheHe|U] is a potent sorcerer: $VALUE|=+0$" diff --git a/localization/english/wc_hook_types_l_english.yml b/localization/english/wc_hook_types_l_english.yml index d869f3cb73..6a367239bd 100644 --- a/localization/english/wc_hook_types_l_english.yml +++ b/localization/english/wc_hook_types_l_english.yml @@ -1,4 +1,5 @@ l_english: minion_hook:0 "Minion" possess_hook:0 "Possessed" - mindcontrol_hook:0 "Mind controlled" \ No newline at end of file + mindcontrol_hook:0 "Mind Controlled" + voidborne_hook:0 "Voidborne" \ No newline at end of file diff --git a/localization/english/wc_interactions_l_english.yml b/localization/english/wc_interactions_l_english.yml index 21cc717167..7495303112 100644 --- a/localization/english/wc_interactions_l_english.yml +++ b/localization/english/wc_interactions_l_english.yml @@ -26,4 +26,7 @@ RELIGIOUS_HEAD_REQUEST_SCARLET_MARK:0 "[secondary_recipient.GetShortUIName|U] has crossed the line with [secondary_recipient.GetHerHis] latest misdeeds. I petition for you to please mark [secondary_recipient.GetHerHim] so that the world knows we condemn [secondary_recipient.GetHerHis] impiety." RELIGIOUS_HEAD_GIVE_SCARLET_MARK:0 "[secondary_recipient.GetShortUIName|U] will be marked as a heretic. May [secondary_recipient.GetHerHis] wicked ways be known to all." - RELIGIOUS_HEAD_LIFT_SCARLET_MARK:0 "[secondary_recipient.GetShortUIName|U] has repented for [secondary_recipient.GetHerHis] misdeeds. [secondary_recipient.GetSheHe|U] will be welcomed back into the [actor.GetFaith.GetAdjective] [faith|E]." \ No newline at end of file + RELIGIOUS_HEAD_LIFT_SCARLET_MARK:0 "[secondary_recipient.GetShortUIName|U] has repented for [secondary_recipient.GetHerHis] misdeeds. [secondary_recipient.GetSheHe|U] will be welcomed back into the [actor.GetFaith.GetAdjective] [faith|E]." + + wc_change_elemental_goodwill_interaction:0 "Change Elemental Goodwill" + wc_change_elemental_goodwill_interaction_desc:0 "test" \ No newline at end of file diff --git a/localization/english/wc_lifestyles_elemental_magic_l_english.yml b/localization/english/wc_lifestyles_elemental_magic_l_english.yml new file mode 100644 index 0000000000..4da052897b --- /dev/null +++ b/localization/english/wc_lifestyles_elemental_magic_l_english.yml @@ -0,0 +1,48 @@ +l_english: + WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_FIRST:0 "You gain [wc_elemental_fire_icon_gc|E]$VALUE|+0$ [wc_elemental_fire_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_FIRST_NEG:0 "You lose [wc_elemental_fire_icon_gc|E]$VALUE|-0$ [wc_elemental_fire_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_FIRST:0 "You gain [wc_elemental_water_icon_gc|E]$VALUE|+0$ [wc_elemental_water_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_FIRST_NEG:0 "You lose [wc_elemental_water_icon_gc|E]$VALUE|-0$ [wc_elemental_water_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_FIRST:0 "You gain [wc_elemental_air_icon_gc|E]$VALUE|+0$ [wc_elemental_air_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_FIRST_NEG:0 "You lose [wc_elemental_air_icon_gc|E]$VALUE|-0$ [wc_elemental_air_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_FIRST:0 "You gain [wc_elemental_earth_icon_gc|E]$VALUE|+0$ [wc_elemental_earth_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_FIRST_NEG:0 "You lose [wc_elemental_earth_icon_gc|E]$VALUE|-0$ [wc_elemental_earth_spiritdecay_magic_favour|E]" + + WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_GLOBAL:0 "Gain [wc_elemental_fire_icon_gc|E]$VALUE|+0$ [wc_elemental_fire_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_FIRE_FAVOUR_EFFECT_GLOBAL_NEG:0 "Lose [wc_elemental_fire_icon_gc|E]$VALUE|-0$ [wc_elemental_fire_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_GLOBAL:0 "Gain [wc_elemental_water_icon_gc|E]$VALUE|+0$ [wc_elemental_water_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_WATER_FAVOUR_EFFECT_GLOBAL_NEG:0 "Lose [wc_elemental_water_icon_gc|E]$VALUE|-0$ [wc_elemental_water_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_GLOBAL:0 "Gain [wc_elemental_air_icon_gc|E]$VALUE|+0$ [wc_elemental_air_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_AIR_FAVOUR_EFFECT_GLOBAL_NEG:0 "Lose [wc_elemental_air_icon_gc|E]$VALUE|-0$ [wc_elemental_air_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_GLOBAL:0 "Gain [wc_elemental_earth_icon_gc|E]$VALUE|+0$ [wc_elemental_earth_spiritdecay_magic_favour|E]" + WC_CHANGE_AMOUNT_ELEMENTAL_EARTH_FAVOUR_EFFECT_GLOBAL_NEG:0 "Lose [wc_elemental_earth_icon_gc|E]$VALUE|-0$ [wc_elemental_earth_spiritdecay_magic_favour|E]" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST:0 "Changes your [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST:0 "Changes your [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST:0 "Changes your [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_NEUTRAL_EFFECT_FIRST:0 "Changes your [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_neutral_icon_gc|E] Neutral" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_SPIRIT_EFFECT_FIRST:0 "Changes your [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_SPIRIT_EFFECT_FIRST:0 "Changes your [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_SPIRIT_EFFECT_FIRST:0 "Changes your [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_SPIRIT_EFFECT_FIRST:0 "Changes your [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_spirit_icon_gc|E] Spirit" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_DECAY_EFFECT_FIRST:0 "Changes your [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_DECAY_EFFECT_FIRST:0 "Changes your [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_DECAY_EFFECT_FIRST:0 "Changes your [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_DECAY_EFFECT_FIRST:0 "Changes your [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_decay_icon_gc|E] Decay" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL:0 "Changes [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL:0 "Changes [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL:0 "Changes [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_neutral_icon_gc|E] Neutral" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_NEUTRAL_EFFECT_GLOBAL:0 "Changes [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_neutral_icon_gc|E] Neutral" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL:0 "Changes [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL:0 "Changes [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL:0 "Changes [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_spirit_icon_gc|E] Spirit" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_SPIRIT_EFFECT_GLOBAL:0 "Changes [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_spirit_icon_gc|E] Spirit" + + WC_CHANGE_ELEMENTAL_FIRE_DISPOSITION_TO_DECAY_EFFECT_GLOBAL:0 "Changes [wc_elemental_fire_spirit_decay_magic_disposition|E] to [wc_elemental_fire_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_WATER_DISPOSITION_TO_DECAY_EFFECT_GLOBAL:0 "Changes [wc_elemental_water_spirit_decay_magic_disposition|E] to [wc_elemental_water_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_AIR_DISPOSITION_TO_DECAY_EFFECT_GLOBAL:0 "Changes [wc_elemental_air_spirit_decay_magic_disposition|E] to [wc_elemental_air_decay_icon_gc|E] Decay" + WC_CHANGE_ELEMENTAL_EARTH_DISPOSITION_TO_DECAY_EFFECT_GLOBAL:0 "Changes [wc_elemental_earth_spirit_decay_magic_disposition|E] to [wc_elemental_earth_decay_icon_gc|E] Decay" \ No newline at end of file diff --git a/localization/english/wc_lifestyles_magic_l_english.yml b/localization/english/wc_lifestyles_magic_l_english.yml new file mode 100644 index 0000000000..8b3b616fd8 --- /dev/null +++ b/localization/english/wc_lifestyles_magic_l_english.yml @@ -0,0 +1,617 @@ +l_english: + light_magic_lifestyle_name:0 "Light Magic" + shadow_magic_lifestyle_name:0 "Shadow Magic" + disorder_magic_lifestyle_name:0 "Fel Magic" + order_magic_lifestyle_name:0 "Arcane Magic" + life_magic_lifestyle_name:0 "Nature Magic" + death_magic_lifestyle_name:0 "Death Magic" + elemental_fire_magic_lifestyle_name:0 "Fire Magic" + elemental_water_magic_lifestyle_name:0 "Water Magic" + elemental_air_magic_lifestyle_name:0 "Air Magic" + elemental_earth_magic_lifestyle_name:0 "Earth Magic" + + light_magic_lifestyle_desc:0 "Focus on the Light, a boundless sea of living energy, swelling across all of existence, unfettered by time and space." + shadow_magic_lifestyle_desc:0 "Focus on the Shadow, a dark and vampiric force driven to devour all energy, to twist creation inward to feed upon itself." + disorder_magic_lifestyle_desc:0 "Focus on the Fel, destructive, brutal, and extremely addictive energy that is fueled by drawing life from living beings." + order_magic_lifestyle_desc:0 "Focus on balancing the ebb and flow of the Arcane, a innately volatile energy, pure power distilled." + life_magic_lifestyle_desc:0 "Focus on harness the vast powers of Life, the essence and souls of all things living." + death_magic_lifestyle_desc:0 "Focus on manipulating the power of Death, unavoidable force that breeds despair in mortal hearts and pushes everything toward a state of entropic decay and eventual oblivion." + elemental_fire_magic_lifestyle_desc:0 "Focus on the magic of fire and lava." + elemental_water_magic_lifestyle_desc:0 "Focus on the magic of water and ice." + elemental_air_magic_lifestyle_desc:0 "Focus on the magic of air and lightning." + elemental_earth_magic_lifestyle_desc:0 "Focus on the magic of earth and stone." + + wc_lifestyle_highlight_magic_good_1_percentage_line:0 "[EmptyScope.ScriptValue('wc_magic_good_1_xp_gain_mult_value')|%+0]" + wc_lifestyle_highlight_magic_good_2_percentage_line:0 "[EmptyScope.ScriptValue('wc_magic_good_2_xp_gain_mult_value')|%+0]" + wc_lifestyle_highlight_magic_good_3_percentage_line:0 "[EmptyScope.ScriptValue('wc_magic_good_3_xp_gain_mult_value')|%+0]" + wc_lifestyle_highlight_magic_good_noninheritable_percentage_line:0 "[EmptyScope.ScriptValue('wc_magic_good_noninheritable_xp_gain_mult_value')|%+0]" + + light_magic_lifestyle_highlight_desc:0 "Because you are [GetPlayer.Custom('GetWCMagicalLifestyleHighlightTrait')], you gain [GetPlayer.Custom('GetWCMagicalLifestyleHighlightPercentage')] more [experience|E] in this Lifestyle." + shadow_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + disorder_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + order_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + life_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + death_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + elemental_fire_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + elemental_water_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + elemental_air_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + elemental_earth_magic_lifestyle_highlight_desc:0 "$light_magic_lifestyle_highlight_desc$" + + light_magic_focus_1:0 "Heroism Focus" + light_magic_focus_1_desc:0 "Vanquish evil from the darkest corners of the world, smiting them with holy fury." + light_magic_focus_1_effect_desc:0 "Focusing on Heroism grants:" + light_magic_focus_2:0 "Justice Focus" + light_magic_focus_2_desc:0 "Bring justice to the wronged and guide people in trouble times." + light_magic_focus_2_effect_desc:0 "Focusing on Justice grants:" + light_magic_focus_3:0 "Protection Focus" + light_magic_focus_3_desc:0 "Protect the weak and cure the sick." + light_magic_focus_3_effect_desc:0 "Focusing on Protection grants:" + + shadow_magic_focus_1:0 "Horror Focus" + shadow_magic_focus_1_desc:0 "Peer into the Void without hesitation, pulling all manner of abomination from the other side." + shadow_magic_focus_1_effect_desc:0 "Focusing on Horror grants:" + shadow_magic_focus_2:0 "Mutation Focus" + shadow_magic_focus_2_desc:0 "Flesh is a gift. Embrace it and be granted strength beyond form." + shadow_magic_focus_2_effect_desc:0 "Focusing on Mutation grants:" + shadow_magic_focus_3:0 "Madness Focus" + shadow_magic_focus_3_desc:0 "To truly understand sinister Shadow magic and terrifying Void magic is to be driven mad." + shadow_magic_focus_3_effect_desc:0 "Focusing on Madness grants:" + + disorder_magic_focus_1:0 "Corruption Focus" + disorder_magic_focus_1_desc:0 "Sacrificial magic is all corrupting and all-consuming if the craving for it was not held in check." + disorder_magic_focus_1_effect_desc:0 "Focusing on Corruption grants:" + disorder_magic_focus_2:0 "Destruction Focus" + disorder_magic_focus_2_desc:0 "Forbidden sorcery to wreak havoc on enemies with incantations of pure chaos." + disorder_magic_focus_2_effect_desc:0 "Focusing on Destruction grants:" + disorder_magic_focus_3:0 "Demonology Focus" + disorder_magic_focus_3_desc:0 "Exercise unwavering command over terrifying demonic forces." + disorder_magic_focus_3_effect_desc:0 "Focusing on Demonology grants:" + + order_magic_focus_1:0 "Creation Focus" + order_magic_focus_1_desc:0 "Wield the tools of creation to make matter and energy out of nothing." + order_magic_focus_1_effect_desc:0 "Focusing on Creation grants:\n- The ability to gain Pyromancy and Cryomancy perks (after gaining the Elemental Synthesis perk)" + order_magic_focus_2:0 "Alteration Focus" + order_magic_focus_2_desc:0 "Alter the very fabric of reality, turning snarling attackers into harmless sheep or even altering time itself." + order_magic_focus_2_effect_desc:0 "Focusing on Alteration grants:" + order_magic_focus_3:0 "Enchanting Focus" + order_magic_focus_3_desc:0 "Assist allies by sharpening their minds and weapons." + order_magic_focus_3_effect_desc:0 "Focusing on Enchanting grants:" + + life_magic_focus_1:0 "Savagery Focus" + life_magic_focus_1_desc:0 "Death is part of the cycle which sustains life and nature is an eternal dance between predator and prey." + life_magic_focus_1_effect_desc:0 "Focusing on Savagery grants:" + life_magic_focus_2:0 "Survival Focus" + life_magic_focus_2_desc:0 "Whether on land or in the sea, in a lush jungle or an uncultivated desert, life perseveres through adversity." + life_magic_focus_2_effect_desc:0 "Focusing on Survival grants:" + life_magic_focus_3:0 "Harmony Focus" + life_magic_focus_3_desc:0 "Where there is decay, bring rejuvenation. The many gifts provided by nature must sometimes be reciprocated." + life_magic_focus_3_effect_desc:0 "Focusing on Harmony grants:" + + death_magic_focus_1:0 "Necromancy Focus" + death_magic_focus_1_desc:0 "Defile the life to raise unhallowed minions from the ground." + death_magic_focus_1_effect_desc:0 "Focusing on Necromancy grants:" + death_magic_focus_2:0 "Plague Focus" + death_magic_focus_2_desc:0 "Embody the ever-corrupting nature of plague and unleash pestilence that would bring foes to ruin." + death_magic_focus_2_effect_desc:0 "Focusing on Plague grants:" + death_magic_focus_3:0 "Vampirism Focus" + death_magic_focus_3_desc:0 "Carve into blood and bone of the living to bend the very rules of mortality." + death_magic_focus_3_effect_desc:0 "Focusing on Vampirism grants:" + + elemental_fire_magic_focus_1:0 "Pyromancy Focus" + elemental_fire_magic_focus_1_desc:0 "Commune directly with the chaotic element to bring balance." + elemental_fire_magic_focus_1_effect_desc:0 "Focusing on Pyromancy grants:" + elemental_fire_magic_focus_2:0 "Pyrosophism Focus" + elemental_fire_magic_focus_2_desc:0 "Tap into raw power of force that is not strictly benevolent." + elemental_fire_magic_focus_2_effect_desc:0 "Focusing on Pyrosophism grants:" + elemental_fire_magic_focus_3:0 "Pyrotheurgy Focus" + elemental_fire_magic_focus_3_desc:0 "Bind the element to your will, forcing it into servitude and harnessing its primal fury." + elemental_fire_magic_focus_3_effect_desc:0 "Focusing on Pyrotheurgy grants:" + + elemental_water_magic_focus_1:0 "Hydromancy Focus" + elemental_water_magic_focus_1_desc:0 "$elemental_fire_magic_focus_1_desc$" + elemental_water_magic_focus_1_effect_desc:0 "Focusing on Hydromancy grants:" + elemental_water_magic_focus_2:0 "Hydrosophism Focus" + elemental_water_magic_focus_2_desc:0 "$elemental_fire_magic_focus_2_desc$" + elemental_water_magic_focus_2_effect_desc:0 "Focusing on Hydrosophism grants:" + elemental_water_magic_focus_3:0 "Hydrotheurgy Focus" + elemental_water_magic_focus_3_desc:0 "$elemental_fire_magic_focus_3_desc$" + elemental_water_magic_focus_3_effect_desc:0 "Focusing on Hydrotheurgy grants:" + + elemental_air_magic_focus_1:0 "Aeromancy Focus" + elemental_air_magic_focus_1_desc:0 "$elemental_fire_magic_focus_1_desc$" + elemental_air_magic_focus_1_effect_desc:0 "Focusing on Aeromancy grants:" + elemental_air_magic_focus_2:0 "Aerosophism Focus" + elemental_air_magic_focus_2_desc:0 "$elemental_fire_magic_focus_2_desc$" + elemental_air_magic_focus_2_effect_desc:0 "Focusing on Aerosophism grants:" + elemental_air_magic_focus_3:0 "Aerotheurgy Focus" + elemental_air_magic_focus_3_desc:0 "$elemental_fire_magic_focus_3_desc$" + elemental_air_magic_focus_3_effect_desc:0 "Focusing on Aerotheurgy grants:" + + elemental_earth_magic_focus_1:0 "Geomancy Focus" + elemental_earth_magic_focus_1_desc:0 "$elemental_fire_magic_focus_1_desc$" + elemental_earth_magic_focus_1_effect_desc:0 "Focusing on Geomancy grants:" + elemental_earth_magic_focus_2:0 "Geosophism Focus" + elemental_earth_magic_focus_2_desc:0 "$elemental_fire_magic_focus_2_desc$" + elemental_earth_magic_focus_2_effect_desc:0 "Focusing on Geosophism grants:" + elemental_earth_magic_focus_3:0 "Geotheurgy Focus" + elemental_earth_magic_focus_3_desc:0 "$elemental_fire_magic_focus_3_desc$" + elemental_earth_magic_focus_3_effect_desc:0 "Focusing on Geotheurgy grants:" + + light_magic_tree_1_name:0 "Initiate" + light_magic_tree_1_perk_1_name:0 "Heal" + light_magic_tree_1_perk_2_name:0 "Divine Service" + light_magic_tree_1_perk_3_name:0 "Cleanse the Evil" + light_magic_tree_1_perk_4_name:0 "Holy Vision" + light_magic_tree_1_perk_5_name:0 "Divine Aura" + light_magic_tree_1_perk_6_name:0 "Blessed Blood" + light_magic_tree_1_perk_7_name:0 "Echo of Light" + light_magic_tree_1_perk_8_name:0 "Radiant Hearth" + light_magic_tree_1_perk_9_name:0 "Saved by the Light" + + light_magic_tree_2_name:0 "Zealot" + light_magic_tree_2_perk_1_name:0 "Smite" + light_magic_tree_2_perk_2_name:0 "Holy Struggle" + light_magic_tree_2_perk_3_name:0 "Inquisition" + light_magic_tree_2_perk_4_name:0 "Seal of Command" + light_magic_tree_2_perk_5_name:0 "Righteous Fury" + light_magic_tree_2_perk_6_name:0 "Divine Purpose" + light_magic_tree_2_perk_7_name:0 "Atonement" + light_magic_tree_2_perk_8_name:0 "Holy Retribution" + light_magic_tree_2_perk_9_name:0 "Ten Thousand Suns" + + light_magic_tree_3_name:0 "Templar" + light_magic_tree_3_perk_1_name:0 "Intercession" + light_magic_tree_3_perk_2_name:0 "Virtue" + light_magic_tree_3_perk_3_name:0 "Protection" + light_magic_tree_3_perk_4_name:0 "Inner Fire" + light_magic_tree_3_perk_5_name:0 "Blessed Grounds" + light_magic_tree_3_perk_6_name:0 "Holy Aura" + light_magic_tree_3_perk_7_name:0 "Command of the Light" + light_magic_tree_3_perk_8_name:0 "Final Stand" + light_magic_tree_3_perk_9_name:0 "Holy Land" + + shadow_magic_tree_1_name:0 "Voidweaver" + shadow_magic_tree_1_perk_1_name:0 "Touch of Shadow" + shadow_magic_tree_1_perk_2_name:0 "Dark Feud" + shadow_magic_tree_1_perk_3_name:0 "Dark Insights" + shadow_magic_tree_1_perk_4_name:0 "Shadowfiend" + shadow_magic_tree_1_perk_5_name:0 "Dark Bargain" + shadow_magic_tree_1_perk_6_name:0 "As One" + shadow_magic_tree_1_perk_7_name:0 "Dark Invasion" + shadow_magic_tree_1_perk_8_name:0 "Dark Espionage" + shadow_magic_tree_1_perk_9_name:0 "Shadow Word: Ruin" + + shadow_magic_tree_2_name:0 "Ascendant" + shadow_magic_tree_2_perk_1_name:0 "Shadow Word: Frailty" + shadow_magic_tree_2_perk_2_name:0 "Mutations" + shadow_magic_tree_2_perk_3_name:0 "Misery" + shadow_magic_tree_2_perk_4_name:0 "Hex of Weakness" + shadow_magic_tree_2_perk_5_name:0 "Void Eternal" + shadow_magic_tree_2_perk_6_name:0 "Cursed" + shadow_magic_tree_2_perk_7_name:0 "Dark Pact" + shadow_magic_tree_2_perk_8_name:0 "Shadow Form" + shadow_magic_tree_2_perk_9_name:0 "Void Infusion" + + shadow_magic_tree_3_name:0 "Doombringer" + shadow_magic_tree_3_perk_1_name:0 "Insanity" + shadow_magic_tree_3_perk_2_name:0 "Mental Decay" + shadow_magic_tree_3_perk_3_name:0 "Void Shield" + shadow_magic_tree_3_perk_4_name:0 "Psychic Horror" + shadow_magic_tree_3_perk_5_name:0 "Mindgames" + shadow_magic_tree_3_perk_6_name:0 "Last Word" + shadow_magic_tree_3_perk_7_name:0 "Driven to Madness" + shadow_magic_tree_3_perk_8_name:0 "Void Torrent" + shadow_magic_tree_3_perk_9_name:0 "Surrender to Madness" + + disorder_magic_tree_1_name:0 "Corruptor" + disorder_magic_tree_1_perk_1_name:0 "bruh 1" + disorder_magic_tree_1_perk_2_name:0 "bruh 2" + disorder_magic_tree_1_perk_3_name:0 "bruh 3" + disorder_magic_tree_1_perk_4_name:0 "bruh 4" + disorder_magic_tree_1_perk_5_name:0 "bruh 5" + disorder_magic_tree_1_perk_6_name:0 "bruh 6" + disorder_magic_tree_1_perk_7_name:0 "bruh 7" + disorder_magic_tree_1_perk_8_name:0 "bruh 8" + disorder_magic_tree_1_perk_9_name:0 "bruh 9" + + disorder_magic_tree_2_name:0 "Destructor" + disorder_magic_tree_2_perk_1_name:0 "bruh 1" + disorder_magic_tree_2_perk_2_name:0 "bruh 2" + disorder_magic_tree_2_perk_3_name:0 "bruh 3" + disorder_magic_tree_2_perk_4_name:0 "bruh 4" + disorder_magic_tree_2_perk_5_name:0 "bruh 5" + disorder_magic_tree_2_perk_6_name:0 "bruh 6" + disorder_magic_tree_2_perk_7_name:0 "bruh 7" + disorder_magic_tree_2_perk_8_name:0 "bruh 8" + disorder_magic_tree_2_perk_9_name:0 "bruh 9" + + disorder_magic_tree_3_name:0 "Demonologist" + disorder_magic_tree_3_perk_1_name:0 "bruh 1" + disorder_magic_tree_3_perk_2_name:0 "bruh 2" + disorder_magic_tree_3_perk_3_name:0 "bruh 3" + disorder_magic_tree_3_perk_4_name:0 "bruh 4" + disorder_magic_tree_3_perk_5_name:0 "bruh 5" + disorder_magic_tree_3_perk_6_name:0 "bruh 6" + disorder_magic_tree_3_perk_7_name:0 "bruh 7" + disorder_magic_tree_3_perk_8_name:0 "bruh 8" + disorder_magic_tree_3_perk_9_name:0 "bruh 9" + + order_magic_tree_1_name:0 "Conjurer" + order_magic_tree_1_perk_1_name:0 "Arcane Dialectics" + order_magic_tree_1_perk_2_name:0 "Elemental Synthesis" + order_magic_tree_1_perk_3_name:0 "Arcane Explosion" + order_magic_tree_1_perk_4_name:0 "Quickening" + order_magic_tree_1_perk_5_name:0 "Instantaneous Transmutation" + order_magic_tree_1_perk_6_name:0 "Arcane Missiles" + order_magic_tree_1_perk_7_name:0 "Synergistic Alacrity" + order_magic_tree_1_perk_8_name:0 "Managenesis" + order_magic_tree_1_perk_9_name:0 "Arcane Synthesis" + + order_magic_tree_2_name:0 "Enchanter" + order_magic_tree_2_perk_1_name:0 "Aether Tap" + order_magic_tree_2_perk_2_name:0 "Arcane Shield" + order_magic_tree_2_perk_3_name:0 "Scrying" + order_magic_tree_2_perk_4_name:0 "Spell Hack" + order_magic_tree_2_perk_5_name:0 "Scheme Reflect" + order_magic_tree_2_perk_6_name:0 "Empowered Scrying" + order_magic_tree_2_perk_7_name:0 "Arcane Intellect" + order_magic_tree_2_perk_8_name:0 "Spellsteal" + order_magic_tree_2_perk_9_name:0 "Megascale Abjuration" + + order_magic_tree_3_name:0 "Chronomancer" + order_magic_tree_3_perk_1_name:0 "Buying Time" + order_magic_tree_3_perk_2_name:0 "Magical Procrastination" + order_magic_tree_3_perk_3_name:0 "Celerity" + order_magic_tree_3_perk_4_name:0 "Mirror Image" + order_magic_tree_3_perk_5_name:0 "Master of Time" + order_magic_tree_3_perk_6_name:0 "Presence of Mind" + order_magic_tree_3_perk_7_name:0 "Time Warping" + order_magic_tree_3_perk_8_name:0 "Reverse Causality" + order_magic_tree_3_perk_9_name:0 "Multilayered Enchantments" + + order_magic_tree_4_name:0 "Pyromancer" + order_magic_tree_4_perk_1_name:0 "Scorch" + order_magic_tree_4_perk_2_name:0 "Netherburn" + order_magic_tree_4_perk_3_name:0 "Fire Shield" + order_magic_tree_4_perk_4_name:0 "Pyroblast" + order_magic_tree_4_perk_5_name:0 "Frost Synergy" + order_magic_tree_4_perk_6_name:0 "Flame Armor" + order_magic_tree_4_perk_7_name:0 "Twin Flame" + order_magic_tree_4_perk_8_name:0 "Flamestrike" + order_magic_tree_4_perk_9_name:0 "Master Pyromancer" + + order_magic_tree_5_name:0 "Cryomancer" + order_magic_tree_5_perk_1_name:0 "Frostbolt" + order_magic_tree_5_perk_2_name:0 "Frost Armor" + order_magic_tree_5_perk_3_name:0 "Freeze Time" + order_magic_tree_5_perk_4_name:0 "Icy Veins" + order_magic_tree_5_perk_5_name:0 "Frost Nova" + order_magic_tree_5_perk_6_name:0 "Flame Synergy" + order_magic_tree_5_perk_7_name:0 "Blizzard" + order_magic_tree_5_perk_8_name:0 "Freezerburn" + order_magic_tree_5_perk_9_name:0 "Master Cryomancer" + + life_magic_tree_1_name:0 "Ferocious" + life_magic_tree_1_perk_1_name:0 "bruh 1" + life_magic_tree_1_perk_2_name:0 "bruh 2" + life_magic_tree_1_perk_3_name:0 "bruh 3" + life_magic_tree_1_perk_4_name:0 "bruh 4" + life_magic_tree_1_perk_5_name:0 "bruh 5" + life_magic_tree_1_perk_6_name:0 "bruh 6" + life_magic_tree_1_perk_7_name:0 "bruh 7" + life_magic_tree_1_perk_8_name:0 "bruh 8" + life_magic_tree_1_perk_9_name:0 "bruh 9" + + life_magic_tree_2_name:0 "Adaptable" + life_magic_tree_2_perk_1_name:0 "bruh 1" + life_magic_tree_2_perk_2_name:0 "bruh 2" + life_magic_tree_2_perk_3_name:0 "bruh 3" + life_magic_tree_2_perk_4_name:0 "bruh 4" + life_magic_tree_2_perk_5_name:0 "bruh 5" + life_magic_tree_2_perk_6_name:0 "bruh 6" + life_magic_tree_2_perk_7_name:0 "bruh 7" + life_magic_tree_2_perk_8_name:0 "bruh 8" + life_magic_tree_2_perk_9_name:0 "bruh 9" + + life_magic_tree_3_name:0 "Tranquil" + life_magic_tree_3_perk_1_name:0 "bruh 1" + life_magic_tree_3_perk_2_name:0 "bruh 2" + life_magic_tree_3_perk_3_name:0 "bruh 3" + life_magic_tree_3_perk_4_name:0 "bruh 4" + life_magic_tree_3_perk_5_name:0 "bruh 5" + life_magic_tree_3_perk_6_name:0 "bruh 6" + life_magic_tree_3_perk_7_name:0 "bruh 7" + life_magic_tree_3_perk_8_name:0 "bruh 8" + life_magic_tree_3_perk_9_name:0 "bruh 9" + + death_magic_tree_1_name:0 "Reanimator" + death_magic_tree_1_perk_1_name:0 "Restless Soul" + death_magic_tree_1_perk_2_name:0 "Soulless Spell" + death_magic_tree_1_perk_3_name:0 "Frost Presence" + death_magic_tree_1_perk_4_name:0 "Death Aura" + death_magic_tree_1_perk_5_name:0 "All Will Serve" + death_magic_tree_1_perk_6_name:0 "Eternal Suffering" + death_magic_tree_1_perk_7_name:0 "Death Pact" + death_magic_tree_1_perk_8_name:0 "Fleshcrafting" + death_magic_tree_1_perk_9_name:0 "Apocalypse" + + death_magic_tree_2_name:0 "Deathbringer" + death_magic_tree_2_perk_1_name:0 "Taint of Undeath" + death_magic_tree_2_perk_2_name:0 "Anti-Magic Barrier" + death_magic_tree_2_perk_3_name:0 "Rotten Lands" + death_magic_tree_2_perk_4_name:0 "Death's Advance" + death_magic_tree_2_perk_5_name:0 "Unholy Ground" + death_magic_tree_2_perk_6_name:0 "Inner Rot" + death_magic_tree_2_perk_7_name:0 "Dark Transformation" + death_magic_tree_2_perk_8_name:0 "Necrosis" + death_magic_tree_2_perk_9_name:0 "Wandering Plague" + + death_magic_tree_3_name:0 "Hematurge" + death_magic_tree_3_perk_1_name:0 "Blood Presence" + death_magic_tree_3_perk_2_name:0 "Blood Boil" + death_magic_tree_3_perk_3_name:0 "Blood Siphon" + death_magic_tree_3_perk_4_name:0 "Vampiric Aura" + death_magic_tree_3_perk_5_name:0 "Blood Gorged" + death_magic_tree_3_perk_6_name:0 "No Breath" + death_magic_tree_3_perk_7_name:0 "Mark of Blood" + death_magic_tree_3_perk_8_name:0 "Supernatural Beauty" + death_magic_tree_3_perk_9_name:0 "Bindings of Crimson" + + elemental_fire_magic_tree_1_name:0 "Hearthkeeper" + elemental_fire_magic_tree_1_perk_1_name:0 "Spirit Kindling" + elemental_fire_magic_tree_1_perk_2_name:0 "Pyromania" + elemental_fire_magic_tree_1_perk_3_name:0 "Hearth Blessing" + elemental_fire_magic_tree_1_perk_4_name:0 "Warm Hospitality" + elemental_fire_magic_tree_1_perk_5_name:0 "Salamander's Glare" + elemental_fire_magic_tree_1_perk_6_name:0 "Therapeutic Heat" + elemental_fire_magic_tree_1_perk_7_name:0 "Flares" + elemental_fire_magic_tree_1_perk_8_name:0 "Greater Heat" + elemental_fire_magic_tree_1_perk_9_name:0 "Summer Solstice" + + elemental_fire_magic_tree_2_name:0 "Magmamancer" + elemental_fire_magic_tree_2_perk_1_name:0 "Living Flame" + elemental_fire_magic_tree_2_perk_2_name:0 "Controlled Burn" + elemental_fire_magic_tree_2_perk_3_name:0 "Animate Rage" + elemental_fire_magic_tree_2_perk_4_name:0 "Magma Control" + elemental_fire_magic_tree_2_perk_5_name:0 "Feedback" + elemental_fire_magic_tree_2_perk_6_name:0 "Flaming Projectiles" + elemental_fire_magic_tree_2_perk_7_name:0 "Animate Vengence" + elemental_fire_magic_tree_2_perk_8_name:0 "Inferno Tactics" + elemental_fire_magic_tree_2_perk_9_name:0 "Planar Fire" + + elemental_water_magic_tree_1_name:0 "Aquamancer" + elemental_water_magic_tree_1_perk_1_name:0 "Living Water" + elemental_water_magic_tree_1_perk_2_name:0 "Hurricane" + elemental_water_magic_tree_1_perk_3_name:0 "Aquatic Bounty" + elemental_water_magic_tree_1_perk_4_name:0 "Healing Springs" + elemental_water_magic_tree_1_perk_5_name:0 "Raging Rivers" + elemental_water_magic_tree_1_perk_6_name:0 "bruh 6" + elemental_water_magic_tree_1_perk_7_name:0 "Siren's Call" + elemental_water_magic_tree_1_perk_8_name:0 "Tidal Manipulation" + elemental_water_magic_tree_1_perk_9_name:0 "bruh 9" + + elemental_water_magic_tree_2_name:0 "Frostbiter" + elemental_water_magic_tree_2_perk_1_name:0 "Living Frost" + elemental_water_magic_tree_2_perk_2_name:0 "Spirit of Entropy" + elemental_water_magic_tree_2_perk_3_name:0 "Blessed Ice" + elemental_water_magic_tree_2_perk_4_name:0 "Best Served Cold" + elemental_water_magic_tree_2_perk_5_name:0 "Lorelei's Fist" + elemental_water_magic_tree_2_perk_6_name:0 "Cold Storage" + elemental_water_magic_tree_2_perk_7_name:0 "Hibernation" + elemental_water_magic_tree_2_perk_8_name:0 "Ice Structure" + elemental_water_magic_tree_2_perk_9_name:0 "Eternal Winter" + + elemental_air_magic_tree_1_name:0 "Windcaller" + elemental_air_magic_tree_1_perk_1_name:0 "bruh 1" + elemental_air_magic_tree_1_perk_2_name:0 "bruh 2" + elemental_air_magic_tree_1_perk_3_name:0 "bruh 3" + elemental_air_magic_tree_1_perk_4_name:0 "bruh 4" + elemental_air_magic_tree_1_perk_5_name:0 "bruh 5" + elemental_air_magic_tree_1_perk_6_name:0 "bruh 6" + elemental_air_magic_tree_1_perk_7_name:0 "bruh 7" + elemental_air_magic_tree_1_perk_8_name:0 "bruh 8" + elemental_air_magic_tree_1_perk_9_name:0 "bruh 9" + + elemental_air_magic_tree_2_name:0 "Thunderer" + elemental_air_magic_tree_2_perk_1_name:0 "bruh 1" + elemental_air_magic_tree_2_perk_2_name:0 "bruh 2" + elemental_air_magic_tree_2_perk_3_name:0 "bruh 3" + elemental_air_magic_tree_2_perk_4_name:0 "bruh 4" + elemental_air_magic_tree_2_perk_5_name:0 "bruh 5" + elemental_air_magic_tree_2_perk_6_name:0 "bruh 6" + elemental_air_magic_tree_2_perk_7_name:0 "bruh 7" + elemental_air_magic_tree_2_perk_8_name:0 "bruh 8" + elemental_air_magic_tree_2_perk_9_name:0 "bruh 9" + + elemental_earth_magic_tree_1_name:0 "Stonemason" + elemental_earth_magic_tree_1_perk_1_name:0 "bruh 1" + elemental_earth_magic_tree_1_perk_2_name:0 "bruh 2" + elemental_earth_magic_tree_1_perk_3_name:0 "bruh 3" + elemental_earth_magic_tree_1_perk_4_name:0 "bruh 4" + elemental_earth_magic_tree_1_perk_5_name:0 "bruh 5" + elemental_earth_magic_tree_1_perk_6_name:0 "bruh 6" + elemental_earth_magic_tree_1_perk_7_name:0 "bruh 7" + elemental_earth_magic_tree_1_perk_8_name:0 "bruh 8" + elemental_earth_magic_tree_1_perk_9_name:0 "bruh 9" + + elemental_earth_magic_tree_2_name:0 "Earthshaker" + elemental_earth_magic_tree_2_perk_1_name:0 "bruh 1" + elemental_earth_magic_tree_2_perk_2_name:0 "bruh 2" + elemental_earth_magic_tree_2_perk_3_name:0 "bruh 3" + elemental_earth_magic_tree_2_perk_4_name:0 "bruh 4" + elemental_earth_magic_tree_2_perk_5_name:0 "bruh 5" + elemental_earth_magic_tree_2_perk_6_name:0 "bruh 6" + elemental_earth_magic_tree_2_perk_7_name:0 "bruh 7" + elemental_earth_magic_tree_2_perk_8_name:0 "bruh 8" + elemental_earth_magic_tree_2_perk_9_name:0 "bruh 9" + + action_lifestyle_light_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_shadow_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_disorder_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_order_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_life_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_death_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_elemental_fire_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_elemental_water_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_elemental_air_magic:0 "$action_can_spend_perk_point$" + action_lifestyle_elemental_earth_magic:0 "$action_can_spend_perk_point$" + + action_lifestyle_light_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_shadow_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_disorder_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_order_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_life_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_death_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_elemental_fire_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_elemental_water_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_elemental_air_magic_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_elemental_earth_magic_label:0 "$action_can_spend_perk_point_label$" + + action_lifestyle_light_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_shadow_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_disorder_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_order_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_life_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_death_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_elemental_fire_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_elemental_water_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_elemental_air_magic_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_elemental_earth_magic_desc:0 "$action_can_spend_perk_point_desc$" + + action_lifestyle_light_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_shadow_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_disorder_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_order_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_life_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_death_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_elemental_fire_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_elemental_water_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_elemental_air_magic_click:0 "$action_can_spend_perk_point_click$" + action_lifestyle_elemental_earth_magic_click:0 "$action_can_spend_perk_point_click$" + + monthly_light_magic_lifestyle_xp_gain_mult:0 "Monthly Light Magic [lifestyle|E] Experience" + monthly_shadow_magic_lifestyle_xp_gain_mult:0 "Monthly Shadow Magic [lifestyle|E] Experience" + monthly_disorder_magic_lifestyle_xp_gain_mult:0 "Monthly Fel Magic [lifestyle|E] Experience" + monthly_order_magic_lifestyle_xp_gain_mult:0 "Monthly Arcane Magic [lifestyle|E] Experience" + monthly_life_magic_lifestyle_xp_gain_mult:0 "Monthly Nature Magic [lifestyle|E] Experience" + monthly_death_magic_lifestyle_xp_gain_mult:0 "Monthly Death Magic [lifestyle|E] Experience" + monthly_elemental_fire_magic_lifestyle_xp_gain_mult:0 "Monthly Fire Magic [lifestyle|E] Experience" + monthly_elemental_water_magic_lifestyle_xp_gain_mult:0 "Monthly Water Magic [lifestyle|E] Experience" + monthly_elemental_air_magic_lifestyle_xp_gain_mult:0 "Monthly Air Magic [lifestyle|E] Experience" + monthly_elemental_earth_magic_lifestyle_xp_gain_mult:0 "Monthly Earth Magic [lifestyle|E] Experience" + + get_wc_mag_lif_hl_magicgood_3:0 "[GetTrait('magic_good_3').GetName( ROOT.Char )]" + get_wc_mag_lif_hl_magicgood_2:0 "[GetTrait('magic_good_2').GetName( ROOT.Char )]" + get_wc_mag_lif_hl_magicgood_1:0 "[GetTrait('magic_good_1').GetName( ROOT.Char )]" + get_wc_mag_lif_hl_magicgood_noninheritable:0 "[GetTrait('magic_good_noninheritable').GetName( ROOT.Char )]" + + friend_hired_court_mage:0 "[CHARACTER.GetShortUIName|U] hired [TARGET_CHARACTER.GetShortUIName] as court mage." # todo: localize further + friend_hired_court_mage_corresponding:0 "[TARGET_CHARACTER.GetShortUIName|U] hired [CHARACTER.GetShortUIName] as court physician." + + wc_netherburn_effect:0 "Once a year, enemies you cast [wc_spell_school_order|E] [wc_spells|E] at have a chance to become [GetTrait('burned_1').GetName( GetNullCharacter )]" + wc_netherburn_triggered:0 "Netherburned!" + wc_netherburn_tt:0 "Your [GetPerk( 'order_magic_tree_4_perk_2' ).GetName( GetNullCharacter )] perk has caused [current_target_character.GetShortUIName] to become [GetTrait('burned_1').GetName( GetNullCharacter )]" + wc_frost_synergy_effect:0 "When you cast a Cryomancy [wc_spell|E], your next Pyromancy spell costs #P 50%#! less mana" + wc_flame_synergy_effect:0 "When you cast a Pyromancy [wc_spell|E], your next Cryomancy spell costs #P 50%#! less mana" + wc_flame_armor_effect:0 "Your [wc_spell_fire_shield|E] also apply to the [army|E] you command" + wc_icy_veins_effect:0 "When you cast a Cryomancy spell, your next [Concept('wc_spell_frostbolt', 'Frostbolt’s')] cast time is halved" + wc_freezerburn_burned_effect:0 "Your spell targets with the [GetTrait('burned_1').GetName( GetPlayer )] wound are more susceptible to the [GetTrait('frostbite_1').GetName( GetPlayer )] wound" + wc_freezerburn_frostbite_effect:0 "Your spell targets with the [GetTrait('frostbite_1').GetName( GetPlayer )] wound are more susceptible to the [GetTrait('burned_1').GetName( GetPlayer )] wound" + wc_arcane_elemental_final_perk_exclusive:0 "@warning_icon!#X You can only pick one Master Elemental Perk#!" + wc_twin_flame_effect:0 "When you cast [wc_spell_fire_shield|E] targeting yourself, you may choose a [spouse|E], [friend|E], [best_friend|E], or [lover|E] to also gain Fire Shield" + wc_freeze_time_effect:0 "After you cast a Frost spell, your next Chronomancy [wc_spells|E] has an increased duration based on the Frost spell's mana cost" + + wc_arcane_dialectics_effect:0 "When [wc_mana|E] is above 50%:\n$BULLET_WITH_TAB$$wc_available_mana_to_prowess_modifier_line$[EmptyScope.ScriptValue('wc_arcane_dialectics_current_mana_to_prowess_value')|0%=+]" + wc_elemental_synthesis_effect:0 "Unlocks the Pyromancer and Cryomancer trees if you also have the [GetFocus('order_magic_focus_1').GetName]" + wc_spell_hack_effect:0 "The next time you open your spellbook, you will able to pick a non-order, [wc_spell|E] to learn.\n@warning_icon!#warning You can still get punished for using the spell if it goes against your [faith|E]'s Magic Doctrines.#!" + wc_spell_hack_tt:0 "Learn some non-ritual, arcane, or dispel [wc_spell|E] for free using the [GetDecisionWithKey('wc_spell_hack_decision').GetName] decision." + wc_aether_tap_effect:0 "Gain some [wc_mana|E] when you or a [courtier|E] have a [wc_spell|E] cast on them. You cannot gain mana from your own spells." + wc_aether_tap_title:0 "Aether Tap!" + wc_mirror_image_effect:0 "Likelihood of your [knights|E] dying in [battle|E]: #P -5%#!" + wc_arcane_intellect_effect:0 "Gain the opportunity to permanently boost one of your main [skills|E] by a small amount" + wc_scheme_reflect_effect:0 "Once every 10 years you can reflect a hostile [scheme|E] to a target of your choice" + wc_quickening_effect:0 "All non-elemental [wc_spell_school_order|E] [wc_spells|E] give the [GetModifier('wc_quickening_modifier').GetNameWithTooltip] for #V 1 Month#!" + wc_synergistic_alacrity_effect:0 "[GetPerk('order_magic_tree_1_perk_4').GetName( GetPlayer )] now applies to elemental [wc_spell_school_order|E] [wc_spells|E]" + wc_empowered_scrying:0 "[wc_spell_scry|E] also gives hostile and personal [scheme|E] success chance" + wc_time_warping_effect:0 "The duration of [wc_spell|E] [modifiers|E] restored by [wc_spell_chronomancy|E] is doubled" + wc_presence_of_mind_effect:0 "Once a year you can halve the cooldown of a non-ritual [wc_spell|E] using the [GetDecisionWithKey('activate_presence_of_mind_decision').GetName] and the spellbook" + wc_reverse_causality_effect:0 "Once every five years you can put one of your [wc_spells|E] on cooldown and increase your available mana by 10% of its total for each year of cooldown using the [GetDecisionWithKey('activate_reverse_causality_decision').GetName] and the spellbook" + + wc_divine_service_effect:0 "[court_chaplain|E] tasks are given a #P +0.5#! progress bonus" + wc_echo_of_light_effect:0 "When you cast a friendly light spell on a character, the character has a 75% chance of gaining [GetModifier('wc_echo_of_light_modifier').GetNameWithTooltip] for #V 3#! months" + wc_struggle_effect:0 "@wc_stat_mana_icon! [wc_available_mana_to_stat|E]: #P +1%#!\nGeneral [wc_magic_resistance|E] #P +1#!" + light_magic_tree_2_perk_2_PERK_DESC:0 "[GetPerk('light_magic_tree_2_perk_2').GetName( GetNullCharacter )]" + wc_seal_of_command:0 "Casting a [wc_spell_school_light|E] spell has a 10% chance of granting #P 10#! [legitimacy|E]" + wc_seal_of_command_title:0 "Seal of Command" + wc_virtue_tooltip: "Increased @wc_stat_mana_icon! [wc_available_mana_to_stat|E]\n\nYour associates are more likely to defend you when a magic secret is revealed." + wc_inner_fire_tooltip: "Maximum @wc_full_mana_icon! [wc_mana|E]: #P +10#!" + light_magic_tree_3_perk_4_PERK_DESC:0 "[GetPerk('light_magic_tree_3_perk_4').GetName( GetNullCharacter )]" + wc_final_stand_tooltip: "Upon your death, your [primary_heir|E] will receive:\n$BULLET_WITH_TAB$@legitimacy_icon! #P 300#! [legitimacy|E]\n$BULLET_WITH_TAB$@piety_icon! #P 1000#! [piety|E]\n$BULLET_WITH_TAB$@prestige_icon! #P 1000#! [prestige|E]\n$BULLET_WITH_TAB$[GetModifier('important_lore_character').GetNameWithTooltip] for #V 1#! year\nTheir [faith|E] will also gain #P 3#! [fervor|E]" + wc_blessed_blood_tooltip:0 "Your [primary_heir|E] will also gain [GetModifier('wc_blessed_blood_modifier').GetNameWithTooltip] for #V 10#! years." + fervor_gain_final_stand:0 "Final Stand" + + wc_frost_presence_effect:0 "Unlocks the [wc_spell_school_order|E] Cryomancer tree" + wc_frost_fever_disease_effect:0 "Can give [GetTrait('frost_fever').GetName(GetNullCharacter)] with [wc_spell_give_disease|E] and [wc_spell_epidemic|E]" + wc_blood_boil_disease_effect:0 "Can give [GetTrait('blood_plague').GetName(GetNullCharacter)] with [wc_spell_give_disease|E] and [wc_spell_epidemic|E]" + wc_fleshcrafting_effect:0 "[wc_spell_raise_dead|E] grants extra [skills|E] to your undead" + wc_deaths_advance_tooltip:0 "Your [GetTrait('being_undead').GetName( GetNullCharacter )] [knights|E] gain #P +5#! [prowess|E]" + wc_blood_siphon_effect:0 "Killing an enemy in battle has a chance to remove a [wc_injury|E]" + wc_vampiric_aura_effect:0 "Likelihood being injured in [battle|E]: #P -50%#!" + wc_vampiric_aura_raise_effect:0 "Can create [GetTrait('creature_vampire').GetName(GetNullCharacter)]s with [wc_spell_raise_dead|E]" + wc_rotten_lands_raise_effect:0 "Can create [GetTrait('creature_ghoul').GetName(GetNullCharacter)]s with [wc_spell_raise_dead|E]" + wc_eternal_suffering_raise_effect:0 "Can create [GetTrait('creature_banshee').GetName(GetNullCharacter)]s with [wc_spell_raise_dead|E]" + wc_fleshcrafting_raise_effect:0 "Can create [GetTrait('creature_abomination').GetName(GetNullCharacter)]s with [wc_spell_raise_dead|E]" + wc_blood_presence_effect:0 "@wc_stat_mana_icon! [wc_available_mana_to_stat|E]: #P +1%#!" + wc_unholy_ground_effect:0 "@wc_stat_mana_icon! [wc_available_mana_to_stat|E]: #P +1%#! for every #V 5#! [counties|E] with [GetModifier('county_corruption_death_modifier').GetNameWithTooltip]" + wc_unholy_ground_disease_effect:0 "Can give [GetTrait('crypt_fever').GetName(GetNullCharacter)] with [wc_spell_give_disease|E] and [wc_spell_epidemic|E]" + wc_blood_gorged_effect:0 "Having low [health|E] or having a [wc_injury|E], [wc_major_injury|E], or [wc_magic_injury|E] increases your @wc_stat_mana_icon! [wc_available_mana_to_stat|E] by #P +3%#!" + wc_death_pact_effect:0 "Whenever one of your [knights|E] die in [battle|E] you and your knights with the [GetTrait('being_undead').GetName(GetNullCharacter)] [trait|E] gain @wc_full_mana_icon!#P +20%#! [wc_mana_regeneration|E]" + wc_anti_magic_barrier_effect:0 "Slightly increase overall magic resistance. Scales based on [wc_available_mana_to_stat|E] and [intrigue|E] or [learning|E], whichever is higher.\n$BULLET_WITH_TAB$Current Bonus: [GetPlayer.MakeScope.ScriptValue('wc_anti_magic_barrier_resistance_value')|P]" + wc_mark_of_blood_effect:0 "When in [battle|E] you have a small chance to inflict a minor [advantage|E] or [prowess|E] malus to your opponents" + wc_eternal_suffering_effect:0 "Those you [torture|E] have a chance to gain an additional [prowess|E] upon being raised with [wc_spell_raise_dead|E], to a maximum of #V 5#!" + wc_eternal_suffering_torture_effect:0 "[recipient.GetShortUIName] will gain #P +1#! [prowess|E] upon being raised with [wc_spell_raise_dead|E] #weak (Currently [recipient.MakeScope.ScriptValue('eternal_suffering_value')|P0+=])#!" + wc_necrosis_effect:0 "Your diseases from [wc_spell_give_disease|E] and [wc_spell_epidemic|E] have a #V 10%#! chance to inflict [GetTrait('wounded_1').GetName( GetNullCharacter )]" + + wc_hurricane_effect:0 "After casting an Air spell targeting a province, your next Water spell targeting that province costs #P 10%#! less mana and has a #P 10%#! shorter cast time" + wc_aquatic_bounty_effect:0 "Gain a large permanent boost to [development|E] in either the coastal or the riverside provinces in your realm" + wc_sirens_call_effect:0 "Casting [wc_spell_river_spirits_rage|E] will also grant your target [GetModifier('wc_sirens_call_modifier').GetNameWithTooltip|L]" + wc_blessed_ice_effect:0 "The final rewards from [GetActivityType('activity_feast').GetTextIcon][GetActivityType('activity_feast').GetName] is doubled" + wc_best_served_cold_effect:0 "The mana cost and cooldown of [wc_spell_school_elemental_water|E] [wc_spells|E] is reduced by #P 10%#! against [rivals|E] and those who have recently been revealed to have a [hostile_scheme|E] against you" + wc_spirit_of_entropy_spirit_effect:0 "Spirit: Mana cost and chance to hit is increased for [wc_spell_school_life|E] [wc_spells|E] during winter" + wc_spirit_of_entropy_decay_effect:0 "Decay: Mana cost and chance to hit is increased for [wc_spell_school_death|E] [wc_spells|E] during winter" + wc_hibernation_effect:0 "Gain the ability to [GetDecisionWithKey('go_into_hibernation_decision').GetName], gaining the [GetTrait('hibernation').GetName(GetNullCharacter)] [trait|E] and healing one [wc_injury|E] or [wc_poison|E]" + wc_cold_storage_effect:0 "Gain a #P 20%#! reduction to [artifact|E] decay in winter, or a #P 10%#! reduction during other seasons" + + shadow_magic_tree_1_perk_2_effect_tt: "Any rival or potential rival will be more susceptible to your spells." + shadow_magic_tree_1_perk_2_effect_death: "If you know [wc_spell_epidemic|E], you can start a [GetTrait('void_sickness').GetName( GetNullCharacter )] [epidemic|E]." + dark_insights_tt: "Gain access to the [GetDecisionWithKey('eldritch_communion_decision').GetName] Decision" + wc_dark_bargain_tt: "When reaching low [wc_mana|E], you gain access to the [GetDecisionWithKey('dark_bargain_decision').GetName] decision" + wc_dark_bargain_trigger: "You have less than #V 10%#! of your maximum [wc_mana|E]" + wc_dark_invasion_tt: "Upon calling an offensive [war|E], all of your [knights|E] will gain 3 [prowess|E]. This can only happen once every #V 10#! years." + dark_invasion_title: "Dark Invasion" + shadow_magic_tree_2_perk_4_tt:0 "For each level of [stress|E] you have, spells cost #P 10%#! less mana." + shadow_magic_tree_2_perk_4_desc:0 "[GetPerk('shadow_magic_tree_2_perk_4').GetName( GetNullCharacter )]" + + shadow_magic_tree_2_perk_5_tt: "Maximum @wc_full_mana_icon! [wc_mana|E]: #P +15%#!" + shadow_magic_tree_2_perk_5_desc:0 "[GetPerk('shadow_magic_tree_2_perk_5').GetName( GetNullCharacter )]" + shadow_magic_tree_2_perk_7_tt: "You may now make a prisoner temporarily [GetTrait('incapable').GetName( GetNullCharacter )] in exchange for release." + RELEASE_LOBOTOMY: "Lobotomize" + lobotomized_family_member:0 "Lobotomized Family Member" + lobotomized_me:0 "Lobotomized Me" + lobotomized_tooltip:0 "Will lose [GetTrait('incapable').GetName( GetNullCharacter )] in 3-12 months" + + prison.1050.t:0 "Lobotomized" + prison.1050.cruel.desc: ""Something I've always admired about you [recipient.GetFirstName]", I smirk, "is your ability to make the most out of adverse circumstances. You always seem to make more with less — even with your mind failing..."" + prison.1050.compassionate.desc: ""[recipient.GetFirstName], I want you to know I take no pleasure in this. I am forced to lobotomize you. For the stability of the realm."" + prison.1050.a: "My... my sanity? No, you can't, #EMP you can't!#!" + prison.1051.cruel.desc: "The pleased look on [actor.GetHerHis] face sends a shiver up my spine.\n\n""Something I've always admired about you [recipient.GetFirstName]", [actor.GetSheHe] smirks, "is your ability to make the most out of adverse circumstances. You always seem to make more with less — even with your mind failing..."" + prison.1051.tt: "You will regain your mind in 3-12 months." + shadow_form_tt:0 "Enhance your genetics using the [GetDecisionWithKey('activate_shadow_form_decision').GetName] decision" + void_shield_tt:0 "Any harmful spell cast against you has a 25% chance of invoking a longer cooldown for the caster" + wc_void_shield_title: "Void Shield" + wc_void_shield_tt: "Because of [current_target_character.GetNamePossessive] shadow magic, your spell has a longer cooldown." + shadow_magic_tree_3_perk_4_tt: "[wc_spell_insanity|E] has a small chance of giving the arget the [GetTrait('lunatic_1').GetName( GetNullCharacter )] [trait|E]" + shadow_magic_tree_3_perk_7_tt: "[wc_spell_insanity|E] has a chance to also [wc_spell_silence|E] the target" + shadow_magic_tree_3_perk_8_tt:0 "[wc_spell_mind_blast|E] has a chance to give you a [hook|E] on the target" + + wc_greater_heat_tt:0 "Unlocks the [wc_spell_school_order|E] Pyromancer tree" \ No newline at end of file diff --git a/localization/english/wc_regiment_l_english.yml b/localization/english/wc_regiment_l_english.yml index 207a539a4f..2ddf698133 100644 --- a/localization/english/wc_regiment_l_english.yml +++ b/localization/english/wc_regiment_l_english.yml @@ -35,7 +35,7 @@ ###Cultural MaA ##Tribal - abomination:0 "Abominations" + abomination_maa:0 "Abominations" unlock_maa_abomination:0 "Can recruit [GetMaA('abomination').GetName] as [men_at_arms|E]" archmage:0 "Archmagi" unlock_maa_archmage:0 "Can recruit [GetMaA('archmage').GetName] as [men_at_arms|E]" @@ -57,7 +57,7 @@ unlock_maa_dire_troll:0 "Can recruit [GetMaA('dire_troll').GetName] as [men_at_arms|E]" dragon:0 "Dragons" unlock_maa_dragon:0 "Can recruit [GetMaA('dragon').GetName] as [men_at_arms|E]" - ghoul:0 "Ghouls" + ghoul_maa:0 "Ghouls" unlock_maa_ghoul:0 "Can recruit [GetMaA('ghoul').GetName] as [men_at_arms|E]" gladiator:0 "Gladiators" unlock_maa_gladiator:0 "Can recruit [GetMaA('gladiator').GetName] as [men_at_arms|E]" @@ -179,7 +179,7 @@ ###Cultural MaA Descriptions ##Tribal - abomination_flavor:0 "#F Our creation of the abomination has provided us with an impossibly powerful and durable soldier. Lesser minds might reject them on grounds of 'morals', but we know their value." + abomination_maa_flavor:0 "#F Our creation of the abomination has provided us with an impossibly powerful and durable soldier. Lesser minds might reject them on grounds of 'morals', but we know their value." archmage_flavor:0 "#F Archmagi are capable of extraordinary feats of magic, and are a formidable asset to any army." blademaster_flavor:0 "#F Orcish blademasters have mastered the study of their chosen weapon to a level that is unparalleled, being powerful combatants and skilled duelists." buccaneer_flavor:0 "#F Being pirates, sailors, and mariners, buccaneers may be the most at home when sailing the seas, but their skill at warfare is not inconsiderable when on dry land." @@ -190,7 +190,7 @@ dervishes_flavor:0 "#F Raiders, bandits, and fearsome warriors, the Wastewander Dervishes are a force that have taken the desert and made it their own." dire_troll_flavor:0 "#F Strikingly large and powerful trolls, there are few who can match a dire troll in raw strength, leading to their reputation as elite warriors." dragon_flavor:0 "#F Forged by the titans, wielders of incredible powers, and rulers of the sky. Only a fool would dare challenge a dragon." - ghoul_flavor:0 "#F Ghouls are undead acting as the shock troops for the Scourge. These lumbering, rotting corpses were once innocent townsfolk who have made the final transition into true undeath." + ghoul_maa_flavor:0 "#F Ghouls are undead acting as the shock troops for the Scourge. These lumbering, rotting corpses were once innocent townsfolk who have made the final transition into true undeath." gladiator_flavor:0 "#F Gladiators are raised and trained for life and battle in the arena. This allows them to bring their superior tactics to bear on the battlefield as well." hag_maa_flavor:0 "#F The vicious hags of the tribes are proficient in many of the shamanic spells associated with wind magic. Unleashing these powers on their enemies brings confusion and chaos to their ranks, allowing for lightning-fast attacks and equally fast retreats." hexer_flavor:0 "#F Many know of the spirits, but few can manipulate them with the ease of the hexers. They are capable of debilitating and weakening foes through the invocation of chants, dances, and idols. For all their importance, however, they are somewhat unnerving to be around." @@ -301,8 +301,8 @@ unlock_maa_webspinner:0 "Can recruit [GetMaA('webspinner').GetName] as [men_at_arms|E]" #Early Medieval - banshee:0 "Banshees" - banshee_flavor:0 "#F Among the undead, Banshees are possibly the most feared, given their ability to possess the bodies of others. Even in their natural form, Banshees are a terrifying force, wielding magic and a bloodcurdling scream that can incapacitate their enemies." + banshee_maa:0 "Banshees" + banshee_maa_flavor:0 "#F Among the undead, Banshees are possibly the most feared, given their ability to possess the bodies of others. Even in their natural form, Banshees are a terrifying force, wielding magic and a bloodcurdling scream that can incapacitate their enemies." unlock_maa_banshee:0 "Can recruit [GetMaA('banshee').GetName] as [men_at_arms|E]" infernal:0 "Infernals" @@ -352,3 +352,14 @@ gorian_chariot:0 "Gorian Chariots" gorian_chariot_flavor:0 "#F They are large, heavily armored chariots that are typically pulled by two powerful beasts, such as dire wolves or clefthoofs. Gorian Chariots were commonly used by races of Draenor." unlock_maa_gorian_chariot:0 "Can recruit [GetMaA('gorian_chariot').GetName] as [men_at_arms|E]" + + # Magic + fire_elemental:0 "$game_concept_fire_elemental$" + fire_elemental_flavor:0 "$game_concept_fire_elemental_desc$" + fire_terrestrial:0 "$game_concept_fire_terrestrial$" + fire_terrestrial_flavor:0 "$game_concept_fire_terrestrial_desc$" + fire_tempest:0 "$game_concept_fire_tempest$" + fire_tempest_flavor:0 "$game_concept_fire_tempest_desc$" + + water_elemental:0 "$game_concept_water_elemental$" + water_elemental_flavor:0 "$game_concept_water_elemental_desc$" \ No newline at end of file diff --git a/localization/english/wc_secrets_l_english.yml b/localization/english/wc_secrets_l_english.yml new file mode 100644 index 0000000000..935349ea5d --- /dev/null +++ b/localization/english/wc_secrets_l_english.yml @@ -0,0 +1,59 @@ +l_english: + +#Secret Magic User secrets +secret_light_magic_user:0 "Light Magic User" +secret_shadow_magic_user:0 "Shadow Magic User" +secret_order_magic_user:0 "Order Magic User" +secret_disorder_magic_user:0 "Disorder Magic User" +secret_life_magic_user:0 "Life Magic User" +secret_death_magic_user:0 "Death Magic User" +secret_elemental_fire_magic_user:0 "Elemental Fire Magic User" +secret_elemental_water_magic_user:0 "Elemental Magic Water User" +secret_elemental_air_magic_user:0 "Elemental Magic Air User" +secret_elemental_earth_magic_user:0 "Elemental Magic Earth User" + +secret_light_magic_user_desc:0 "Secret User of Light Magic" +secret_shadow_magic_user_desc:0 "Secret User of Shadow Magic" +secret_life_magic_user_desc:0 "Secret User of life Magic" +secret_death_magic_user_desc:0 "Secret User of Death Magic" +secret_order_magic_user_desc:0 "Secret User of Order Magic" +secret_disorder_magic_user_desc:0 "Secret User of Disorder Magic" +secret_elemental_fire_magic_user_desc:0 "Secret User of Elemental Fire Magic" +secret_elemental_water_magic_user_desc:0 "Secret User of Elemental Water Magic" +secret_elemental_air_magic_user_desc:0 "Secret User of Elemental Air Magic" +secret_elemental_earth_magic_user_desc:0 "Secret User of Elemental Earth Magic" + +secret_light_magic_user_type_desc:0 "This individual consorts with the cosmic forces of Light." +secret_shadow_magic_user_type_desc:0 "This individual consorts with the cosmic forces of Shadow." +secret_life_magic_user_type_desc:0 "This individual consorts with the cosmic forces of Life" +secret_death_magic_user_type_desc:0 "This individual consorts with the cosmic forces of Death" +secret_order_magic_user_tooltip_type_desc:0 "This individual consorts with the cosmic forces of Order" +secret_disorder_magic_user_type_desc:0 "This individual consorts with the cosmic forces of Disorder" +secret_elemental_fire_magic_user_type_desc:0 "This individual consorts with the elemental forces of Fire" +secret_elemental_water_magic_user_type_desc:0 "This individual consorts with the elemental forces of Water" +secret_elemental_air_magic_user_type_desc:0 "This individual consorts with the elemental forces of Air" +secret_elemental_earth_magic_user_type_desc:0 "This individual consorts with the elemental forces of Earth" + +secret_light_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Light." +secret_shadow_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Shadow." +secret_life_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Life" +secret_death_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Death" +secret_order_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Order" +secret_disorder_magic_user_tooltip_desc:0 "This individual consorts with the cosmic forces of Disorder" +secret_elemental_fire_magic_user_tooltip_desc:0 "This individual consorts with the elemental forces of Fire" +secret_elemental_water_magic_user_tooltip_desc:0 "This individual consorts with the elemental forces of Water" +secret_elemental_air_magic_user_tooltip_desc:0 "This individual consorts with the elemental forces of Air" +secret_elemental_earth_magic_user_tooltip_desc:0 "This individual consorts with the elemental forces of Earth" + +secret_light_magic_user.colloquialism:0 "blasphemously subservient to the forces of Light" +secret_shadow_magic_user.colloquialism:0 "a blasphemous follower of Shadow" +secret_order_magic_user.colloquialism:0 "a blasphemos meddler in Arcane forces" +secret_disorder_magic_user.colloquialism:0 "blasphemously consorting with Demonic magics" +secret_life_magic_user.colloquialism:0 "blasphemously subservient to the forces of Life" +secret_death_magic_user.colloquialism:0 "a vile and blasphemous Necromancer" +secret_elemental_fire_magic_user.colloquialism:0 "blapsphemously consorting with fire elementals" +secret_elemental_water_magic_user.colloquialism:0 "blapsphemously consorting with water elementals" +secret_elemental_air_magic_user.colloquialism:0 "blapsphemously consorting with air elementals" +secret_elemental_earth_magic_user.colloquialism:0 "blapsphemously consorting with earth elementals" + +SECRET_MAGIC_USER_colloquialism:0 "a secret user of blasphemous magic" diff --git a/localization/english/wc_traits_l_english.yml b/localization/english/wc_traits_l_english.yml index 4088619c08..d219e6ce2e 100644 --- a/localization/english/wc_traits_l_english.yml +++ b/localization/english/wc_traits_l_english.yml @@ -447,21 +447,21 @@ trait_creature_ancient_wind_desc:0 "Ancients of wind are able to tap into the more feral side of nature. Ancients of wind avoid combat but like other ancients, when enemies threaten nature, they battle with their allies." trait_creature_ancient_wind_character_desc:0 "$trait_creature_ancient_wind_desc$" - trait_magic_good:0 "Potent Mages" + trait_magic_good:0 "Potent Sorcerers" trait_magic_bad:0 "Manaless Wizards" - trait_magic_good_noninheritable:0 "Magi" - trait_magic_good_noninheritable_desc:0 "This character is overflowing with magic." - trait_magic_good_noninheritable_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is overflowing with magic." - trait_magic_bad_noninheritable:0 "Hylic" - trait_magic_bad_noninheritable_desc:0 "$trait_magic_bad_1_desc$" - trait_magic_bad_noninheritable_character_desc:0 "$trait_magic_bad_1_character_desc$" + trait_magic_good_noninheritable:1 "Magic-Soaked" + trait_magic_good_noninheritable_desc:1 "This character has innate magic powers conferred on them by an outside force." + trait_magic_good_noninheritable_character_desc:1 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has innate magic powers conferred on [ROOT.Char.GetHerHim] by an outside force." + trait_magic_bad_noninheritable:0 "Magic-Drained" + trait_magic_bad_noninheritable_desc:1 "This character somehow lost their innate magic abilities." + trait_magic_bad_noninheritable_character_desc:1 "[ROOT.GetCharacter.GetFirstNameNoTooltip] somehow lost [ROOT.Char.GetHerHis] innate magic abilities." trait_magic_good_1:0 "Magical" trait_magic_good_1_desc:0 "This character has a natural magic potential." trait_magic_good_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has a natural magic potential." trait_magic_good_2:0 "Sorcerous" trait_magic_good_2_desc:0 "This character has a great natural affinity for magic." trait_magic_good_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has a great natural affinity for magic." - trait_magic_good_3:0 "Otherworldly" + trait_magic_good_3:1 "Miraculous" trait_magic_good_3_desc:0 "This character has a tremendous natural talent for magic." trait_magic_good_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has a tremendous natural talent for magic." trait_magic_bad_1:0 "Manaless" @@ -470,7 +470,7 @@ trait_magic_bad_2:0 "Magicless" trait_magic_bad_2_desc:0 "$trait_magic_bad_1_desc$" trait_magic_bad_2_character_desc:0 "$trait_magic_bad_1_character_desc$" - trait_magic_bad_3:0 "Antimagic" + trait_magic_bad_3:1 "Sublunary" trait_magic_bad_3_desc:0 "$trait_magic_bad_1_desc$" trait_magic_bad_3_character_desc:0 "$trait_magic_bad_1_character_desc$" @@ -564,7 +564,39 @@ TRAIT_FLAG_DESC_eredar_family:0 "[wc_race_family|E]: [wc_eredar_wo_family|E]" TRAIT_FLAG_DESC_ursine_family:0 "[wc_race_family|E]: [wc_ursine_wo_family|E]" + TRAIT_FLAG_DESC_racial_light_magic_resistance:0 "$wc_light_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_shadow_magic_resistance:0 "$wc_shadow_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_disorder_magic_resistance:0 "$wc_disorder_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_order_magic_resistance:0 "$wc_order_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_life_magic_resistance:0 "$wc_life_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_death_magic_resistance:0 "$wc_death_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_elemental_fire_magic_resistance:0 "$wc_elemental_fire_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_elemental_water_magic_resistance:0 "$wc_elemental_water_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_elemental_earth_magic_resistance:0 "$wc_elemental_earth_magic_resistance$ #P +5#!" + TRAIT_FLAG_DESC_racial_elemental_air_magic_resistance:0 "$wc_elemental_air_magic_resistance$ #P +5#!" + + TRAIT_FLAG_DESC_racial_light_magic_vulnerability:0 "$wc_light_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_shadow_magic_vulnerability:0 "$wc_shadow_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_disorder_magic_vulnerability:0 "$wc_disorder_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_order_magic_vulnerability:0 "$wc_order_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_life_magic_vulnerability:0 "$wc_life_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_death_magic_vulnerability:0 "$wc_death_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_elemental_fire_magic_vulnerability:0 "$wc_elemental_fire_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_elemental_water_magic_vulnerability:0 "$wc_elemental_water_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_elemental_earth_magic_vulnerability:0 "$wc_elemental_earth_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_racial_elemental_air_magic_vulnerability:0 "$wc_elemental_air_magic_resistance$ #N -5#!" + + TRAIT_FLAG_DESC_burned_1_elemental_fire_magic_resistance:0 "$wc_elemental_fire_magic_resistance$ #N -3#!" + TRAIT_FLAG_DESC_burned_2_elemental_fire_magic_resistance:0 "$wc_elemental_fire_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_burned_3_elemental_fire_magic_resistance:0 "$wc_elemental_fire_magic_resistance$ #N -8#!" + + TRAIT_FLAG_DESC_frostbite_1_elemental_water_magic_resistance:0 "$wc_elemental_water_magic_resistance$ #N -3#!" + TRAIT_FLAG_DESC_frostbite_2_elemental_water_magic_resistance:0 "$wc_elemental_water_magic_resistance$ #N -5#!" + TRAIT_FLAG_DESC_frostbite_3_elemental_water_magic_resistance:0 "$wc_elemental_water_magic_resistance$ #N -8#!" + TRAIT_FLAG_DESC_can_not_get_sick:0 "@warning_icon!#X May not get [sick|E]#!" + TRAIT_FLAG_DESC_magical_prowess_powerful_being:0 "Magical Prowess: #p +10#!" + TRAIT_FLAG_DESC_magical_prowess_special_race:0 "Magical Prowess: #p +5#!" TRAIT_FLAG_DESC_undead_interactions:0 "Having high [dark_authority|E], [GetTrait('being_undead').GetName( GetNullCharacter )] [vassals|E] are less likely to refuse [interactions|E]#!" TRAIT_FLAG_DESC_undead_revolts:0 "[GetTrait('being_undead').GetName( GetNullCharacter )] [vassals|E] are less likely to [revolt|E]#! if [dark_authority|E] is high and more likely if it is low" @@ -636,4 +668,84 @@ trait_wretched:0 "Wretched" trait_wretched_desc:0 "The Wretched refer to a group of elves who have become addicted to arcane magic and have been driven to madness by their insatiable hunger for it. Their source of it had been removed, however, and they suffer the consequences of withdrawal. Only with restoration of their magic via the Arcan'dor tree, or other means, can they be saved from their fate." trait_nightfallen:0 "Nightfallen" - trait_wretched_character_desc:0 "$trait_wretched_desc$" \ No newline at end of file + trait_wretched_character_desc:0 "$trait_wretched_desc$" + trait_burned:0 "$trait_burned_1$" + trait_burned_1:0 "Burned" + trait_burned_1_desc:0 "This character has been burned by magic, they will need to seek out a healer, or wait for the burn to heal." + trait_burned_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been burned by magic, [ROOT.GetCharacter.GetSheHe] will need to seek out a healer, or wait for the burn to heal." + + trait_burned_2:0 "Scalded" + trait_burned_2_desc:0 "This character has been burned by magic, they will need to seek out a healer, as the burn still stings." + trait_burned_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been burned by magic, [ROOT.GetCharacter.GetSheHe] will need to seek out a healer, as the burn still stings." + + trait_burned_3:0 "Scorched" + trait_burned_3_desc:0 "This character has been nearly incinerated by magic, and death is imminent." + trait_burned_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been nearly incinerated by magic, and death is imminent." + + trait_frostbite:0 "$trait_frostbite_2$" + trait_frostbite_1:0 "Chilled" + trait_frostbite_1_desc:0 "This character has been frostbitten by magic, they will need to seek out a healer, or wait for the frostburn to heal." + trait_frostbite_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been frostbitten by magic, [ROOT.GetCharacter.GetSheHe] will need to seek out a healer, or wait for the frost burn to heal." + + trait_frostbite_2:0 "Freezing" + trait_frostbite_2_desc:0 "This character has been frostbitten by magic, they will need to seek out a healer, as the frostburn still stings." + trait_frostbite_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been frostbitten by magic, [ROOT.GetCharacter.GetSheHe] will need to seek out a healer, as the frost burn still stings." + + trait_frostbite_3:0 "Frozen" + trait_frostbite_3_desc:0 "This character has been nearly frozen solid by magic, and death is imminent." + trait_frostbite_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been nearly frozen solid by magic, and death is imminent." + + trait_ice_block:0 "Ice Block" + trait_ice_block_desc:0 "This character has triggered the ice block spell. While it is active they are protected from all spells, but they cannot act." + trait_ice_block_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has triggered the ice block spell. While it is active they are protected from all spells, but they cannot act." + + TRAIT_FLAG_DESC_cant_cast:0 "@warning_icon!#X Unable to cast spells#!" + TRAIT_FLAG_DESC_cant_be_targeted:0 "Cannot be targeted by spells" + + trait_polymorph:0 "Polymorphed" + trait_polymorph_desc:0 "Transformed into a harmless critter, this character wanders aimlessly, powerless and unaware, unable to attack or defend themselves." + trait_polymorph_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been polymorphed. $trait_polymorph_desc$" + TRAIT_FLAG_DESC_one_prowess:0 "Total [prowess|E]: #N 1#!" + TRAIT_FLAG_DESC_unkillable:0 "Unable to be harmed in combat" + + TRAIT_FLAG_DESC_no_light_magic_resistance:0 "$wc_light_magic_resistance$ #N -100%#!" + TRAIT_FLAG_DESC_minor_magical_prowess_loss:0 "Magical Prowess: #N -5#!" + TRAIT_FLAG_DESC_holy_wrath_special_flag:0 "When targeted by hostile spells, there is a small chance of getting or increasing the [GetTrait('burned_1').GetName( GetNullCharacter )] injury." + + trait_holy_wrath:0 "Holy Wrath" + trait_holy_wrath_desc:0 "This character has been struck down by the power of the Light, and can suffer more damage from it." + trait_holy_wrath_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been struck down by the power of the Light, and can suffer more damage from it." + + trait_frost_fever:0 "Frost Fever" + trait_frost_fever_desc:0 "Chilled to the bone and wracked by violent shivers, this character suffers from the icy grip of Frost Fever. $trait_frost_fever_common_desc$" + trait_frost_fever_character_desc:0 "Chilled to the bone and wracked by violent shivers, [ROOT.GetCharacter.GetFirstNameNoTooltip] suffers from the icy grip of Frost Fever. $trait_frost_fever_common_desc$" + trait_frost_fever_common_desc:0 "Their veins turn dark as the cold infection spreads, slowing their movements and draining their strength with every frigid breath. Muscles stiffen, and skin pales as a biting chill consumes them, a relentless reminder of their looming demise." + + trait_blood_plague:0 "Blood Plague" + trait_blood_plague_desc:0 "Ravaged by festering wounds and darkened blood, this character suffers from the deadly curse of the Blood Plague. $trait_blood_plague_common_desc$" + trait_blood_plague_character_desc:0 "Ravaged by festering wounds and darkened blood, [ROOT.GetCharacter.GetFirstNameNoTooltip] suffers from the deadly curse of the Blood Plague. $trait_blood_plague_common_desc$" + trait_blood_plague_common_desc:0 "Their veins bulge with corruption, as every heartbeat spreads the tainted infection through their body. Fever burns hot beneath their skin, while their flesh decays, oozing with foul, dark ichor. Death lingers with each labored breath, as the plague slowly consumes them from within." + + trait_crypt_fever:0 "Crypt Fever" + trait_crypt_fever_desc:0 "Crawling with rot and writhing with decay, this character suffers from the vile affliction of Crypt Fever. $trait_crypt_fever_common_desc$" + trait_crypt_fever_character_desc:0 "Crawling with rot and writhing with decay, [ROOT.GetCharacter.GetFirstNameNoTooltip] suffers from the vile affliction of Crypt Fever. $trait_crypt_fever_common_desc$" + trait_crypt_fever_common_desc:0 "Their flesh sags and blackens, infested by swarms of vermin that gnaw from within. Every wound festers with putrid bile, and their breath reeks of the grave. Bones weaken and joints stiffen, as their body slowly succumbs to the rot, drawing them ever closer to an agonizing death." + + trait_creature_vampire:0 "Vampire" + trait_creature_vampire_desc:0 "Vampires are those who surrender their soul in exchange for eternal life and dark power. Transformed by forbidden magic or ancient curses, these creatures possess immense strength, speed, and regenerative abilities, thriving on the blood of the living. Their bodies become deathless, yet twisted, with an unnatural pallor and predatory gaze. Commanding dark magic and subjugating lesser beings, Vampires are often driven by a ceaseless hunger for blood and domination." + trait_creature_vampire_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a Vampire. $trait_creature_vampire_desc$" + + trait_creature_revenant:0 "Revenant" + trait_creature_revenant_desc:0 "Revenants are fallen warriors resurrected by dark necromantic magic, their souls bound to the eternal service of death. These undead beings retain the armor and weapons they once wielded in life, but their bodies are now cold, animated by unholy power. Revenants possess relentless strength and resilience, driven by the will of their necromantic masters. Death Knights, forged from the most powerful Revenants, serve as commanders of undead legions, wielding their unholy powers to crush all who oppose them." + trait_creature_revenant_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a revenant. $trait_creature_revenant_desc$" + + trait_hibernation:0 "In Hibernation" + trait_hibernation_desc:0 "This character is currently hibernating to recover from serious wounds." + trait_hibernation_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is currently hibernating to recover from serious wounds." + + trait_void_sickness:0 "Voidtouched" + trait_void_sickness_desc:0 "This character has been afflicted by the void, and is weakened by its influence." + trait_void_sickness_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] has been afflicted by the void, and is weakened by its influence." + TRAIT_FLAG_DESC_void_sickness_shadow_magic_resistance:0 "$wc_shadow_magic_resistance$ #N -5#!" + + TRAIT_FLAG_DESC_minor_cast_time_penalty:0 "[wc_spell|E] Cast Time: @wc_spell_icon!#N +5%#!" \ No newline at end of file diff --git a/localization/english/wc_traits_lifestyles_l_english.yml b/localization/english/wc_traits_lifestyles_l_english.yml new file mode 100644 index 0000000000..251ec39c81 --- /dev/null +++ b/localization/english/wc_traits_lifestyles_l_english.yml @@ -0,0 +1,343 @@ +l_english: + wc_lifestyle_magic_prefix_for_level_1:0 "Novice" + wc_lifestyle_magic_prefix_for_level_2:0 "Journeyman" + wc_lifestyle_magic_prefix_for_level_3:0 "Adept" + wc_lifestyle_magic_prefix_for_level_4:0 "Expert" + wc_lifestyle_magic_prefix_for_level_5:0 "Master" + + trait_wc_lifestyle_light_magic:0 "Light Priests" + trait_user_of_light_magic_name:0 "Light Priest" + trait_user_of_light_magic_1:1 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_light_magic_name$" + trait_user_of_light_magic_1_desc:0 "Light priests are devoted to the light, and express their unwavering faith by serving the people. For millennia they have left behind the confines of their temples and the comfort of their shrines so they can support their allies in war-torn lands. In the midst of terrible conflict, no hero questions the value of the priestly orders. These masters of the healing arts keep their companions fighting far beyond their normal capacities with an array of restorative powers and blessings. The divine forces at the priest’s command can also be turned against foes, smiting them with holy fury." + trait_user_of_light_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_light_magic_1$. $trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_2:1 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_light_magic_name$" + trait_user_of_light_magic_2_desc:0 "$trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_light_magic_2$. $trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_3:1 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_light_magic_name$" + trait_user_of_light_magic_3_desc:0 "$trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_light_magic_3$. $trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_4:1 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_light_magic_name$" + trait_user_of_light_magic_4_desc:0 "$trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_light_magic_4$. $trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_5:1 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_light_magic_name$" + trait_user_of_light_magic_5_desc:0 "$trait_user_of_light_magic_1_desc$" + trait_user_of_light_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_light_magic_5$. $trait_user_of_light_magic_1_desc$" + + trait_wc_lifestyle_shadow_magic:0 "Shadow Priests" + trait_user_of_shadow_magic_name:0 "Shadow Priest" + trait_user_of_shadow_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_shadow_magic_name$" + trait_user_of_shadow_magic_1_desc:0 "Shadow priests are adept of the powers of the void, and use it to inflict pain and madness upon their victims. They are able to deform the mind and body and bring agony to their enemies." + trait_user_of_shadow_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_shadow_magic_1$. $trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_shadow_magic_name$" + trait_user_of_shadow_magic_2_desc:0 "$trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_shadow_magic_2$. $trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_shadow_magic_name$" + trait_user_of_shadow_magic_3_desc:0 "$trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_shadow_magic_3$. $trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_shadow_magic_name$" + trait_user_of_shadow_magic_4_desc:0 "$trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_shadow_magic_4$. $trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_shadow_magic_name$" + trait_user_of_shadow_magic_5_desc:0 "$trait_user_of_shadow_magic_1_desc$" + trait_user_of_shadow_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_shadow_magic_5$. $trait_user_of_shadow_magic_1_desc$" + + trait_wc_lifestyle_disorder_magic:0 "Wicked Warlocks" + trait_user_of_disorder_magic_name:0 "Warlock" + trait_user_of_disorder_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_disorder_magic_name$" + trait_user_of_disorder_magic_1_desc:0 "Warlocks are absolutely corrupt and unimaginably powerful. Dominance is their aim, and they have found a path to it in the dark arts—their chaos magics have burnt out whole worlds and annihilated countless species over the aeons. These voracious spellcasters summon demonic minions to fight beside them and wreak havoc on anyone who stands in their master’s way." + trait_user_of_disorder_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_disorder_magic_1$. $trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_disorder_magic_name$" + trait_user_of_disorder_magic_2_desc:0 "$trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_disorder_magic_2$. $trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_disorder_magic_name$" + trait_user_of_disorder_magic_3_desc:0 "$trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_disorder_magic_3$. $trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_disorder_magic_name$" + trait_user_of_disorder_magic_4_desc:0 "$trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_disorder_magic_4$. $trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_disorder_magic_name$" + trait_user_of_disorder_magic_5_desc:0 "$trait_user_of_disorder_magic_1_desc$" + trait_user_of_disorder_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_disorder_magic_5$. $trait_user_of_disorder_magic_1_desc$" + + trait_wc_lifestyle_order_magic:0 "Masterful Arcanists" + trait_user_of_order_magic_name:0 "Arcanist" + trait_user_of_order_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_order_magic_name$" + trait_user_of_order_magic_1_desc:0 "Mages of the arcane are diviners of secrets, balancing the ebb and flow of incredible mystic energies, they push their magical knowledge to its very limits—often to the brink of risk to the world around them. The arcane magic available to magi is both great and dangerous, and thus is revealed only to the most devoted practitioners—wizards of immense knowledge and skill." + trait_user_of_order_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_order_magic_1$. $trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_order_magic_name$" + trait_user_of_order_magic_2_desc:0 "$trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_order_magic_2$. $trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_order_magic_name$" + trait_user_of_order_magic_3_desc:0 "$trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_order_magic_3$. $trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_order_magic_name$" + trait_user_of_order_magic_4_desc:0 "$trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_order_magic_4$. $trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_order_magic_name$" + trait_user_of_order_magic_5_desc:0 "$trait_user_of_order_magic_1_desc$" + trait_user_of_order_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_order_magic_5$. $trait_user_of_order_magic_1_desc$" + + trait_wc_lifestyle_life_magic:0 "Instinctive Druids" + trait_user_of_life_magic_name:0 "Druid" + trait_user_of_life_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_life_magic_name$" + trait_user_of_life_magic_1_desc:0 "Druids harness the vast powers of nature to preserve balance and protect life. Living in a state of unparalleled union with nature, friend to flora and fauna alike, they commune with the wild to understand how life perseveres through adversity." + trait_user_of_life_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_life_magic_1$. $trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_life_magic_name$" + trait_user_of_life_magic_2_desc:0 "$trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_life_magic_2$. $trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_life_magic_name$" + trait_user_of_life_magic_3_desc:0 "$trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_life_magic_3$. $trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_life_magic_name$" + trait_user_of_life_magic_4_desc:0 "$trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_life_magic_4$. $trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_life_magic_name$" + trait_user_of_life_magic_5_desc:0 "$trait_user_of_life_magic_1_desc$" + trait_user_of_life_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_life_magic_5$. $trait_user_of_life_magic_1_desc$" + + trait_wc_lifestyle_death_magic:0 "Deadly Necromancers" + trait_user_of_death_magic_name:0 "Necromancer" + trait_user_of_death_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_death_magic_name$" + trait_user_of_death_magic_1_desc:0 "Necromancer is a dark champion of the dead and vile bane of the living. Their undead creations terrorize the land while they ravage their opposition with twisted magic. The living fear their name and the dead flock to it." + trait_user_of_death_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_death_magic_1$. $trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_death_magic_name$" + trait_user_of_death_magic_2_desc:0 "$trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_death_magic_2$. $trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_death_magic_name$" + trait_user_of_death_magic_3_desc:0 "$trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_death_magic_3$. $trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_death_magic_name$" + trait_user_of_death_magic_4_desc:0 "$trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_death_magic_4$. $trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_death_magic_name$" + trait_user_of_death_magic_5_desc:0 "$trait_user_of_death_magic_1_desc$" + trait_user_of_death_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_death_magic_5$. $trait_user_of_death_magic_1_desc$" + + trait_wc_lifestyle_elemental_fire_magic:0 "Fiery Pyrosophists" + trait_user_of_elemental_fire_magic_name:0 "Pyrosophist" + trait_user_of_elemental_fire_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_fire_magic_name$" + trait_user_of_elemental_fire_magic_1_desc:0 "Through careful study and dedication, pyrosophists master the flames to channel their power into destructive magical surges." + trait_user_of_elemental_fire_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_magic_1$. $trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_fire_magic_name$" + trait_user_of_elemental_fire_magic_2_desc:0 "$trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_magic_2$. $trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_fire_magic_name$" + trait_user_of_elemental_fire_magic_3_desc:0 "$trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_magic_3$. $trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_fire_magic_name$" + trait_user_of_elemental_fire_magic_4_desc:0 "$trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_magic_4$. $trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_fire_magic_name$" + trait_user_of_elemental_fire_magic_5_desc:0 "$trait_user_of_elemental_fire_magic_1_desc$" + trait_user_of_elemental_fire_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_magic_5$. $trait_user_of_elemental_fire_magic_1_desc$" + + trait_wc_lifestyle_elemental_fire_spirit_magic:0 "Fervent Pyromancers" + trait_user_of_elemental_fire_spirit_magic_name:0 "Pyromancer" + trait_user_of_elemental_fire_spirit_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_fire_spirit_magic_name$" + trait_user_of_elemental_fire_spirit_magic_1_desc:0 "Pyromancers commune with the forces of fire and guide them away from raging in unending primal fury." + trait_user_of_elemental_fire_spirit_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_spirit_magic_1$. $trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_fire_spirit_magic_name$" + trait_user_of_elemental_fire_spirit_magic_2_desc:0 "$trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_spirit_magic_2$. $trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_fire_spirit_magic_name$" + trait_user_of_elemental_fire_spirit_magic_3_desc:0 "$trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_spirit_magic_3$. $trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_fire_spirit_magic_name$" + trait_user_of_elemental_fire_spirit_magic_4_desc:0 "$trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_spirit_magic_4$. $trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_fire_spirit_magic_name$" + trait_user_of_elemental_fire_spirit_magic_5_desc:0 "$trait_user_of_elemental_fire_spirit_magic_1_desc$" + trait_user_of_elemental_fire_spirit_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_spirit_magic_5$. $trait_user_of_elemental_fire_spirit_magic_1_desc$" + + trait_wc_lifestyle_elemental_fire_decay_magic:0 "Incensed Pyrotheurges" + trait_user_of_elemental_fire_decay_magic_name:0 "Pyrotheurge" + trait_user_of_elemental_fire_decay_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_fire_decay_magic_name$" + trait_user_of_elemental_fire_decay_magic_1_desc:0 "If a threat stands before Pyrotheurges, the answer is always to neutralize it in a glorious blaze. A lifetime dedicated to the study of fiery forces only fuels their pyromania, and they take pride—even pleasure—in igniting their enemies in wild bursts of flame. Mistake their affinity for watching things burn as a lack of self-control at your own peril." + trait_user_of_elemental_fire_decay_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_decay_magic_1$. $trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_fire_decay_magic_name$" + trait_user_of_elemental_fire_decay_magic_2_desc:0 "$trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_decay_magic_2$. $trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_fire_decay_magic_name$" + trait_user_of_elemental_fire_decay_magic_3_desc:0 "$trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_decay_magic_3$. $trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_fire_decay_magic_name$" + trait_user_of_elemental_fire_decay_magic_4_desc:0 "$trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_fire_decay_magic_4$. $trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_fire_decay_magic_name$" + trait_user_of_elemental_fire_decay_magic_5_desc:0 "$trait_user_of_elemental_fire_decay_magic_1_desc$" + trait_user_of_elemental_fire_decay_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_fire_decay_magic_5$. $trait_user_of_elemental_fire_decay_magic_1_desc$" + + trait_wc_lifestyle_elemental_water_magic:0 "Immersed Hydrosophists" + trait_user_of_elemental_water_magic_name:0 "Hydrosophist" + trait_user_of_elemental_water_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_water_magic_name$" + trait_user_of_elemental_water_magic_1_desc:0 "Although the hydrosophists may seem wise and serene at first glance, they are a formidable foe; when angered, their wrath is as fierce as the very forces of nature." + trait_user_of_elemental_water_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_magic_1$. $trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_water_magic_name$" + trait_user_of_elemental_water_magic_2_desc:0 "$trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_magic_2$. $trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_water_magic_name$" + trait_user_of_elemental_water_magic_3_desc:0 "$trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_magic_3$. $trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_water_magic_name$" + trait_user_of_elemental_water_magic_4_desc:0 "$trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_magic_4$. $trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_water_magic_name$" + trait_user_of_elemental_water_magic_5_desc:0 "$trait_user_of_elemental_water_magic_1_desc$" + trait_user_of_elemental_water_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_magic_5$. $trait_user_of_elemental_water_magic_1_desc$" + + trait_wc_lifestyle_elemental_water_spirit_magic:0 "Adaptable Hydromancers" + trait_user_of_elemental_water_spirit_magic_name:0 "Hydromancer" + trait_user_of_elemental_water_spirit_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_water_spirit_magic_name$" + trait_user_of_elemental_water_spirit_magic_1_desc:0 "Hydromancers have a serene affinity for water—they do not necessarily seek or turn to the divine, yet they feel a profound spiritual connection with the source from which all mortal life took root." + trait_user_of_elemental_water_spirit_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_spirit_magic_1$. $trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_water_spirit_magic_name$" + trait_user_of_elemental_water_spirit_magic_2_desc:0 "$trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_spirit_magic_2$. $trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_water_spirit_magic_name$" + trait_user_of_elemental_water_spirit_magic_3_desc:0 "$trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_spirit_magic_3$. $trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_water_spirit_magic_name$" + trait_user_of_elemental_water_spirit_magic_4_desc:0 "$trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_spirit_magic_4$. $trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_water_spirit_magic_name$" + trait_user_of_elemental_water_spirit_magic_5_desc:0 "$trait_user_of_elemental_water_spirit_magic_1_desc$" + trait_user_of_elemental_water_spirit_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_spirit_magic_5$. $trait_user_of_elemental_water_spirit_magic_1_desc$" + + trait_wc_lifestyle_elemental_water_decay_magic:0 "Cold Hydrotheurges" + trait_user_of_elemental_water_decay_magic_name:0 "Hydrotheurge" + trait_user_of_elemental_water_decay_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_water_decay_magic_name$" + trait_user_of_elemental_water_decay_magic_1_desc:0 "Hydrotheurges perform chilling displays on the battlefield, as they leave their enemies frozen to the bone—and broken of the will to fight—foreshadowing the wintry demise of those who stand opposed." + trait_user_of_elemental_water_decay_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_decay_magic_1$. $trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_water_decay_magic_name$" + trait_user_of_elemental_water_decay_magic_2_desc:0 "$trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_decay_magic_2$. $trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_water_decay_magic_name$" + trait_user_of_elemental_water_decay_magic_3_desc:0 "$trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_decay_magic_3$. $trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_water_decay_magic_name$" + trait_user_of_elemental_water_decay_magic_4_desc:0 "$trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_water_decay_magic_4$. $trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_water_decay_magic_name$" + trait_user_of_elemental_water_decay_magic_5_desc:0 "$trait_user_of_elemental_water_decay_magic_1_desc$" + trait_user_of_elemental_water_decay_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_water_decay_magic_5$. $trait_user_of_elemental_water_decay_magic_1_desc$" + + trait_wc_lifestyle_elemental_air_magic:0 "Volatile Aerosophists" + trait_user_of_elemental_air_magic_name:0 "Aerosophist" + trait_user_of_elemental_air_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_air_magic_name$" + trait_user_of_elemental_air_magic_1_desc:0 "Aerosophists summon shining levins and unseen winds to their aid." + trait_user_of_elemental_air_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_magic_1$. $trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_air_magic_name$" + trait_user_of_elemental_air_magic_2_desc:0 "$trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_magic_2$. $trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_air_magic_name$" + trait_user_of_elemental_air_magic_3_desc:0 "$trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_magic_3$. $trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_air_magic_name$" + trait_user_of_elemental_air_magic_4_desc:0 "$trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_magic_4$. $trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_air_magic_name$" + trait_user_of_elemental_air_magic_5_desc:0 "$trait_user_of_elemental_air_magic_1_desc$" + trait_user_of_elemental_air_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_magic_5$. $trait_user_of_elemental_air_magic_1_desc$" + + trait_wc_lifestyle_elemental_air_spirit_magic:0 "Meandering Aeromancers" + trait_user_of_elemental_air_spirit_magic_name:0 "Aeromancer" + trait_user_of_elemental_air_spirit_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_air_spirit_magic_name$" + trait_user_of_elemental_air_spirit_magic_1_desc:0 "To gently caress those who must sustain clouded times, Aeromancers move the unstirred air by swaying the murmuring breezes." + trait_user_of_elemental_air_spirit_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_spirit_magic_1$. $trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_air_spirit_magic_name$" + trait_user_of_elemental_air_spirit_magic_2_desc:0 "$trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_spirit_magic_2$. $trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_air_spirit_magic_name$" + trait_user_of_elemental_air_spirit_magic_3_desc:0 "$trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_spirit_magic_3$. $trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_air_spirit_magic_name$" + trait_user_of_elemental_air_spirit_magic_4_desc:0 "$trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_spirit_magic_4$. $trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_air_spirit_magic_name$" + trait_user_of_elemental_air_spirit_magic_5_desc:0 "$trait_user_of_elemental_air_spirit_magic_1_desc$" + trait_user_of_elemental_air_spirit_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_spirit_magic_5$. $trait_user_of_elemental_air_spirit_magic_1_desc$" + + trait_wc_lifestyle_elemental_air_decay_magic:0 "Tempestuous Aerotheurges" + trait_user_of_elemental_air_decay_magic_name:0 "Aerotheurge" + trait_user_of_elemental_air_decay_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_air_decay_magic_name$" + trait_user_of_elemental_air_decay_magic_1_desc:0 "Aerotheurges control the grey storms rising on the windy plains and tear the skies asunder with roaring thunder until the stream of blood veil the murky air with paws of crimson." + trait_user_of_elemental_air_decay_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_decay_magic_1$. $trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_air_decay_magic_name$" + trait_user_of_elemental_air_decay_magic_2_desc:0 "$trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_decay_magic_2$. $trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_air_decay_magic_name$" + trait_user_of_elemental_air_decay_magic_3_desc:0 "$trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_decay_magic_3$. $trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_air_decay_magic_name$" + trait_user_of_elemental_air_decay_magic_4_desc:0 "$trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_air_decay_magic_4$. $trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_air_decay_magic_name$" + trait_user_of_elemental_air_decay_magic_5_desc:0 "$trait_user_of_elemental_air_decay_magic_1_desc$" + trait_user_of_elemental_air_decay_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_air_decay_magic_5$. $trait_user_of_elemental_air_decay_magic_1_desc$" + + trait_wc_lifestyle_elemental_earth_magic:0 "Gritty Geosophists" + trait_user_of_elemental_earth_magic_name:0 "Geosophist" + trait_user_of_elemental_earth_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_earth_magic_name$" + trait_user_of_elemental_earth_magic_1_desc:0 "Geosophists draws their wisdom and strength from the earth that empowers them into untold heights with primordial power." + trait_user_of_elemental_earth_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_magic_1$. $trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_earth_magic_name$" + trait_user_of_elemental_earth_magic_2_desc:0 "$trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_magic_2$. $trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_earth_magic_name$" + trait_user_of_elemental_earth_magic_3_desc:0 "$trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_magic_3$. $trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_earth_magic_name$" + trait_user_of_elemental_earth_magic_4_desc:0 "$trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_magic_4$. $trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_earth_magic_name$" + trait_user_of_elemental_earth_magic_5_desc:0 "$trait_user_of_elemental_earth_magic_1_desc$" + trait_user_of_elemental_earth_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_magic_5$. $trait_user_of_elemental_earth_magic_1_desc$" + + trait_wc_lifestyle_elemental_earth_spirit_magic:0 "Firm Geomancers" + trait_user_of_elemental_earth_spirit_magic_name:0 "Geomancer" + trait_user_of_elemental_earth_spirit_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_earth_spirit_magic_name$" + trait_user_of_elemental_earth_spirit_magic_1_desc:0 "Geomancers have dedicated themselves to forging a deep bond and work in a respectful union with the fertile earth who procreates everything." + trait_user_of_elemental_earth_spirit_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_spirit_magic_1$. $trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_earth_spirit_magic_name$" + trait_user_of_elemental_earth_spirit_magic_2_desc:0 "$trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_spirit_magic_2$. $trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_earth_spirit_magic_name$" + trait_user_of_elemental_earth_spirit_magic_3_desc:0 "$trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_spirit_magic_3$. $trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_earth_spirit_magic_name$" + trait_user_of_elemental_earth_spirit_magic_4_desc:0 "$trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_spirit_magic_4$. $trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_earth_spirit_magic_name$" + trait_user_of_elemental_earth_spirit_magic_5_desc:0 "$trait_user_of_elemental_earth_spirit_magic_1_desc$" + trait_user_of_elemental_earth_spirit_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_spirit_magic_5$. $trait_user_of_elemental_earth_spirit_magic_1_desc$" + + trait_wc_lifestyle_elemental_earth_decay_magic:0 "Ravaging Geotheurges" + trait_user_of_elemental_earth_decay_magic_name:0 "Geotheurge" + trait_user_of_elemental_earth_decay_magic_1:0 "$wc_lifestyle_magic_prefix_for_level_1$ $trait_user_of_elemental_earth_decay_magic_name$" + trait_user_of_elemental_earth_decay_magic_1_desc:0 "Geotheurges learned to wield the fury of the earth and those who run afoul of them in battle find that the very land may rise up, taking the form of rock and stone elementals. The legends still speak of geotheurges capable of calling up the earth to swallow armies and destroy the settlements of their enemies with devastating earthquakes." + trait_user_of_elemental_earth_decay_magic_1_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_decay_magic_1$. $trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_2:0 "$wc_lifestyle_magic_prefix_for_level_2$ $trait_user_of_elemental_earth_decay_magic_name$" + trait_user_of_elemental_earth_decay_magic_2_desc:0 "$trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_2_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_decay_magic_2$. $trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_3:0 "$wc_lifestyle_magic_prefix_for_level_3$ $trait_user_of_elemental_earth_decay_magic_name$" + trait_user_of_elemental_earth_decay_magic_3_desc:0 "$trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_3_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_decay_magic_3$. $trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_4:0 "$wc_lifestyle_magic_prefix_for_level_4$ $trait_user_of_elemental_earth_decay_magic_name$" + trait_user_of_elemental_earth_decay_magic_4_desc:0 "$trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_4_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is an $trait_user_of_elemental_earth_decay_magic_4$. $trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_5:0 "$wc_lifestyle_magic_prefix_for_level_5$ $trait_user_of_elemental_earth_decay_magic_name$" + trait_user_of_elemental_earth_decay_magic_5_desc:0 "$trait_user_of_elemental_earth_decay_magic_1_desc$" + trait_user_of_elemental_earth_decay_magic_5_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_user_of_elemental_earth_decay_magic_5$. $trait_user_of_elemental_earth_decay_magic_1_desc$" + + trait_master_pyromancer:0 "Master Pyromancer" + trait_master_pyromancer_desc:0 "Master Pyromancers are powerful spellcasters who wield destructive fire magic, incinerating enemies with blazing infernos, searing fireballs, and explosive spells, embodying the relentless fury and chaos of flames in battle." + trait_master_pyromancer_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_master_pyromancer$. $trait_master_pyromancer_desc$" + trait_master_cryomancer:0 "Master Cryomancer" + trait_master_cryomancer_desc:0 "Master Cryomancers are elite spellcasters who control ice magic with precision, conjuring blizzards, freezing enemies solid, and harnessing the chilling power of frost to dominate and subdue their foes." + trait_master_cryomancer_character_desc:0 "[ROOT.GetCharacter.GetFirstNameNoTooltip] is a $trait_master_cryomancer$. $trait_master_cryomancer_desc$" + + TRAIT_FLAG_DESC_wc_lifestyle_order_fire_magic_cast_speed_bonus:0 "Pyromancy [wc_spell|E] Cast Time: #p 10%#!" + TRAIT_FLAG_DESC_wc_lifestyle_order_fire_magic_cooldown_bonus:0 "Pyromancy [wc_spell|E] Cooldown: #p -10%#!" + + TRAIT_FLAG_DESC_wc_lifestyle_order_frost_magic_duration_bonus:0 "Cryomancy [wc_spell|E] Duration: #p 10%#!" + TRAIT_FLAG_DESC_wc_lifestyle_order_frost_magic_cooldown_bonus:0 "Cryomancy [wc_spell|E] Cooldown: #p -10%#!" \ No newline at end of file diff --git a/localization/french/culture/wc_cultural_maa_innovations_l_french.yml b/localization/french/culture/wc_cultural_maa_innovations_l_french.yml index 58dc8ab729..82834eefd0 100644 --- a/localization/french/culture/wc_cultural_maa_innovations_l_french.yml +++ b/localization/french/culture/wc_cultural_maa_innovations_l_french.yml @@ -24,8 +24,8 @@ # Tribal Era # ############## - innovation_archmage:0 "Archimages" - innovation_archmage_desc:0 "Tissant leurs enchantements complexes, ces mages défendent leur peuple avec tous les pouvoirs magiques à leur disposition. Les Archimages brandissent des lames magiques et des bâtons anciens qui servent à canaliser leurs énergies féroces au combat." + innovation_archmagi:0 "Archimages" + innovation_archmagi_desc:0 "Tissant leurs enchantements complexes, ces mages défendent leur peuple avec tous les pouvoirs magiques à leur disposition. Les Archimages brandissent des lames magiques et des bâtons anciens qui servent à canaliser leurs énergies féroces au combat." innovation_blademaster:0 "Maîtres-lame" innovation_blademaster_desc:0 "Les Maîtres-lame orcs aguerris sont peu nombreux, mais ils constituent une force d'élite au sein de la Horde. Epéistes chevronnés, ils appartenaient autrefois au clan de la Lame Ardente, qui, en raison de la corruption démoniaque, est au bord de la destruction." diff --git a/localization/french/wc_lifestyles_physical_l_french.yml b/localization/french/wc_lifestyles_physical_l_french.yml new file mode 100644 index 0000000000..84f455e5c9 --- /dev/null +++ b/localization/french/wc_lifestyles_physical_l_french.yml @@ -0,0 +1,52 @@ +l_french: + action_lifestyle_physical:0 "$action_can_spend_perk_point$" + action_lifestyle_physical_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_physical_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_physical_click:0 "$action_can_spend_perk_point_click$" + + physical_lifestyle_name:0 "Physique" + physical_lifestyle_desc:0 "Se concentrer sur l'entraînement du corps et de l'esprit, afin d'acquérir la force de défaire vos ennemis." + + physical_tree_1_name:0 "Résilient" + physical_tree_1_perk_1_name:0 "bruh 1" + physical_tree_1_perk_2_name:0 "bruh 2" + physical_tree_1_perk_3_name:0 "bruh 3" + physical_tree_1_perk_4_name:0 "bruh 4" + physical_tree_1_perk_5_name:0 "bruh 5" + physical_tree_1_perk_6_name:0 "bruh 6" + physical_tree_1_perk_7_name:0 "bruh 7" + physical_tree_1_perk_8_name:0 "bruh 8" + physical_tree_1_perk_9_name:0 "bruh 9" + physical_tree_2_name:0 "Escroc" + physical_tree_2_perk_1_name:0 "bruh 1" + physical_tree_2_perk_2_name:0 "bruh 2" + physical_tree_2_perk_3_name:0 "bruh 3" + physical_tree_2_perk_4_name:0 "bruh 4" + physical_tree_2_perk_5_name:0 "bruh 5" + physical_tree_2_perk_6_name:0 "bruh 6" + physical_tree_2_perk_7_name:0 "bruh 7" + physical_tree_2_perk_8_name:0 "bruh 8" + physical_tree_2_perk_9_name:0 "bruh 9" + physical_tree_3_name:0 "Puissant" + physical_tree_3_perk_1_name:0 "bruh 1" + physical_tree_3_perk_2_name:0 "bruh 2" + physical_tree_3_perk_3_name:0 "bruh 3" + physical_tree_3_perk_4_name:0 "bruh 4" + physical_tree_3_perk_5_name:0 "bruh 5" + physical_tree_3_perk_6_name:0 "bruh 6" + physical_tree_3_perk_7_name:0 "bruh 7" + physical_tree_3_perk_8_name:0 "bruh 8" + physical_tree_3_perk_9_name:0 "bruh 9" + + physical_focus_1:0 "Intérêt: Ténacité" + physical_focus_1_focus_desc:0 "L'entretien de votre corps est vital pour toutes activités." + physical_focus_1_effect_desc:0 "Se concentrer sur la Ténacité procure:" + # physical_focus_1_modifier:0 "[GetFocus('physical_focus_1').GetName]" + physical_focus_2:0 "Intérêt: Dexterité" + physical_focus_2_focus_desc:0 "Vos ennemis ne vous remarqueront que lorsqu'ils seront déjà morts." + physical_focus_2_effect_desc:0 "Se concentrer sur la Dexterité procure:" + # physical_focus_2_modifier:0 "[GetFocus('physical_focus_2').GetName]" + physical_focus_3:0 "Intérêt: Force" + physical_focus_3_focus_desc:0 "La force du corps est primordiale pour écraser vos ennemis !" + physical_focus_3_effect_desc:0 "Se concentrer sur la Force procure:" + # physical_focus_3_modifier:0 "[GetFocus('physical_focus_3').GetName]" diff --git a/localization/french/wc_regiment_l_french.yml b/localization/french/wc_regiment_l_french.yml index d224cf923c..c95371bba9 100644 --- a/localization/french/wc_regiment_l_french.yml +++ b/localization/french/wc_regiment_l_french.yml @@ -31,7 +31,7 @@ ###Cultural MaA ##Tribal - abomination:0 "Abominations" + abomination_maa:0 "Abominations" archmage:0 "Archimages" blademaster:0 "Maîtres-lame" buccaneer:0 "Boucaniers" @@ -42,7 +42,7 @@ dervishes:0 "Derviches" dire_troll:0 "Trolls Redoutables" dragon:0 "Dragons" - ghoul:0 "Ghoules" + ghoul_maa:0 "Ghoules" gladiator:0 "Gladiateurs" hag_maa:0 "Mégères" hexer:0 "Maléficieurs" @@ -108,7 +108,7 @@ ###Cultural MaA Descriptions ##Tribal - abomination_flavor:0 "#F Notre création de cette abomination nous a fourni un soldat incroyablement puissant et durable. Des esprits moins avertis pourraient les rejeter pour des raisons de "moralité", mais nous connaissons leur valeur." + abomination_maa_flavor:0 "#F Notre création de cette abomination nous a fourni un soldat incroyablement puissant et durable. Des esprits moins avertis pourraient les rejeter pour des raisons de "moralité", mais nous connaissons leur valeur." archmage_flavor:0 "#F Les Archimages sont capables de prouesses magiques extraordinaires et constituent un atout formidable pour toute armée." blademaster_flavor:0 "#F Les Maîtres-lame orcs ont maîtrisé la connaissance de leur arme de prédilection à un niveau inégalé. Ils sont de puissants combattants et des duellistes émérites." buccaneer_flavor:0 "#F Pirates, marins, flibustiers et boucaniers sont peut-être les plus à l'aise lorsqu'ils naviguent sur les mers, mais leurs compétences en matière de guerre ne sont pas négligeables pour autant sur la terre ferme." @@ -119,7 +119,7 @@ dervishes_flavor:0 "#F Pilleurs, bandits et guerriers redoutables, les Derviches bat-le-désert sont une force qui a pris le désert et l'a fait sien." dire_troll_flavor:0 "#F Ces trolls sont d'une taille et d'une puissance impressionnantes. Peu de personnes peuvent égaler un troll redoutable en termes de force brute, d'où leur réputation de guerriers d'élite." dragon_flavor:0 "#F Forgés par les titans, détenteurs de pouvoirs incroyables et maîtres du ciel. Seul un fou oserait défier un dragon." - ghoul_flavor:0 "#F Les goules sont des morts-vivants qui servent de troupes de choc au Fléau. Ces cadavres en décomposition étaient autrefois d'innocents habitants des villes qui ont fait leur transition finale vers la non-mort." + ghoul_maa_flavor:0 "#F Les goules sont des morts-vivants qui servent de troupes de choc au Fléau. Ces cadavres en décomposition étaient autrefois d'innocents habitants des villes qui ont fait leur transition finale vers la non-mort." gladiator_flavor:0 "#F Les gladiateurs sont élevés et entraînés pour la vie et le combat dans l'arène. Cela leur permet d'utiliser leurs tactiques supérieures sur le champ de bataille également." hag_maa_flavor:0 "#F Les vicieuses mégères des tribus maîtrisent de nombreux sorts chamaniques associés à la magie du vent. Libérer ces pouvoirs sur leurs ennemis apporte confusion et chaos dans leurs rangs, permettant des attaques rapides comme l'éclair et des retraites tout aussi rapides." hexer_flavor:0 "#F Beaucoup connaissent les esprits, mais peu savent les manipuler avec la facilité des maléficieurs. Ils sont capables de diminuer et de fragiliser les ennemis en invoquant des chants, des danses et des idoles. Malgré toute leur importance, ils restent quelque peu dérangeants à côtoyer." @@ -218,8 +218,8 @@ webspinner_flavor:0 "#F Préparés dès leur plus jeune âge à exploiter la capacité de tisser des toiles, ces nérubiens peuvent attraper n'importe quel ennemi ou proie à grande distance, ce qui permet de les tuer facilement. Ces nérubiens produisent plus de toiles que d'habitude et peuvent atteindre des cibles en charge ou en vol." #Early Medieval - banshee:0 "Banshees" - banshee_flavor:0 "#F Parmi les morts-vivants, les Banshees sont probablement les plus redoutées, étant donné leur capacité à posséder le corps des autres. Même sous leur forme naturelle, les Banshees sont une force terrifiante, maniant la magie et un cri à glacer le sang qui peut neutraliser leurs ennemis." + banshee_maa:0 "Banshees" + banshee_maa_flavor:0 "#F Parmi les morts-vivants, les Banshees sont probablement les plus redoutées, étant donné leur capacité à posséder le corps des autres. Même sous leur forme naturelle, les Banshees sont une force terrifiante, maniant la magie et un cri à glacer le sang qui peut neutraliser leurs ennemis." infernal:0 "Infernaux" infernal_flavor:0 "#F Les infernaux sont des amalgames presque sans âme de matière et d'énergie gangrenée, créés par des démons plus puissants et plus intelligents. Agissant comme des armes de siège vivantes, ces brutes utilisent leurs poings flamboyants de feu gangrené et de pierre pour terrasser leurs ennemis." diff --git a/localization/german/culture/wc_cultural_maa_innovations_l_german.yml b/localization/german/culture/wc_cultural_maa_innovations_l_german.yml index 1991393ee6..2d659ac108 100644 --- a/localization/german/culture/wc_cultural_maa_innovations_l_german.yml +++ b/localization/german/culture/wc_cultural_maa_innovations_l_german.yml @@ -23,8 +23,8 @@ # Stammes-Ära # ############### - innovation_archmage:0 "Erzmagier" - innovation_archmage_desc:0 "Durch das Weben ihrer komplizierten Zaubersprüche verteidigen diese Magier ihr Volk mit allen ihnen zur Verfügung stehenden magischen Kräften. Die Erzmagier führen magische Klingen und uralte Stäbe, die dazu dienen, ihre gewaltigen Energien im Kampf zu kanalisieren." + innovation_archmagi:0 "Erzmagier" + innovation_archmagi_desc:0 "Durch das Weben ihrer komplizierten Zaubersprüche verteidigen diese Magier ihr Volk mit allen ihnen zur Verfügung stehenden magischen Kräften. Die Erzmagier führen magische Klingen und uralte Stäbe, die dazu dienen, ihre gewaltigen Energien im Kampf zu kanalisieren." innovation_blademaster:0 "Klingenmeister" innovation_blademaster_desc:0 "Die kampferprobten orcischen Klingenmeister sind nur wenige an der Zahl, dennoch bilden sie eine Elitetruppe innerhalb der Horde. Als geschickte Schwertkämpfer gehörten sie einst dem todgeweihten Klan der Brennenden Klinge an, der sich dank der dämonischen Verderbnis zu jeder Zeit am Rande der eigenen Zerstörung befinden. " diff --git a/localization/german/wc_lifestyles_physical_l_german.yml b/localization/german/wc_lifestyles_physical_l_german.yml new file mode 100644 index 0000000000..ba1437f3f7 --- /dev/null +++ b/localization/german/wc_lifestyles_physical_l_german.yml @@ -0,0 +1,52 @@ +l_german: + action_lifestyle_physical:0 "$action_can_spend_perk_point$" + action_lifestyle_physical_label:0 "$action_can_spend_perk_point_label$" + action_lifestyle_physical_desc:0 "$action_can_spend_perk_point_desc$" + action_lifestyle_physical_click:0 "$action_can_spend_perk_point_click$" + + physical_lifestyle_name:0 "Physisch" + physical_lifestyle_desc:0 "Focus on training your body and mind, on acquiring the strength to defeat your enemies." + + physical_tree_1_name:0 "Ausdauer" + physical_tree_1_perk_1_name:0 "bruh 1" + physical_tree_1_perk_2_name:0 "bruh 2" + physical_tree_1_perk_3_name:0 "bruh 3" + physical_tree_1_perk_4_name:0 "bruh 4" + physical_tree_1_perk_5_name:0 "bruh 5" + physical_tree_1_perk_6_name:0 "bruh 6" + physical_tree_1_perk_7_name:0 "bruh 7" + physical_tree_1_perk_8_name:0 "bruh 8" + physical_tree_1_perk_9_name:0 "bruh 9" + physical_tree_2_name:0 "Gaunerei" + physical_tree_2_perk_1_name:0 "bruh 1" + physical_tree_2_perk_2_name:0 "bruh 2" + physical_tree_2_perk_3_name:0 "bruh 3" + physical_tree_2_perk_4_name:0 "bruh 4" + physical_tree_2_perk_5_name:0 "bruh 5" + physical_tree_2_perk_6_name:0 "bruh 6" + physical_tree_2_perk_7_name:0 "bruh 7" + physical_tree_2_perk_8_name:0 "bruh 8" + physical_tree_2_perk_9_name:0 "bruh 9" + physical_tree_3_name:0 "Macht" + physical_tree_3_perk_1_name:0 "bruh 1" + physical_tree_3_perk_2_name:0 "bruh 2" + physical_tree_3_perk_3_name:0 "bruh 3" + physical_tree_3_perk_4_name:0 "bruh 4" + physical_tree_3_perk_5_name:0 "bruh 5" + physical_tree_3_perk_6_name:0 "bruh 6" + physical_tree_3_perk_7_name:0 "bruh 7" + physical_tree_3_perk_8_name:0 "bruh 8" + physical_tree_3_perk_9_name:0 "bruh 9" + + physical_focus_1:0 "Zähigkeits-Fokus" + physical_focus_1_focus_desc:0 "Den Körper in guter Form zu halten, ist unerlässlich für alle Unternehmungen." + physical_focus_1_effect_desc:0 "Der Fokus auf Zähigkeit gewährt:" + # physical_focus_1_modifier:0 "[GetFocus('physical_focus_1').GetName]" + physical_focus_2:0 "Geschicklichkeits-Fokus" + physical_focus_2_focus_desc:0 "Eure Feinde werden Euch erst bemerken, wenn es bereits zu spät ist." + physical_focus_2_effect_desc:0 "Der Fokus auf Geschicklichkeits gewährt:" + # physical_focus_2_modifier:0 "[GetFocus('physical_focus_2').GetName]" + physical_focus_3:0 "Stärke-Fokus" + physical_focus_3_focus_desc:0 "Körperliche Stärke ist ausschlaggebend für das Zerschlagen Eurer Feinde!" + physical_focus_3_effect_desc:0 "Der Fokus auf Stärke gewährt:" + # physical_focus_3_modifier:0 "[GetFocus('physical_focus_3').GetName]" diff --git a/localization/german/wc_regiment_l_german.yml b/localization/german/wc_regiment_l_german.yml index 64c76d7886..0c7b6aed4d 100644 --- a/localization/german/wc_regiment_l_german.yml +++ b/localization/german/wc_regiment_l_german.yml @@ -31,7 +31,7 @@ ### Kulturelles Kriegsvolk ## Stammes-Ära - abomination:0 "Monstrositäten" + abomination_maa:0 "Monstrositäten" archmage:0 "Erzmagier" blademaster:0 "Klingenmeister" buccaneer:0 "Bukaniere" @@ -42,7 +42,7 @@ dervishes:0 "Derwische" dire_troll:0 "Terrortrolle" dragon:0 "Drachen" - ghoul:0 "Ghule" + ghoul_maa_flavor:0 "Ghule" gladiator:0 "Gladiatoren" hag:0 "Windhexen" hexer:0 "Hexer" @@ -212,8 +212,8 @@ webspinner_flavor:0 "#F Von klein auf darauf vorbereitet, die Fertigkeit des Netzwerfens zu beherrschen, können diese Neruber jeden Feind oder jede Beute aus großer Entfernung fangen und so leicht töten. Diese Neruber produzieren mehr Spinnweben als üblich und können anstürmende oder fliegende Ziele treffen." # Frühmittelalter - banshee:0 "Banshees" - banshee_flavor:0 "#F Unter den Untoten sind die Banshees wohl die gefürchtetsten, da sie die Fähigkeit besitzen, von den Körpern anderer Besitz zu ergreifen. Selbst in ihrer natürlichen Form sind Banshees eine furchterregende Macht, die Magie einsetzen und einen markerschütternden Schrei ausstoßen können, der ihre Feinde außer Gefecht setzt." + banshee_maa:0 "Banshees" + banshee_maa_flavor:0 "#F Unter den Untoten sind die Banshees wohl die gefürchtetsten, da sie die Fähigkeit besitzen, von den Körpern anderer Besitz zu ergreifen. Selbst in ihrer natürlichen Form sind Banshees eine furchterregende Macht, die Magie einsetzen und einen markerschütternden Schrei ausstoßen können, der ihre Feinde außer Gefecht setzt." infernal:0 "Höllenbestien" infernal_flavor:0 "#F Höllenbestien sind nahezu geistlose Verschmelzungen von Materie und Fel-Energie, die von mächtigeren und intelligenteren Dämonen geschaffen wurden. Als lebende Belagerungswaffen benutzen diese Bestien ihre lodernden Fäuste aus Fel-Feuer und Stein, um ihre Feinde niederzuschlagen." diff --git a/localization/replace/english/wc_character_relations_l_english.yml b/localization/replace/english/wc_character_relations_l_english.yml new file mode 100644 index 0000000000..ac7de01085 --- /dev/null +++ b/localization/replace/english/wc_character_relations_l_english.yml @@ -0,0 +1,3 @@ +l_english: + + TRAIT_DESC_POSITIVE_FOR_LIEGE:0 "This is liked by [CHARACTER.GetShortUIName], [TARGET_CHARACTER.GetShortUINamePossessiveNoTooltip] [liege|E] ([CHARACTER.GetFaith.GetAdjective])" \ No newline at end of file diff --git a/localization/replace/english/wc_game_concepts_l_english.yml b/localization/replace/english/wc_game_concepts_l_english.yml index 422b35ffd9..3a9cd52a6a 100644 --- a/localization/replace/english/wc_game_concepts_l_english.yml +++ b/localization/replace/english/wc_game_concepts_l_english.yml @@ -1,4 +1,30 @@ l_english: + #DESCRIPTION FOR UNITS + game_concept_skirmishers_desc:0 "Skirmishers are [men_at_arms|E] who are lightly armed and skilled in harassing the enemy.\n\nWhile each kind of Skirmisher is unique, they generally [counter|E] [heavy_infantry|E] and [caster|E], and are in turn countered by [archers|E] and [massive_infantry|E]." + game_concept_archers_desc:0 "Ranged Infantry are [men_at_arms|E] who fight on foot with ranged weapons.\n\nWhile each kind of Ranged Infantry is unique, they generally [counter|E] [skirmishers|E] and [light_aerial|E], and are in turn countered by [heavy_cavalry|E] and [light_cavalry|E]." + game_concept_light_cavalry_desc:0 "Light Cavalry are mounted [men_at_arms|E] who excel at scouting and pursuing the enemy.\n\nWhile each kind of Light Cavalry is unique, they generally [counter|E] [archers|E] and [caster|E], and are in turn countered by [spearmen|E].\n\nLight Cavalry are also often strong on flat [terrain|E].\n\nIn comparison with [heavy_cavalry|E], they are usually better at [pursuit|E] and [screen|E]." + game_concept_heavy_cavalry_desc:0 "Heavy Cavalry are mounted, heavily armored [men_at_arms|E]\n\nWhile each kind of Heavy Cavalry is unique, they generally [counter|E] [archers|E] and [caster|E], and are in turn countered by [spearmen|E] and [massive_aerial|E].\n\nHeavy Cavalry are also often strong on flat [terrain|E].\n\nIn comparison with [light_cavalry|E], they are usually stronger at raw [damage|E] and [toughness|E]." + game_concept_spearmen_desc:0 "Spearmen are [men_at_arms|E] who fight on foot with various polearms.\n\nWhile each kind of Spearman is unique, they generally [counter|E] [heavy_cavalry|E], [light_cavalry|E] and [massive_infantry|E], and are in turn countered by [heavy_infantry|E] and [caster|E].\n\nSpearmen are also often strong on hilly and mountainous [terrain|E]." + game_concept_heavy_infantry_desc:0 "Heavy Infantry are [men_at_arms|E] who fight on foot, with heavier armor and weapons.\n\nWhile each kind of Heavy Infantry is unique, they generally [counter|E] [spearmen|E], and are in turn Countered by [skirmishers|E] and [caster|E]." + + #RELIGIOUS + game_concept_religion_desc:0 "A $game_concept_religion$ can consist of many different denominations, called [faiths|E]. Religions, in turn, belong to one of seven larger [religious_families|E]; [GetReligionFamily('rf_death').GetName], [GetReligionFamily('rf_disorder').GetName], [GetReligionFamily('rf_elemental').GetName], [GetReligionFamily('rf_life').GetName], [GetReligionFamily('rf_light').GetName], [GetReligionFamily('rf_shadow').GetName], [GetReligionFamily('rf_order').GetName]." + game_concept_religious_family_desc:0 "A $game_concept_religious_family$ is a group of [religions|E]. The $game_concept_religious_family$ affects how the various Religions, and [faiths|E] therein, view each other. Religions are susceptible to [heresy|E].\n\nThe [GetReligionFamily('rf_life').GetName], [GetReligionFamily('rf_light').GetName], [GetReligionFamily('rf_shadow').GetName] families only condone Holy Wars against other Religious Families.\n\nThe [GetReligionFamily('rf_death').GetName], [GetReligionFamily('rf_disorder').GetName], [GetReligionFamily('rf_elemental').GetName] families condone Holy Wars against everyone.\n\nThe [GetReligionFamily('rf_order').GetName] family does not condone Holy Wars against anyone.\n\nAll these families are especially hostile towards Evil [religions|E] like $shathgral$, $deathbringer$, and $burning_legion_religion$." + #KNIGHT + game_concept_knight_desc:3 "A $game_concept_knight$ is a [vassal|E] or [courtier|E] that fights directly in your [army|E].\n\nDuring [battles|E], $game_concept_knights$ use their [prowess_skill|E] to fight more effectively. A high $game_concept_prowess$ means that they will be able to inflict more damage on the enemy, and are more likely to survive or even emerge from $game_concept_battle$ unscathed.\n\nA character cannot be a [commander|E] and a $game_concept_knight$ at the same time.\n\n#weak Knights can be known by different names depending on [culture] or [faith]. For example, $knight_champion_no_tooltip_plural$, $knight_Deathknight_no_tooltip_plural$ or $knight_Warden_no_tooltip_plural$.\n\nKnights represent both the character and their retinue of troops.#!" + #OTHER + game_concept_organized_desc:0 "An Organized [faith|E] has a religious hierarchy. Worship and practices are more organized and scriptures are formalized.\n\n[GetFaithDoctrine('unreformed_faith_doctrine').GetBaseName] [GetReligionFamily('rf_elemental').GetName] Faiths can become Organized by reforming, while other Faiths are always considered Organized." + #(Paradox has "regions" as singular in both singular and plural versions") + game_concept_regions:0 "Regions" + + game_concept_life_expectancy_desc:0 "$game_concept_life_expectancy$ is the number of years a character is expected to live before dying of natural causes.\n\nA high $game_concept_life_expectancy$ will make characters visibly age slower, be able to produce [children|E] for longer and less likely to get [GetTrait('lovers_pox').GetName( GetNullCharacter )].\n\nIt alters the way [knowledge_overflow|E] works." + + game_concept_heritages:0 "Heritages" + + game_concept_elephant_cavalry:0 "Giant Cavalry" + game_concept_elephant_cavalry_desc:0 "$game_concept_elephant_cavalry$ are mounted, often armored [men_at_arms|E].\n\nWhile each kind of $game_concept_elephant_cavalry$ is unique, they are generally a strong [counter|E] to infantry units, and are in turn countered by [spearmen|E].\n\n$game_concept_elephant_cavalry$ are also often strong in Jungle [terrain|E]." + game_concept_lifestyle_desc:2 "[adult|E] [rulers|E] may choose a $game_concept_lifestyle$, which will in turn allow them to select a [focus|E] and start gaining [perks|E].\n\nEach $game_concept_lifestyle$ has its own type of [experience|E], which is used to purchase $game_concept_perks$. For example, Experience in the [intrigue_lifestyle|E] is necessary to gain $game_concept_perks$ such as [GetPerk( 'dreadful_perk' ).GetName( GetPlayer )] or [GetPerk( 'like_weed_in_a_garden_perk' ).GetName( GetPlayer )].\n\nThe $game_concept_lifestyles$ are:\n$BULLET_WITH_TAB$ [diplomacy_lifestyle|E]\n$BULLET_WITH_TAB$ [stewardship_lifestyle|E]\n$BULLET_WITH_TAB$ [martial_lifestyle|E]\n$BULLET_WITH_TAB$ [intrigue_lifestyle|E]\n$BULLET_WITH_TAB$ [learning_lifestyle|E]\n[wc_mod|E] also adds:\n$BULLET_WITH_TAB$ [wc_light_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_shadow_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_disorder_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_order_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_life_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_death_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_fire_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_water_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_air_magic_lifestyle|E]\n$BULLET_WITH_TAB$ [wc_elemental_earth_magic_lifestyle|E]" + game_concept_heritages:0 "Heritages" game_concept_theocracy_desc:0 "$game_concept_theocracy$ is a [government_form|E] available for some [faiths|E] depending on [doctrines|E]. They are usually lead by a [head_of_faith|E] or a [landed|E] [realm_priest|E]. A Bishop might also become an [independent|E] Theocratic ruler in their own right." theocracy_government_desc:1 "$game_concept_theocracy_desc$\n\n#F In a theocratic government, all authority belongs to a religious institution. It is ruled by a priest or priestess who carries out the will of the divine on Azeroth.#!" diff --git a/localization/spanish/culture/wc_cultural_maa_innovations_l_spanish.yml b/localization/spanish/culture/wc_cultural_maa_innovations_l_spanish.yml index 232d528720..58e573b0d8 100644 --- a/localization/spanish/culture/wc_cultural_maa_innovations_l_spanish.yml +++ b/localization/spanish/culture/wc_cultural_maa_innovations_l_spanish.yml @@ -23,8 +23,8 @@ # Tribal Era # ############## - innovation_archmage:0 "Archimago" - innovation_archmage_desc:0 " Tejiendo sus intrincados encantamientos, estos magos defiendes a su gente con todos los poderes mágicos a su disposición. Los archimagos blanden hojas mágicas y bastones antiguos que les sirven para canalizar las fieras energías en batalla." + innovation_archmagi:0 "Archimago" + innovation_archmagi_desc:0 " Tejiendo sus intrincados encantamientos, estos magos defiendes a su gente con todos los poderes mágicos a su disposición. Los archimagos blanden hojas mágicas y bastones antiguos que les sirven para canalizar las fieras energías en batalla." innovation_blademaster:0 "Maestros de la Espada" innovation_blademaster_desc:0 "Los espadachines orcos endurecidos en batalla son pocos en numero, aun asi forman una fuerza de elite en la Horda. Habilidosos espadachines, una vez formaron parte del perdido clan del Filo Ardiente, que por culpa de la corrupción demoníaca se balancean en al filo de la destrucción." diff --git a/localization/spanish/wc_regiment_l_spanish.yml b/localization/spanish/wc_regiment_l_spanish.yml index 2143eec87a..a642aca16d 100644 --- a/localization/spanish/wc_regiment_l_spanish.yml +++ b/localization/spanish/wc_regiment_l_spanish.yml @@ -31,7 +31,7 @@ ###Cultural MaA ##Tribal - abomination:0 "Abominations" + abomination_maa:0 "Abominations" archmage:0 "Archmagi" blademaster:0 "Blademasters" buccaneer:0 "Buccaneers" @@ -42,7 +42,7 @@ dervishes:0 "Dervishes" dire_troll:0 "Dire Trolls" dragon:0 "Dragons" - ghoul:0 "Ghouls" + ghoul_maa:0 "Ghouls" gladiator:0 "Gladiators" hag:0 "Hags" hexer:0 "Hexers" @@ -104,7 +104,7 @@ ###Cultural MaA Descriptions ##Tribal - abomination_flavor:0 "#F Our creation of the abomination has provided us with an impossibly powerful and durable soldier. Lesser minds might reject them on grounds of 'morals', but we know their value." + abomination_maa_flavor:0 "#F Our creation of the abomination has provided us with an impossibly powerful and durable soldier. Lesser minds might reject them on grounds of 'morals', but we know their value." archmage_flavor:0 "#F Archmagi are capable of extraordinary feats of magic, and are a formidable asset to any army." blademaster_flavor:0 "#F Orcish blademasters have mastered the study of their chosen weapon to a level that is unparalleled, being powerful combatants and skilled duelists." buccaneer_flavor:0 "#F Being pirates, sailors, and mariners, buccaneers may be the most at home when sailing the seas, but their skill at warfare is not inconsiderable when on dry land." @@ -115,7 +115,7 @@ dervishes_flavor:0 "#F Raiders, bandits, and fearsome warriors, the Wastewander Dervishes are a force that have taken the desert and made it their own." dire_troll_flavor:0 "#F Strikingly large and powerful trolls, there are few who can match a dire troll in raw strength, leading to their reputation as elite warriors." dragon_flavor:0 "#F Forged by the titans, wielders of incredible powers, and rulers of the sky. Only a fool would dare challenge a dragon." - ghoul_flavor:0 "#F Ghouls are undead acting as the shock troops for the Scourge. These lumbering, rotting corpses were once innocent townsfolk who have made the final transition into true undeath." + ghoul_maa_flavor:0 "#F Ghouls are undead acting as the shock troops for the Scourge. These lumbering, rotting corpses were once innocent townsfolk who have made the final transition into true undeath." gladiator_flavor:0 "#F Gladiators are raised and trained for life and battle in the arena. This allows them to bring their superior tactics to bear on the battlefield as well." hag_flavor:0 "#F The vicious hags of the tribes are proficient in many of the shamanic spells associated with wind magic. Unleashing these powers on their enemies brings confusion and chaos to their ranks, allowing for lightning-fast attacks and equally fast retreats." hexer_flavor:0 "#F Many know of the spirits, but few can manipulate them with the ease of the hexers. They are capable of debilitating and weakening foes through the invocation of chants, dances, and idols. For all their importance, however, they are somewhat unnerving to be around." @@ -212,8 +212,8 @@ webspinner_flavor:0 "#F Groomed from a young age to harness the skill of web-spinning, these nerubians can catch any foe or prey from large distances, allowing for an easy kill. These nerubians produce more webs than usual and can hit charging or flying targets." #Early Medieval - banshee:0 "Banshees" - banshee_flavor:0 "#F Among the undead, Banshees are possibly the most feared, given their ability to possess the bodies of others. Even in their natural form, Banshees are a terrifying force, wielding magic and a bloodcurdling scream that can incapacitate their enemies." + banshee_maa:0 "Banshees" + banshee_maa_flavor:0 "#F Among the undead, Banshees are possibly the most feared, given their ability to possess the bodies of others. Even in their natural form, Banshees are a terrifying force, wielding magic and a bloodcurdling scream that can incapacitate their enemies." infernal:0 "Infernals" infernal_flavor:0 "#F Infernals are nearly mindless amalgamations of matter and fel energy, created by more powerful and intelligent demons. Acting as living siege weapons, these brutes use their blazing fists of fel fire and stone to hammer down their enemies."