Skip to content

Commit

Permalink
Merge pull request #1283 from Warcraft-GoA-Development-Team/forsaken_…
Browse files Browse the repository at this point in the history
…story_cycle

Forsaken story cycle
  • Loading branch information
edmund-h authored Jan 4, 2024
2 parents 044791d + 90d2f69 commit 862e1e2
Show file tree
Hide file tree
Showing 14 changed files with 2,230 additions and 178 deletions.
14 changes: 14 additions & 0 deletions common/council_tasks/00_court_chaplain_tasks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -449,6 +449,20 @@ task_conversion = {
desc = theramore_faith_convertion_bonus_add
}
}
if = {
limit = {
scope:councillor_liege = {
OR = {
var:propaganda_campaign ?= flag:religious
var:propaganda_campaign ?= flag:cultural_and_religious
}
}
}
multiply = {
value = 1.3
desc = propaganda_campaign_bonus_add
}
}
}

potential_county = {
Expand Down
15 changes: 15 additions & 0 deletions common/council_tasks/00_steward_tasks.txt
Original file line number Diff line number Diff line change
Expand Up @@ -795,6 +795,21 @@ task_promote_culture = {
}
}

if = {
limit = {
scope:councillor_liege = {
OR = {
var:propaganda_campaign ?= flag:cultural
var:propaganda_campaign ?= flag:cultural_and_religious
}
}
}
multiply = {
value = 1.3
desc = propaganda_campaign_bonus_add
}
}

}

potential_county = {
Expand Down
4 changes: 4 additions & 0 deletions common/deathreasons/wc_event_deaths.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,8 @@ death_wandering_isle = {
}
death_plague = {
icon = "death_disease.dds"
}

death_arcane_explosion = {
icon = "death_natural.dds"
}
28 changes: 9 additions & 19 deletions common/decisions/wc_lordaeron_decisions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@ develop_the_undercity = {
prestige_level >= 2

religion = { is_in_family = rf_shadow }

is_of_forsaken_like_culture = yes
}

cost = {
Expand All @@ -35,7 +33,7 @@ develop_the_undercity = {
set_variable = {
name = develop_the_undercity
value = flag:construction
years = 3
days = 750
}
}

Expand All @@ -45,26 +43,12 @@ develop_the_undercity = {
}
set_realm_capital = title:c_lordaeron
}
debug_log = "SS - will trigger lordaeron.1001"

hidden_effect = {
if = {
limit = {
exists = top_liege
top_liege = {
is_of_forsaken_like_culture = yes
}
}
set_global_variable = { name = sylvanas_character value = top_liege }
}
else = {
set_global_variable = { name = sylvanas_character value = root }
}
trigger_event = {
id = lordaeron.1001
years = 2
delayed = yes
limit = { NOT = {any_owned_story = { story_type = story_cycle_forsaken_origins } } }
}
create_story = story_cycle_forsaken_origins
}

show_as_tooltip = {
Expand All @@ -75,6 +59,12 @@ develop_the_undercity = {
modifier = wc_building_undercity
years = 2
}
hidden_effect = {
trigger_event = {
on_action = undercity_complete_on_action
years = 2
}
}
}
}

Expand Down
69 changes: 69 additions & 0 deletions common/modifiers/wc_event_modifiers.txt
Original file line number Diff line number Diff line change
Expand Up @@ -204,6 +204,58 @@ wc_forsaken_embraced_selinite_modifier = {
learning_per_piety_level = 1
}

wc_executed_religious_minority_modifier = {
icon = social_negative
minority_different_faith_opinion = -10
theocracy_government_opinion_same_faith = 10
dread_gain_mult = 0.1
}

#forsaken.9002 dangerous option
wc_alchemist_altered_troops = {
icon = martial_positive
knight_effectiveness_mult = 0.25
massive_infantry_damage_add = 40
monthly_prestige_gain_per_knight_add = -0.1
men_at_arms_maintenance = 0.1
}

wc_arcanist_educated_casters = {
icon = martial_positive
caster_damage_add = 30
caster_siege_value_add = 5
clergy_opinion = -5
religious_vassal_opinion = -5
}

#forsaken.9002 safe option
wc_alchemist_equipped_troops = {
icon = martial_positive
heavy_infantry_screen_add = 10
skirmishers_screen_add = 10
caster_siege_value_add = 5
clergy_opinion = -5
religious_vassal_opinion = -5
}

wc_arcanist_equipped_troops = {
icon = martial_positive
knight_effectiveness_mult = 0.25
religious_vassal_opinion = -5
clergy_opinion = -5
}

#temporary modifier until new building ironed out
wc_medium_development_growth_factor = {
icon = county_modifier_development_positive
development_growth_factor = medium_development_growth_gain
}

wc_wreckage_salvaging = {
icon = stewardship_positive
tax_mult = 0.10
}

#Exodar modifiers
wc_exodar_crystal_high = {
icon = wc_exodar_crystal_high
Expand All @@ -226,3 +278,20 @@ wc_exodar_crystal_low = {
levy_reinforcement_rate = -0.25
travel_danger = 10
}

# Propaganda Campaign Modifiers
wc_propaganda_campaign_cultural = {
icon = prestige_positive
monthly_prestige = 0.1
}

wc_propaganda_campaign_religious = {
icon = piety_positive
monthly_piety = 0.1
}

wc_propaganda_campaign_cultural_and_religious = {
icon = diplomacy_positive
monthly_prestige = 0.1
monthly_piety = 0.1
}
12 changes: 0 additions & 12 deletions common/on_action/title_on_actions.txt
Original file line number Diff line number Diff line change
Expand Up @@ -441,18 +441,6 @@ on_title_lost = {
}
}

#TODO: Replace with story cycle check!
if = {
limit = {
scope:title = {
this = title:c_lordaeron
}
}
trigger_event = {
on_action = lordaeron_lost_on_action
}
}

# Memories
# Lost a significant title
if = {
Expand Down
35 changes: 32 additions & 3 deletions common/on_action/wc_lordaeron_on_actions.txt
Original file line number Diff line number Diff line change
@@ -1,10 +1,39 @@


#TODO: remove this and turn forsaken events into a story cycle
lordaeron_lost_on_action = {
#Undercity construction happy path = construction (started by decision) -> ready (completed by on_action) -> finished (verified by forsaken.1001)
undercity_complete_on_action = {

effect = {
lordaeron_check_undercity_being_built = yes
title:b_lordaeron = {
debug_log = "SS - undercity_complete_on_action"
if = {
limit = { var:develop_the_undercity = flag:construction }
set_variable = {
name = develop_the_undercity
value = flag:ready
}
}
title_province = { remove_province_modifier = wc_building_undercity }
}
}
}

# Forsaken random events
random_yearly_playable_pulse = {

random_events = {
chance_of_no_event = {
value = 50
if = {
limit = { is_of_forsaken_like_culture = no }
add = 50
}
}

10 = forsaken.9001
10 = forsaken.9002
10 = forsaken.9003
10 = forsaken.9004
}

}
93 changes: 78 additions & 15 deletions common/scripted_effects/wc_lordaeron_effects.txt
Original file line number Diff line number Diff line change
@@ -1,23 +1,86 @@

#coming from title_on_actions we should have root = prev holder, scope:title = title is c_lordaeron changing hands, scope:new_holder = new holder
lordaeron_check_undercity_being_built = {
if = {
try_to_set_forsaken_origin_story_owner = {
if = {
limit = { $NEW_OWNER$ = { is_of_forsaken_like_culture = yes } }
$NEW_OWNER$ = {
trigger_event = {
id = forsaken.1003
days = 1
}
}
make_story_owner = $NEW_OWNER$
}
else = {
end_story = yes
}
}

create_dispersed_crypto_religionists = {

$FAITH$ = {
save_scope_as = crypto_faith
}

every_vassal_or_below = {
limit = {
self_or_liege_is_of_forsaken_like_culture = yes
scope:new_holder = {
self_or_liege_is_of_forsaken_like_culture = no
faith.religion = scope:crypto_faith.religion
NOT = { government_has_flag = government_is_theocracy }
}
add_to_temporary_list = tmp_courts
}
while = {
count = 3 # in three different courts...
random_in_list = {
list = tmp_courts
every_courtier_or_guest = {
limit = {
NAND = {
has_council_position = councillor_court_chaplain
NOR = {
faith = scope:crypto_faith
piety_level >= 2
exists = secret_faith
}
NOR = { has_trait = zealous has_trait = loyal has_trait = holy_warrior has_trait = stubborn }
}
}
add_to_temporary_list = tmp_potential_cryptos
}
title:b_lordaeron = {
var:develop_the_undercity ?= flag:construction
remove_from_list = tmp_courts
}
}

while = {
count = 4 # ...four different people will convert to forgotten shadow
random_in_list = {
list = tmp_potential_cryptos
make_character_crypto_religionist_effect = { CRYPTO_RELIGION = faith:forgotten_shadow }
remove_from_list = tmp_potential_cryptos
}
}
#total: 12 characters will adopt Forgotten Shadow secretly
}

chance_convert_county_to_selinite = {
random_list = {
55 = {
modifier = { add = 5 has_trait = zealous}
modifier = { add = 5 piety_level >= 3 }
modifier = { add = 5 piety_level >= 4 }
modifier = { add = 5 learning > decent_skill_rating }
modifier = { add = 5 dread > 20 }
modifier = { add = 5 dread > 40 }
modifier = { add = 5 dread > 60 }
modifier = { add = -15 dread > 80 }
modifier = { factor = 0.1 NOT = { faith = faith:forsaken_cult } }
# modifier for court chaplain piety level or intelligence?
title:c_lordaeron = {
set_county_faith = faith:forsaken_cult
}
}
global_var:sylvanas_character = {
if = {
limit = { is_alive = yes }
trigger_event = {
id = lordaeron.1002
days = 7
}
45 = {
title:c_lordaeron = {
set_county_faith = faith:forgotten_shadow
}
}
}
Expand Down
Loading

0 comments on commit 862e1e2

Please sign in to comment.