diff --git a/common/focuses/wc_lifestyle_focuses.txt b/common/focuses/wc_lifestyle_focuses.txt index febdc3f0a8..76fab04491 100644 --- a/common/focuses/wc_lifestyle_focuses.txt +++ b/common/focuses/wc_lifestyle_focuses.txt @@ -197,6 +197,10 @@ order_magic_focus_1 = { auto_selection_weight = { value = wc_order_magic_auto_selection_value + if = { + limit = { faith = { has_doctrine = tenet_arcane_scrying } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 24 @@ -217,6 +221,10 @@ order_magic_focus_2 = { auto_selection_weight = { value = wc_order_magic_auto_selection_value + if = { + limit = { faith = { has_doctrine = tenet_arcane_scrying } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 25 @@ -237,6 +245,10 @@ order_magic_focus_3 = { auto_selection_weight = { value = wc_order_magic_auto_selection_value + if = { + limit = { faith = { has_doctrine = tenet_arcane_scrying } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 26 @@ -441,6 +453,9 @@ elemental_water_magic_focus_1 = { auto_selection_weight = { value = wc_elemental_water_spirit_magic_auto_selection_value + if = { limit = { faith = { has_doctrine = tenet_aquatic_divination } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 36 @@ -461,6 +476,9 @@ elemental_water_magic_focus_2 = { auto_selection_weight = { value = wc_elemental_water_magic_auto_selection_value + if = { limit = { faith = { has_doctrine = tenet_aquatic_divination } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 37 @@ -481,6 +499,9 @@ elemental_water_magic_focus_3 = { auto_selection_weight = { value = wc_elemental_water_decay_magic_auto_selection_value + if = { limit = { faith = { has_doctrine = tenet_aquatic_divination } } + multiply = wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value + } } focus_id = 38 diff --git a/common/religion/doctrines/00_core_tenets.txt b/common/religion/doctrines/00_core_tenets.txt index c8748a8198..d9e4cc1175 100644 --- a/common/religion/doctrines/00_core_tenets.txt +++ b/common/religion/doctrines/00_core_tenets.txt @@ -1786,6 +1786,7 @@ } } + # Warcraft (we have better ways of telling the future, but not everyone likes them...) tenet_astrology = { icon = core_tenet_astrology @@ -1798,21 +1799,12 @@ like_judaism_religion_trigger = yes like_islam_religion_trigger = yes } + has_doctrine = doctrine_order_magic_approved } value = faith_tenet_cost_high } - else_if = { - limit = { - OR = { - # Warcraft - like_zoroastrianism_religion_trigger = yes - like_pagan_religion_trigger = yes - } - } - value = faith_tenet_cost_low - } else = { - value = faith_tenet_cost_mid + value = faith_tenet_cost_low } # Multiplier for keeping same tenet @@ -1824,9 +1816,14 @@ # Warcraft is_shown = { + tenet_aquatic_divination_allowed_trigger = no tenet_moon_worship_allowed_trigger = no } + can_pick = { + NOT = { has_doctrine = tenet_arcane_scrying } + } + parameters = { divine_the_stars_active = yes } @@ -3896,4 +3893,91 @@ cannibalism_legal = yes } } + + tenet_arcane_scrying = { + icon = tenet_arcane_scrying + + piety_cost = { + if = { + value = faith_tenet_cost_high + } + + + # Multiplier for keeping same tenet + if = { + limit = { has_doctrine = tenet_arcane_scrying } + multiply = faith_unchanged_doctrine_cost_mult + } + } + + is_shown = { + tenet_moon_worship_allowed_trigger = no + tenet_aquatic_divination_allowed_trigger = no + } + + can_pick = { + incompatible_tenet_MAGIC_magic_not_accepted_trigger = { MAGIC = elemental_water } + NOT = { has_doctrine = tenet_astrology } + } + + parameters = { + divine_the_stars_active = yes + arcane_scrying_opinion_active = yes + opinion_of_arcane_scrying_opinion_active = 15 + arcane_lifestyle_exp_bonus = 0.05 + } + + character_modifier = { + naval_movement_speed_mult = 0.15 + character_travel_safety_mult = 0.5 + intrigue_scheme_resistance = 0.1 + diplomacy_scheme_power = -0.1 + } + } + + tenet_aquatic_divination = { + icon = tenet_aquatic_divination + + piety_cost = { + if = { + limit = { + OR = { + has_doctrine = doctrine_elemental_water_decay_magic_approved + has_doctrine = doctrine_elemental_water_spirit_magic_approved + } + } + value = faith_tenet_cost_low + } + else = { + value = faith_tenet_cost_high + } + + # Multiplier for keeping same tenet + if = { + limit = { has_doctrine = tenet_aquatic_divination } + multiply = faith_unchanged_doctrine_cost_mult + } + } + + is_shown = { + tenet_aquatic_divination_allowed_trigger = yes + } + + can_pick = { + incompatible_tenet_MAGIC_magic_not_accepted_trigger = { MAGIC = order } + } + + parameters = { + divine_the_stars_active = yes + elemental_water_lifestyle_exp_bonus = 0.05 + } + + character_modifier = { + naval_movement_speed_mult = 0.25 + character_travel_safety_mult = 0.5 + intrigue_scheme_resistance = 0.1 + diplomacy_scheme_power = -0.1 + } + } + } diff --git a/common/religion/religions/arcane_group.txt b/common/religion/religions/arcane_group.txt index 3fc3dd3c63..e318d3af65 100644 --- a/common/religion/religions/arcane_group.txt +++ b/common/religion/religions/arcane_group.txt @@ -262,7 +262,7 @@ doctrine = tenet_aniconism doctrine = tenet_hedonistic - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying holy_order_names = { { name = "holy_order_shendralar" } @@ -285,7 +285,7 @@ doctrine = tenet_sun_worship doctrine = tenet_esotericism - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying #Main Group doctrine = doctrine_spiritual_head @@ -319,7 +319,7 @@ holy_site = sunwell_plateau holy_site = nordrassil - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_communal_identity doctrine = tenet_hedonistic diff --git a/common/religion/religions/avian_group.txt b/common/religion/religions/avian_group.txt index 5b853aab9c..683c41a54e 100644 --- a/common/religion/religions/avian_group.txt +++ b/common/religion/religions/avian_group.txt @@ -396,7 +396,7 @@ doctrine = tenet_sun_worship doctrine = tenet_sky_burials - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying #Main Group doctrine = doctrine_pluralism_fundamentalist diff --git a/common/religion/religions/light_group.txt b/common/religion/religions/light_group.txt index 4067c2ff85..17345a0672 100644 --- a/common/religion/religions/light_group.txt +++ b/common/religion/religions/light_group.txt @@ -402,7 +402,7 @@ doctrine = special_doctrine_eastern_kingdoms_syncretism doctrine = tenet_esotericism - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_order_syncretism localization = { diff --git a/common/religion/religions/naarism.txt b/common/religion/religions/naarism.txt index b87ca9f3b2..8557648df9 100644 --- a/common/religion/religions/naarism.txt +++ b/common/religion/religions/naarism.txt @@ -265,7 +265,7 @@ holy_site = lordaeron holy_site = sunwell_plateau - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_pacifism doctrine = tenet_unrelenting_faith @@ -291,7 +291,7 @@ #Main Group doctrine = doctrine_pluralism_fundamentalist - doctrine = tenet_astrology + doctrine = tenet_monasticism doctrine = tenet_armed_pilgrimages doctrine = tenet_unrelenting_faith diff --git a/common/religion/religions/shadow_group.txt b/common/religion/religions/shadow_group.txt index 1264abb1dd..d544e0941d 100644 --- a/common/religion/religions/shadow_group.txt +++ b/common/religion/religions/shadow_group.txt @@ -385,7 +385,7 @@ doctrine = tenet_esotericism #most arcane religions have this doctrine = tenet_communal_identity #forsaken group identity - doctrine = tenet_astrology #most arcane religions have this + doctrine = tenet_arcane_scrying #most arcane religions have this doctrine = doctrine_no_head doctrine = doctrine_theocracy_lay_clergy diff --git a/common/religion/religions/shathgral_group.txt b/common/religion/religions/shathgral_group.txt index 032f936bef..be82411d3b 100644 --- a/common/religion/religions/shathgral_group.txt +++ b/common/religion/religions/shathgral_group.txt @@ -293,7 +293,7 @@ doctrine = tenet_sacred_shadows doctrine = tenet_ritual_cannibalism - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying localization = { #HighGod diff --git a/common/religion/religions/titanic_group.txt b/common/religion/religions/titanic_group.txt index f0ce17d127..4799db74a2 100644 --- a/common/religion/religions/titanic_group.txt +++ b/common/religion/religions/titanic_group.txt @@ -287,7 +287,7 @@ holy_site = dun_niffelem doctrine = tenet_progressivism - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_pacifism holy_order_names = { @@ -344,7 +344,7 @@ doctrine = tenet_warmonger # doctrine = tenet_sun_worship - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_progressivism #Magic diff --git a/common/religion/religions/void_group.txt b/common/religion/religions/void_group.txt index 364ec93945..5cf2e8aa01 100644 --- a/common/religion/religions/void_group.txt +++ b/common/religion/religions/void_group.txt @@ -253,7 +253,7 @@ holy_site = andaroth holy_site = dalaran - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_esotericism doctrine = tenet_mendicant_preachers diff --git a/common/religion/religions/water_group.txt b/common/religion/religions/water_group.txt index 7789801f2f..709a120991 100644 --- a/common/religion/religions/water_group.txt +++ b/common/religion/religions/water_group.txt @@ -366,7 +366,7 @@ doctrine = doctrine_temporal_head doctrine = doctrine_gender_male_dominated - doctrine = tenet_astrology + doctrine = tenet_aquatic_divination doctrine = tenet_ancestor_worship doctrine = tenet_communal_identity @@ -515,7 +515,7 @@ #Special doctrine = special_doctrine_eastern_kingdoms_syncretism - doctrine = tenet_astrology + doctrine = tenet_aquatic_divination doctrine = tenet_monasticism doctrine = tenet_mendicant_preachers diff --git a/common/religion/religions/wc_draconism.txt b/common/religion/religions/wc_draconism.txt index 7e971ce5f2..51562e025c 100644 --- a/common/religion/religions/wc_draconism.txt +++ b/common/religion/religions/wc_draconism.txt @@ -370,7 +370,7 @@ holy_site = sunwell_plateau holy_site = azurewing_rest - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying doctrine = tenet_unrelenting_faith doctrine = tenet_esotericism @@ -405,7 +405,7 @@ doctrine = tenet_unrelenting_faith doctrine = tenet_communal_identity - doctrine = tenet_astrology + doctrine = tenet_arcane_scrying localization = { #Creator diff --git a/common/script_values/wc_lifestyles_values.txt b/common/script_values/wc_lifestyles_values.txt index b7f23f74c6..2caf0794a1 100644 --- a/common/script_values/wc_lifestyles_values.txt +++ b/common/script_values/wc_lifestyles_values.txt @@ -732,6 +732,8 @@ wc_magic_lifestyle_auto_selection_weight_magic_talent_add_to_base_value = { @wc_local_lifestyle_multiply_mod_positive_small = 3 @wc_local_lifestyle_multiply_mod_positive_tiny = 1.5 +@wc_local_lifestyle_multiply_mod_negative_extreme = 0.05 +@wc_local_lifestyle_multiply_mod_negative_big = 0.1 @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 @@ -887,10 +889,14 @@ wc_light_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = light } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = light } } + multiply = learn_illegal_magic_weight_light_life_spirit + } } wc_shadow_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -929,10 +935,14 @@ wc_shadow_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = shadow } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = shadow } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } } wc_disorder_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -971,10 +981,14 @@ wc_disorder_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = disorder } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = disorder } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } } wc_order_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -1005,10 +1019,14 @@ wc_order_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = order } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = order } } + multiply = learn_illegal_magic_weight_order + } } wc_life_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -1043,10 +1061,14 @@ wc_life_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = life } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = life } } + multiply = learn_illegal_magic_weight_light_life_spirit + } } wc_death_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -1085,10 +1107,14 @@ wc_death_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = death } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = death } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } } wc_elemental_fire_magic_auto_selection_value = { value = @[wc_local_lifestyle_auto_selection_weight_base_value] @@ -1123,10 +1149,14 @@ wc_elemental_fire_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire } } + multiply = learn_illegal_magic_elemental_control + } # Traits if = { # Elemental duality - passion @@ -1179,10 +1209,14 @@ wc_elemental_water_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water } } + multiply = learn_illegal_magic_elemental_control + } # Traits if = { # Elemental duality - tranquility limit = { has_trait = calm } @@ -1234,10 +1268,14 @@ wc_elemental_air_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air } } + multiply = learn_illegal_magic_elemental_control + } # Traits if = { # Elemental duality - cunning limit = { has_trait = deceitful } @@ -1300,10 +1338,14 @@ wc_elemental_earth_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth } } + multiply = learn_illegal_magic_elemental_control + } # Traits if = { # Elemental duality - stability limit = { has_trait = just } @@ -1333,10 +1375,14 @@ wc_elemental_fire_spirit_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_spirit } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_spirit } } + multiply = learn_illegal_magic_weight_light_life_spirit + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value } @@ -1351,10 +1397,14 @@ wc_elemental_water_spirit_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_spirit } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_spirit } } + multiply = learn_illegal_magic_weight_light_life_spirit + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value } @@ -1369,10 +1419,14 @@ wc_elemental_air_spirit_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_spirit } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_spirit } } + multiply = learn_illegal_magic_weight_light_life_spirit + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value } @@ -1387,10 +1441,14 @@ wc_elemental_earth_spirit_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_spirit } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_spirit } } + multiply = learn_illegal_magic_weight_light_life_spirit + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_spirit_magic_value } @@ -1405,10 +1463,14 @@ wc_elemental_fire_decay_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_decay } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_fire_decay } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value } @@ -1423,10 +1485,14 @@ wc_elemental_water_decay_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_decay } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_water_decay } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value } @@ -1441,10 +1507,14 @@ wc_elemental_air_decay_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_decay } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_air_decay} } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value } @@ -1459,15 +1529,160 @@ wc_elemental_earth_decay_magic_auto_selection_value = { if = { limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_decay } - NOT = { has_trait = cynical } + may_attempt_to_learn_illegal_magic_trigger = no } multiply = 0 } + else_if = { + limit = { MAGIC_is_shunned_or_illegal_trigger = { MAGIC = elemental_earth_decay } } + multiply = learn_illegal_magic_weight_death_disorder_shadow_decay + } multiply = wc_magic_lifestyle_focus_selection_weight_multiply_elemental_decay_magic_value } +learn_illegal_magic_weight_general = { # utility only, use the other three + value = 0 + if = { limit = { has_trait = eccentric } + add = 0.15 + } + if = { limit = { has_trait = cynical } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { + limit = { + has_trait = paranoid + } + subtract = @wc_local_lifestyle_multiply_mod_negative_extreme + } + if = { + limit = { + has_trait = craven + } + subtract = @wc_local_lifestyle_multiply_mod_negative_extreme + } + min = 0 #cant be negative +} +learn_illegal_magic_weight_light_life_spirit = { + value = learn_illegal_magic_weight_general + + if = { limit = { has_trait = compassionate } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = humble } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = arrogant } + subtract = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = cynical} + subtract = @wc_local_lifestyle_multiply_mod_negative_medium + } + + min = 0 +} +learn_illegal_magic_weight_death_disorder_shadow_decay = { + value = learn_illegal_magic_weight_general + + if = { limit = { has_trait = compassionate } + subtract = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = humble } + subtract = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = callous } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = arbitrary } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + if = { limit = { has_trait = sadistic } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + + min = 0 +} +learn_illegal_magic_weight_order = { + value = learn_illegal_magic_weight_general + + if = { limit = { has_trait = cynical } + add = @wc_local_lifestyle_multiply_mod_negative_extreme + } + if = { + limit = { + OR = { has_trait = magic_good_1 has_trait = magic_good has_trait = magic_good_noninheritable } + } + add = @wc_local_lifestyle_multiply_mod_negative_extreme + } + else_if = { + limit = { + OR = { has_trait = magic_good_2 } + } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + else_if = { + limit = { + OR = { has_trait = magic_good_3 } + } + add = @wc_local_lifestyle_multiply_mod_negative_medium + } + if = { + limit = { + OR = { has_trait = magic_bad_1 has_trait = magic_bad has_trait = magic_bad_noninheritable } + } + subtract = @wc_local_lifestyle_multiply_mod_negative_extreme + } + else_if = { + limit = { + OR = { has_trait = magic_bad_2 } + } + subtract = @wc_local_lifestyle_multiply_mod_negative_big + } + else_if = { + limit = { + OR = { has_trait = magic_bad_3 } + } + subtract = @wc_local_lifestyle_multiply_mod_negative_medium + } + if = { limit = { has_trait = education_learning_4 } + add = @wc_local_lifestyle_multiply_mod_negative_extreme + } + else_if = { limit = { has_trait = education_learning_5 } + add = @wc_local_lifestyle_multiply_mod_negative_big + } + min = 0 +} +learn_illegal_magic_elemental_control = { + value = learn_illegal_magic_weight_order + + if = { + limit = { + culture = { has_cultural_era_or_later = culture_era_early_medieval } + NOT = { + OR = { + faith = { has_doctrine = doctrine_elemental_fire_magic_accepted } + faith = { has_doctrine = doctrine_elemental_fire_spirit_magic_accepted } + faith = { has_doctrine = doctrine_elemental_fire_decay_magic_accepted } + faith = { has_doctrine = doctrine_elemental_water_magic_accepted } + faith = { has_doctrine = doctrine_elemental_water_spirit_magic_accepted } + faith = { has_doctrine = doctrine_elemental_water_decay_magic_accepted } + faith = { has_doctrine = doctrine_elemental_air_magic_accepted } + faith = { has_doctrine = doctrine_elemental_air_spirit_magic_accepted } + faith = { has_doctrine = doctrine_elemental_air_decay_magic_accepted } + faith = { has_doctrine = doctrine_elemental_earth_magic_accepted } + faith = { has_doctrine = doctrine_elemental_earth_spirit_magic_accepted } + faith = { has_doctrine = doctrine_elemental_earth_decay_magic_accepted } + } + } + } + multiply = 0 + } +} + +wc_lifestyle_focus_auto_selection_weight_multiply_from_doctrine_value = 3 + wc_lifestyle_perk_auto_selection_weight_multiply_from_focus_value = 5 +wc_lifestyle_perk_auto_selection_weight_multiply_from_approved_value = 2 wc_min_elemental_favour_value = -100 wc_max_elemental_favour_value = 100 diff --git a/common/scripted_triggers/wc_lifestyles_triggers.txt b/common/scripted_triggers/wc_lifestyles_triggers.txt index 52f50cdcb7..a36bd054c8 100644 --- a/common/scripted_triggers/wc_lifestyles_triggers.txt +++ b/common/scripted_triggers/wc_lifestyles_triggers.txt @@ -2,12 +2,6 @@ # 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 } @@ -19,6 +13,24 @@ can_openly_learn_magic_type_trigger = { } } +# elunic stratification edge cases for legality +can_learn_magic_under_elunic_stratification = { + OR = { + AND = { + flag:$MAGICTYPE$ = flag:light + faith = { has_doctrine_parameter = elunic_light_magic_female_only } + is_male = no + has_trait_with_flag = children_of_cenarius_family + } + AND = { + flag:$MAGICTYPE$ = flag:life + faith = { has_doctrine_parameter = elunic_life_magic_male_only } + is_male = yes + has_trait_with_flag = children_of_cenarius_family + } + } +} + # magic is shunned /criminal triggers is_magic_type_shunned_trigger = { faith = { has_doctrine_parameter = $MAGICTYPE$_magic_shunned } @@ -568,11 +580,17 @@ can_spend_perks_in_elemental_MAGIC_magic_lifestyle_tree_TREE_trigger = { # Creat $MAGIC$_magic_lifestyle_tree_1_finished_or_not_started_trigger = yes $MAGIC$_magic_lifestyle_tree_2_finished_or_not_started_trigger = yes - $MAGIC$_magic_lifestyle_tree_3_finished_or_not_started_trigger = yes } } } +may_attempt_to_learn_illegal_magic_trigger = { + NOT = { + has_trait = just + has_trait = zealous + } +} + # Triggers for elemental goodwill mechanic wc_ELEMENT_favour_TENSE_disposition_is_neutral_trigger = { wc_$ELEMENT$_favour_$TENSE$_value < wc_spirit_elemental_favour_threshold_value diff --git a/common/scripted_triggers/wc_religious_triggers.txt b/common/scripted_triggers/wc_religious_triggers.txt index d33885f382..449c04cfd2 100644 --- a/common/scripted_triggers/wc_religious_triggers.txt +++ b/common/scripted_triggers/wc_religious_triggers.txt @@ -320,6 +320,11 @@ tenet_moon_worship_allowed_trigger = { is_in_family = rf_life } } +tenet_aquatic_divination_allowed_trigger = { + religion = { + is_in_family = rf_elemental + } +} tenet_bloody_feast_allowed_trigger = { OR = { religion = religion:druidism_group @@ -415,7 +420,7 @@ has_doctrine_tenet_ritual_cannibalism_trigger = { } has_doctrine_tenet_astrology_trigger = { OR = { - has_doctrine = tenet_astrology + has_doctrine = tenet_arcane_scrying has_doctrine = tenet_moon_worship } } diff --git a/gfx/interface/icons/faith_doctrines/tenet_aquatic_divination.dds b/gfx/interface/icons/faith_doctrines/tenet_aquatic_divination.dds new file mode 100644 index 0000000000..0cffb7b886 Binary files /dev/null and b/gfx/interface/icons/faith_doctrines/tenet_aquatic_divination.dds differ diff --git a/gfx/interface/icons/faith_doctrines/tenet_arcane_scrying.dds b/gfx/interface/icons/faith_doctrines/tenet_arcane_scrying.dds new file mode 100644 index 0000000000..74e0de1fbf Binary files /dev/null and b/gfx/interface/icons/faith_doctrines/tenet_arcane_scrying.dds differ diff --git a/localization/english/religion/wc_core_tenets_l_english.yml b/localization/english/religion/wc_core_tenets_l_english.yml index 82d0df879c..967c736623 100644 --- a/localization/english/religion/wc_core_tenets_l_english.yml +++ b/localization/english/religion/wc_core_tenets_l_english.yml @@ -52,6 +52,8 @@ tenet_progressivism_name:0 "Progressivism" tenet_progressivism_desc:0 "We see progress as an absolute good. Our society focuses on technological development and highly values tinkers and scientists." doctrine_parameter_progressivist_opinion_active:0 "" + progressivist_opinion_active_opinion_name:0 "Hated Progressivist" + progressivist_opinion_active_county_opinion_name:0 "Hated Progressivist" doctrine_parameter_opinion_of_progressivist_opinion_active:0 "[opinion|E] of Progressivists: $VALUE|+=0$" INCOMPATIBLE_TENET_PROGRESSIVISM_TRIGGER:1 "Incompatible with the [core_tenet|E] [GetFaithDoctrine('tenet_progressivism').GetName( GetPlayer.GetFaith )]" INCOMPATIBLE_TENET_INTOLERANCE_TRIGGER:1 "We have nothing to learn from these inferior faiths" @@ -70,7 +72,7 @@ INCOMPATIBLE_TENET_PRIMITIVISM_TRIGGER:1 "Incompatible with the [core_tenet|E] [GetFaithDoctrine('tenet_natural_primitivism').GetName( GetPlayer.GetFaith )]" tenet_moon_worship_name:0 "Moon Worship" - tenet_moon_worship_desc:0 "In years of hardship, we gaze into the night sky. The stars protect us. The moonlight caresses and heals our wounds. One day, we will be reunited with the ancestors on the firmament." + tenet_moon_worship_desc:0 "In years of hardship, we gaze into the night sky. The stars protect us. The moonlight caresses and heals our wounds. One day, we will be reunited with our ancestors in the firmament." doctrine_parameter_hostility_override_shathgral_hostility_doctrine:1 "Considers $shathgral_adj$ [faiths|E], and is considered by $shathgral_adj$ [faiths|E], to be [GetHostilityLevelName( TOKEN_PARAMETER.GetIntValue )|V]" doctrine_parameter_hostility_override_death_god_hostility_doctrine:1 "Considers $deathbringer_adj$ [faiths|E], and is considered by $deathbringer_adj$ [faiths|E], to be [GetHostilityLevelName( TOKEN_PARAMETER.GetIntValue )|V]" @@ -124,6 +126,12 @@ incompatible_tenet_bloody_feast_trigger_first_not:0 "Incompatible with the [core_tenet|E] [GetFaithDoctrine('tenet_bloody_feast').GetName( GetPlayer.GetFaith )]" tenet_bloody_feast_name:0 "Blood Feast" tenet_bloody_feast_desc:0 "The most valuable sacrifice we can offer is the sacrifice of sentient life. Blood goes to the divine while the flesh can be consumed to absorb the wisdom and strength of the deceased." + + tenet_arcane_scrying_name:0 "Arcane Scrying" + tenet_arcane_scrying_desc:0 "Where our ancestors used primitive tools to watch the stars; we divine the future, present, and past via direct interaction with the powers of the Arcane." + doctrine_parameter_arcane_scrying_opinion_active:0 "" + arcane_scrying_opinion_active_opinion_name:0 "Acknowledged Arcanist" + arcane_scrying_opinion_active_county_opinion_name:0 "Acknowledged Arcanist" doctrine_legions_puppet_name:0 "$special_doctrine_legions_puppet_name$" special_doctrine_legions_puppet_name:0 "$game_concept_legions_puppet$" diff --git a/localization/english/wc_custom_titles_l_english.yml b/localization/english/wc_custom_titles_l_english.yml index ee320da6db..1e4065dd90 100644 --- a/localization/english/wc_custom_titles_l_english.yml +++ b/localization/english/wc_custom_titles_l_english.yml @@ -6177,7 +6177,7 @@ c_caverns_of_time:0 "Caverns of Time" c_caverns_of_time_adj:0 "Caverns of Timean" c_cenarius:0 "Cenarius" - c_cenarius_adj:0 "Cenariusian" + c_cenarius_adj:0 "Cenarian" c_cenkhaq:0 "Cenkhaq" c_cenkhaq_adj:0 "Cenkhaqian" c_central_delta:0 "Central Delta"