feat(decisions): add training, metal supply, and sandbox decisions

Add train_allomancer_decision for mentoring family members to
strengthen Allomantic ability. Add acquire_metal_supply_decision
and acquire_metals_black_market_decision for Allomantic metal
procurement. Add discover_metallic_arts_decision for sandbox mode
voluntary power testing. Add duralumin/nicroburst to compounding
decision trigger list.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-02-07 22:36:24 +01:00
co-authored by Claude Opus 4.6
parent 8dcc8b941f
commit 5e44459a6f
@@ -129,6 +129,77 @@ subject_heir_to_snapping_decision = {
}
}
# Train an Allomancer - mentor a family member to strengthen their Allomancy
train_allomancer_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds" }
desc = train_allomancer_decision_desc
selection_tooltip = train_allomancer_decision_tooltip
ai_check_interval = 120
is_shown = {
is_ruler = yes
OR = {
is_allomancer_trigger = yes
any_courtier = { is_allomancer_trigger = yes }
}
any_close_or_extended_family_member = {
is_allomancer_trigger = yes
NOT = { has_trait = trait_allomantic_strong }
NOT = { has_trait = trait_allomantic_savant }
NOT = { has_character_flag = undergoing_allomantic_training }
}
}
is_valid = {
gold >= 100
OR = {
is_allomancer_trigger = yes
any_courtier = { is_allomancer_trigger = yes }
}
}
is_valid_showing_failures_only = {
is_available_adult = yes
}
cost = {
gold = 100
}
cooldown = { years = 3 }
effect = {
random_close_or_extended_family_member = {
limit = {
is_allomancer_trigger = yes
NOT = { has_trait = trait_allomantic_strong }
NOT = { has_trait = trait_allomantic_savant }
NOT = { has_character_flag = undergoing_allomantic_training }
}
save_scope_as = training_pupil
add_character_flag = {
flag = undergoing_allomantic_training
years = 5
}
}
trigger_event = mistborn_training.0001
}
ai_potential = {
always = yes
}
ai_will_do = {
base = 40
modifier = {
factor = 2
is_allomancer_trigger = yes
}
}
}
# Breed for Allomancy - focus bloodline efforts on strengthening Allomantic traits
breed_for_allomancy_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_dynasty_house.dds" }
@@ -283,6 +354,8 @@ commission_hemalurgic_spike_decision = {
has_trait = trait_misting_seeker
has_trait = trait_misting_augur
has_trait = trait_misting_oracle
has_trait = trait_misting_duralumin
has_trait = trait_misting_nicroburst
}
}
}
@@ -622,3 +695,190 @@ recruit_skaa_allomancer_decision = {
}
}
}
# Acquire Metal Supply - purchase metals for Allomantic use
acquire_metal_supply_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_misc.dds" }
desc = acquire_metal_supply_decision_desc
selection_tooltip = acquire_metal_supply_decision_tooltip
ai_check_interval = 60
is_shown = {
is_allomancer_trigger = yes
}
is_valid = {
is_allomancer_trigger = yes
NOT = { has_character_modifier = metal_reserves_abundant }
gold >= 50
}
is_valid_showing_failures_only = {
is_available_adult = yes
}
cost = {
gold = 50
}
cooldown = { years = 1 }
effect = {
# Additional cost for Mistborn (burn more metal)
if = {
limit = { has_trait = trait_mistborn }
remove_short_term_gold = 50
}
# Additional cost for savants (burn metal constantly)
if = {
limit = { has_trait = trait_allomantic_savant }
remove_short_term_gold = 50
}
remove_character_modifier = metal_reserves_low
remove_character_modifier = metal_reserves_depleted
add_character_modifier = {
modifier = metal_reserves_abundant
years = 2
}
}
ai_potential = {
is_allomancer_trigger = yes
}
ai_will_do = {
base = 80
}
}
# Acquire Metals on the Black Market - risky route for skaa and the desperate
acquire_metals_black_market_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_skulduggery.dds" }
desc = acquire_metals_black_market_decision_desc
selection_tooltip = acquire_metals_black_market_decision_tooltip
ai_check_interval = 90
is_shown = {
is_allomancer_trigger = yes
OR = {
is_skaa_trigger = yes
gold < 50
}
}
is_valid = {
is_allomancer_trigger = yes
NOT = { has_character_modifier = metal_reserves_abundant }
gold >= 20
intrigue >= 6
}
is_valid_showing_failures_only = {
is_available_adult = yes
}
cost = {
gold = 20
}
cooldown = { years = 1 }
effect = {
random_list = {
70 = {
modifier = {
factor = 1.3
intrigue >= 15
}
# Success — metals acquired through underground channels
remove_character_modifier = metal_reserves_low
remove_character_modifier = metal_reserves_depleted
add_character_modifier = {
modifier = metal_reserves_abundant
years = 1
}
custom_tooltip = acquire_metals_black_market_success_tt
}
30 = {
modifier = {
factor = 0.7
intrigue >= 15
}
# Failure — caught or cheated, draws attention
increase_lord_ruler_attention_effect = yes
add_character_modifier = {
modifier = metal_reserves_low
years = 1
}
custom_tooltip = acquire_metals_black_market_failure_tt
}
}
}
ai_potential = {
is_allomancer_trigger = yes
}
ai_will_do = {
base = 60
modifier = {
factor = 1.5
intrigue >= 15
}
modifier = {
factor = 0.5
has_character_modifier = lord_ruler_attention_1
}
modifier = {
factor = 0
has_character_modifier = lord_ruler_attention_2
}
}
}
# Discover Your Metallic Arts - Sandbox Mode only
# Allows any character to test for Allomantic/Feruchemical potential
discover_metallic_arts_decision = {
picture = { reference = "gfx/interface/illustrations/decisions/decision_personal_religious.dds" }
desc = discover_metallic_arts_decision_desc
selection_tooltip = discover_metallic_arts_decision_tooltip
ai_check_interval = 0 # AI should not use this
is_shown = {
is_sandbox_mode_trigger = yes
NOT = { is_allomancer_trigger = yes }
NOT = { is_feruchemist_trigger = yes }
NOT = { has_character_flag = tried_metallic_arts_discovery }
}
is_valid = {
is_sandbox_mode_trigger = yes
age >= 16
NOT = { has_character_flag = tried_metallic_arts_discovery }
}
is_valid_showing_failures_only = {
is_available_adult = yes
}
cost = {
gold = 200
prestige = 100
}
cooldown = { years = 5 }
effect = {
add_character_flag = {
flag = tried_metallic_arts_discovery
years = 5
}
trigger_event = mistborn_sandbox.0001
}
}