﻿namespace = magical_manager

magical_manager.0001 = {
    type = character_event
    override_background = { reference = magical_throneroom }
    title = magic_build_manager.0001.t
    desc = magic_build_manager.0001.desc
    theme = stewardship_domain_focus
    left_portrait = root

    # Enable for Player
    option = {
        name = magic_build_manager.0001.enable
        trigger = { NOT = { has_character_flag = enable_magic_build } }
        add_character_flag = enable_magic_build
        trigger_event = clrbnit_magic.0003
    }

    # Enable for Vassal
    option = {
        name = magic_build_manager.0001.enable_vassal
        trigger = { NOT = { has_character_flag = enable_vassal_magic_build } }
        add_character_flag = enable_vassal_magic_build
        trigger_event = clrbnit_magic.0003
    }

    # Camp upgrades
    option = {
        name = magic_build_manager.0001.enable_camps
        trigger = { NOT = { has_character_flag = enable_magic_camps } }
        add_character_flag = enable_magic_camps
        trigger_event = clrbnit_magic.0003
    }

    # Estate upgrades
    option = {
        name = magic_build_manager.0001.enable_estates
        trigger = { NOT = { has_character_flag = enable_magic_estates } }
        add_character_flag = enable_magic_estates
        trigger_event = clrbnit_magic.0003
    }

    # Disable Magic Build
    option = {
        name = magic_build_manager.0001.disable
        trigger = {
            OR = {
                has_character_flag = enable_magic_build
                has_character_flag = enable_vassal_magic_build
                has_character_flag = enable_magic_camps
                has_character_flag = enable_magic_estates
            }
        }
        remove_character_flag = enable_magic_build
        remove_character_flag = enable_vassal_magic_build
        remove_character_flag = enable_magic_camps
        remove_character_flag = enable_magic_estates
        trigger_event = clrbnit_magic.0003
    }
    # Set Spending Limits Menu
    option = {
        name = magic_build_manager.0001.set_spending        
        trigger_event = magical_manager.0002
    }

    # About / Credits
    option = {
        name = magic_build_manager.0001.about
        trigger_event = magical_manager.9999
    }

    # Exit
    option = {
        name = magic_build_manager.0001.exit
    }
}

# Setting Spending Limits
magical_manager.0002 = {
    type = character_event
    theme = stewardship_domain_focus
    override_background = { reference = magical_throneroom }
    title = magic_build_manager.0002.t
    desc = magic_build_manager.0002.desc
    left_portrait = root
    
    # Tiny Limit Option
    option = {
        name = magic_build_manager.0002.tiny_limit
        trigger = { NOT = { has_character_flag = limit_active_tiny } }
        show_as_unavailable = { has_character_flag = limit_active_tiny }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = tiny_gold_value }
        add_character_flag = limit_active_tiny
        
        trigger_event = magical_manager.0002
    }
    
    # Minor Limit Option
    option = {
        name = magic_build_manager.0002.minor_limit
        trigger = { NOT = { has_character_flag = limit_active_minor } }
        show_as_unavailable = { has_character_flag = limit_active_minor }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = minor_gold_value }
        add_character_flag = limit_active_minor
        
        trigger_event = magical_manager.0002
    }
    
    # Medium Limit Option
    option = {
        name = magic_build_manager.0002.medium_limit
        trigger = { NOT = { has_character_flag = limit_active_medium } }
        show_as_unavailable = { has_character_flag = limit_active_medium }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = medium_gold_value }
        add_character_flag = limit_active_medium
        
        trigger_event = magical_manager.0002
    }
    
    # Major Limit Option
    option = {
        name = magic_build_manager.0002.major_limit
        trigger = { NOT = { has_character_flag = limit_active_major } }
        show_as_unavailable = { has_character_flag = limit_active_major }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = major_gold_value }
        add_character_flag = limit_active_major
        
        trigger_event = magical_manager.0002
    }
    
    # Massive Limit Option
    option = {
        name = magic_build_manager.0002.massive_limit
        trigger = { NOT = { has_character_flag = limit_active_massive } }
        show_as_unavailable = { has_character_flag = limit_active_massive }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = massive_gold_value }
        add_character_flag = limit_active_massive
        
        trigger_event = magical_manager.0002
    }

    # Monumental Limit Option
    option = {
        name = magic_build_manager.0002.monumental_limit
        trigger = { NOT = { has_character_flag = limit_active_monumental } }
        show_as_unavailable = { has_character_flag = limit_active_monumental }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = monumental_gold_value }
        add_character_flag = limit_active_monumental
        
        trigger_event = magical_manager.0002 
    }
    
    # Clear Limit Option (Only visible/valid if a limit is currently active)
    option = {
        name = magic_build_manager.0002.clear_limit
        trigger = { 
            OR = {
                has_character_flag = limit_active_tiny
                has_character_flag = limit_active_minor
                has_character_flag = limit_active_medium
                has_character_flag = limit_active_major
                has_character_flag = limit_active_massive
                has_character_flag = limit_active_monumental
            }
        }
        
        clear_spending_limit_flags = yes
        set_variable = { name = spending_limit value = 0 }
        trigger_event = magical_manager.0002 
    }

    # Return Button
    option = {
        name = magic_build_manager.0002.back
        trigger_event = magical_manager.0001
    }
}

# Credits Event
magical_manager.9999 = {
    type = character_event
    override_background = { reference = magical_throneroom }
    title = magic_build_manager.9999.t
    desc = magic_build_manager.9999.desc
    theme = stewardship_domain_focus

    option = {
        name = magic_build_manager.9999.back
        trigger_event = magical_manager.0001
    }
    
    option = {
        name = magic_build_manager.9999.exit
    }
}