##### TNO_LegYuan_scripted_effects.txt #####
# Frames in parliament_seat.dds: 0=GREEN,1=BLUE,2=RED,3=YELLOW

### ── SEAT COUNTS & HELPERS ───────────────────────────────────

SAMPLE_vote_failsafe_100 = {
    resize_array = { array = QIN_seat_frame value = 2 size = 36 }
    resize_array = { array = QIN_seat_frame value = 3 size = 70 }
    resize_array = { array = QIN_seat_frame value = 5 size = 100 }
}

SAMPLE_generate_static_party_seats = {
    set_variable = { var = SAMPLE_party1_seats value = 54 }   # NRA (zieloni)
    set_variable = { var = SAMPLE_party2_seats value = 46 }   # CRP (niebiescy)
    set_variable = { var = SAMPLE_party3_seats value = 0 }    # CPC (czerwoni)

    # Party 4 = reszta do 100
    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    # Dummy Party 5 (zawsze 0, tylko do domknięcia resize_array)
    set_variable = { var = SAMPLE_party5_seats value = 0 }
}

SAMPLE_build_prefix_sums = {
    set_variable = { var = s1 value = SAMPLE_party1_seats }
    set_variable = { var = s2 value = s1 }
    add_to_variable = { var = s2 value = SAMPLE_party2_seats }
    set_variable = { var = s3 value = s2 }
    add_to_variable = { var = s3 value = SAMPLE_party3_seats }
    set_variable = { var = s4 value = s3 }
    add_to_variable = { var = s4 value = SAMPLE_party4_seats }
}

SAMPLE_frame_failsafe_100 = {
    resize_array = { array = QIN_seat_frame value = 2 size = 54 }  # fallback = czerwony
}

### ── PAINTERS (COLORS) ───────────────────────────────────────

SAMPLE_color_by_party = {
    clear_array = QIN_seat_frame
    SAMPLE_build_prefix_sums = yes

    set_variable = { var = seat_index value = 0 }

    if = {
        limit = { check_variable = { var = seat_index value < 100 } }

        if = {
            limit = { check_variable = { var = seat_index value < s1 } }
            add_to_array = { QIN_seat_frame = 0 }  # zielony (NRA)
        }
        else_if = {
            limit = { check_variable = { var = seat_index value < s2 } }
            add_to_array = { QIN_seat_frame = 1 }  # niebieski (CRP)
        }
        else_if = {
            limit = { check_variable = { var = seat_index value < s3 } }
            add_to_array = { QIN_seat_frame = 2 }  # czerwony (CPC)
        }
        else = {
            add_to_array = { QIN_seat_frame = 3 }  # żółty (Other)
        }

        add_to_variable = { var = seat_index value = 1 }
    }

    SAMPLE_frame_failsafe_100 = yes
}

SAMPLE_color_by_party_unconditional = { SAMPLE_color_by_party = yes }

### ── VOTE PROFILES & START ───────────────────────────────────

QIN_vote_visualize_yes_no = {
    clear_array = QIN_seat_frame
    SAMPLE_build_prefix_sums = yes

    ### --- Oblicz proporcje głosów (np. z czterech partii)
    set_variable = { var = yes_votes value = 36 }
    set_variable = { var = no_votes value = 70 }
    set_variable = { var = abstain_votes value = 100 }

    # NRA
    if = { limit = { check_variable = { var = p1_yes value = 1 } } add_to_variable = { var = yes_votes value = SAMPLE_party1_seats } }
    else_if = { limit = { check_variable = { var = p1_yes value = -1 } } add_to_variable = { var = abstain_votes value = SAMPLE_party1_seats } }
    else = { add_to_variable = { var = no_votes value = SAMPLE_party1_seats } }

    # CRP
    if = { limit = { check_variable = { var = p2_yes value = 1 } } add_to_variable = { var = yes_votes value = SAMPLE_party2_seats } }
    else_if = { limit = { check_variable = { var = p2_yes value = -1 } } add_to_variable = { var = abstain_votes value = SAMPLE_party2_seats } }
    else = { add_to_variable = { var = no_votes value = SAMPLE_party2_seats } }

    # CPC
    if = { limit = { check_variable = { var = p3_yes value = 1 } } add_to_variable = { var = yes_votes value = SAMPLE_party3_seats } }
    else_if = { limit = { check_variable = { var = p3_yes value = -1 } } add_to_variable = { var = abstain_votes value = SAMPLE_party3_seats } }
    else = { add_to_variable = { var = no_votes value = SAMPLE_party3_seats } }

    # OTH
    if = { limit = { check_variable = { var = p4_yes value = 1 } } add_to_variable = { var = yes_votes value = SAMPLE_party4_seats } }
    else_if = { limit = { check_variable = { var = p4_yes value = -1 } } add_to_variable = { var = abstain_votes value = SAMPLE_party4_seats } }
    else = { add_to_variable = { var = no_votes value = SAMPLE_party4_seats } }

    ### --- Przekształć proporcje w ilości
    set_variable = { var = total_votes value = yes_votes }
    add_to_variable = { var = total_votes value = no_votes }
    add_to_variable = { var = total_votes value = abstain_votes }

    # Skala 100 miejsc
    set_variable = { var = yes_size value = yes_votes }
    multiply_variable = { var = yes_size value = 100 }
    divide_variable = { var = yes_size value = total_votes }

    set_variable = { var = no_size value = no_votes }
    multiply_variable = { var = no_size value = 100 }
    divide_variable = { var = no_size value = total_votes }

    set_variable = { var = abstain_size value = abstain_votes }
    multiply_variable = { var = abstain_size value = 100 }
    divide_variable = { var = abstain_size value = total_votes }

    ### --- Malowanie miejsc (indywidualnie)
    set_variable = { var = seat_index value = 0 }

    if = {
        limit = { check_variable = { var = seat_index value < 100 } }
        random_list = {
            yes_size = { add_to_array = { QIN_seat_frame = 0 } }       # zielony (ZA)
            no_size = { add_to_array = { QIN_seat_frame = 2 } }        # czerwony (PRZECIW)
            abstain_size = { add_to_array = { QIN_seat_frame = 5 } }   # szary (WSTRZYMUJE SIĘ)
        }
        add_to_variable = { var = seat_index value = 1 }
    }

    SAMPLE_vote_failsafe_100 = yes
}

# ======================================================
#   REFRESH THE 3-WAY PARLIAMENT VOTE VISUAL
#   (YES – NO – ABSTAIN)
# ======================================================
QIN_vote_set_initial_progress = {
    set_variable = { var = yes_size value = 36 }
    set_variable = { var = no_size value = 34 }
    set_variable = { var = abstain_size value = 30 }
}

QIN_refresh_vote_visuals = {

    # --- just paint what exists; do NOT assume it fills 100 seats
    clear_array = QIN_seat_frame

    # GREEN
    resize_array = { array = QIN_seat_frame value = 2 size = yes_size }

    # RED
    set_variable = { var = temp value = yes_size }
    add_to_variable = { var = temp value = no_size }
    resize_array = { array = QIN_seat_frame value = 3 size = temp }

    # GRAY
    add_to_variable = { var = temp value = abstain_size }
    resize_array = { array = QIN_seat_frame value = 5 size = temp }

    # no failsafe – do not fill remaining seats
}

# ======================================================
#   PLAYER SWAY: YES +1, NO +1, ABSTAIN –3
# ======================================================
QIN_add_one_yes_vote = {

    ### --- Initialize
    if = { limit = { NOT = { has_variable = yes_size } } set_variable = { var = yes_size value = 36 } }
    if = { limit = { NOT = { has_variable = no_size } } set_variable = { var = no_size value = 34 } }
    if = { limit = { NOT = { has_variable = abstain_size } } set_variable = { var = abstain_size value = 30 } }

    ### --- HARD STOP BEFORE ANY CHANGE
    if = {
        limit = { check_variable = { var = abstain_size value = 1 compare = less_than } }
        set_country_flag = QIN_no_gray_left     # <--- TO JEST KLUCZOWE
    }
    else = {
        clr_country_flag = QIN_no_gray_left

        add_to_variable        = { var = yes_size value = 1 }
        subtract_from_variable = { var = abstain_size value = 1 }

        clamp_variable = { var = abstain_size min = 0 max = 100 }

        set_variable = { var = no_size value = 100 }
        subtract_from_variable = { var = no_size value = yes_size }
        subtract_from_variable = { var = no_size value = abstain_size }

        clamp_variable = { var = yes_size min = 36 max = 100 }
        clamp_variable = { var = no_size min = 34 max = 100 }

        QIN_refresh_vote_visuals = yes

        if = {
            limit = { check_variable = { var = abstain_size value = 1 compare = less_than } }
            set_country_flag = QIN_no_gray_left
        }
    }
}

QIN_vote_shift_yes_up = {

    ### --- Ensure vote variables exist
    if = { limit = { NOT = { has_variable = yes_size } } set_variable = { var = yes_size value = 0 } }
    if = { limit = { NOT = { has_variable = no_size } } set_variable = { var = no_size value = 0 } }
    if = { limit = { NOT = { has_variable = abstain_size } } set_variable = { var = abstain_size value = 0 } }

    ### --- Apply change YES +1, ABSTAIN -1
    add_to_variable        = { var = yes_size value = 1 }
    subtract_from_variable = { var = abstain_size value = 1 }

    ### --- Clamp
    clamp_variable = { var = yes_size min = 0 max = 100 }
    clamp_variable = { var = abstain_size min = 0 max = 100 }

    ### --- Recompute NO = 100 - YES - ABSTAIN
    set_variable = { var = no_size value = 100 }
    subtract_from_variable = { var = no_size value = yes_size }
    subtract_from_variable = { var = no_size value = abstain_size }
    clamp_variable = { var = no_size min = 0 max = 100 }

    ### --- Repaint (in your original seat order)
    clear_array = QIN_seat_frame

    # YES seats (green)
    set_variable = { var = i value = 0 }
    if = {
        limit = { check_variable = { var = i value < yes_size } }
        add_to_array = { QIN_seat_frame = 0 }
        add_to_variable = { var = i value = 1 }
    }

    # NO seats (red)
    set_variable = { var = j value = 0 }
    if = {
        limit = { check_variable = { var = j value < no_size } }
        add_to_array = { QIN_seat_frame = 2 }
        add_to_variable = { var = j value = 1 }
    }

    # ABSTAIN seats (grey)
    set_variable = { var = k value = 0 }
    if = {
        limit = { check_variable = { var = k value < abstain_size } }
        add_to_array = { QIN_seat_frame = 5 }
        add_to_variable = { var = k value = 1 }
    }

    ### --- Failsafe for exactly 100
    SAMPLE_vote_failsafe_100 = yes
}


QIN_vote_align_civilian = {
    set_variable = { var = p1_yes value = 1 }
    set_variable = { var = p2_yes value = 1 }
    set_variable = { var = p3_yes value = 0 }
    set_variable = { var = p4_yes value = 1 }
}

QIN_vote_align_military = {
    set_variable = { var = p1_yes value = 1 }
    set_variable = { var = p2_yes value = 0 }
    set_variable = { var = p3_yes value = 0 }
    set_variable = { var = p4_yes value = 0 }
}

QIN_vote_align_opposition = {
    set_variable = { var = p1_yes value = 0 }
    set_variable = { var = p2_yes value = 0 }
    set_variable = { var = p3_yes value = 1 }
    set_variable = { var = p4_yes value = 1 }
}

QIN_vote_compute_support = {
    set_variable = { var = act_support value = 0 }

    if = { limit = { check_variable = { var = p1_yes value = 1 } } add_to_variable = { var = act_support value = SAMPLE_party1_seats } }
    if = { limit = { check_variable = { var = p2_yes value = 1 } } add_to_variable = { var = act_support value = SAMPLE_party2_seats } }
    if = { limit = { check_variable = { var = p3_yes value = 1 } } add_to_variable = { var = act_support value = SAMPLE_party3_seats } }
    if = { limit = { check_variable = { var = p4_yes value = 1 } } add_to_variable = { var = act_support value = SAMPLE_party4_seats } }
}

QIN_begin_30d_vote = {
    QIN_vote_compute_support = yes
    set_variable = { var = vote_timer value = 30 }
    set_country_flag = act_vote_in_progress
}

QIN_start_current_ordinance_vote = {
    QIN_enter_vote_mode = yes
    clr_country_flag = QIN_no_gray_left
    set_country_flag = QIN_LegYuan_Cooldown
    set_country_flag = act_vote_in_progress
    QIN_begin_30d_vote = yes
}

QIN_record_current_ordinance_passed = {
    set_variable = { var = temp_ord_id value = QIN_current_ordinance }
    set_variable = { var = temp_ord_status value = 1 }
    QIN_set_temp_ordinance_year = yes
    QIN_add_ordinance_to_history = yes
}

QIN_record_current_ordinance_failed = {
    set_variable = { var = temp_ord_id value = QIN_current_ordinance }
    set_variable = { var = temp_ord_status value = 2 }
    QIN_set_temp_ordinance_year = yes
    QIN_add_ordinance_to_history = yes
}

QIN_set_temp_ordinance_year = {
    set_variable = { var = temp_ord_year value = 6 } # 1962
    if = { limit = { date > 1963.1.1 } set_variable = { var = temp_ord_year value = 7 } }
    if = { limit = { date > 1964.1.1 } set_variable = { var = temp_ord_year value = 8 } }
    if = { limit = { date > 1965.1.1 } set_variable = { var = temp_ord_year value = 9 } }
    if = { limit = { date > 1966.1.1 } set_variable = { var = temp_ord_year value = 10 } }
    if = { limit = { date > 1967.1.1 } set_variable = { var = temp_ord_year value = 11 } }
    if = { limit = { date > 1968.1.1 } set_variable = { var = temp_ord_year value = 12 } }
    if = { limit = { date > 1969.1.1 } set_variable = { var = temp_ord_year value = 13 } }
    if = { limit = { date > 1970.1.1 } set_variable = { var = temp_ord_year value = 14 } }
    if = { limit = { date > 1971.1.1 } set_variable = { var = temp_ord_year value = 15 } }
    if = { limit = { date > 1972.1.1 } set_variable = { var = temp_ord_year value = 16 } }
    if = { limit = { date > 1973.1.1 } set_variable = { var = temp_ord_year value = 17 } }
    if = { limit = { date > 1974.1.1 } set_variable = { var = temp_ord_year value = 18 } }
    if = { limit = { date > 1975.1.1 } set_variable = { var = temp_ord_year value = 19 } }
    if = { limit = { date > 1976.1.1 } set_variable = { var = temp_ord_year value = 20 } }
    if = { limit = { date > 1977.1.1 } set_variable = { var = temp_ord_year value = 21 } }
    if = { limit = { date > 1978.1.1 } set_variable = { var = temp_ord_year value = 22 } }
    if = { limit = { date > 1979.1.1 } set_variable = { var = temp_ord_year value = 23 } }
    if = { limit = { date > 1980.1.1 } set_variable = { var = temp_ord_year value = 24 } }
    if = { limit = { date > 1981.1.1 } set_variable = { var = temp_ord_year value = 25 } }
    if = { limit = { date > 1982.1.1 } set_variable = { var = temp_ord_year value = 26 } }
}

QIN_apply_current_ordinance_effects = {
    if = {
        limit = { check_variable = { QIN_current_ordinance = 6 } }
        add_stability = 0.03
        add_political_power = 25
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 7 } }
        add_manpower = 5000
        add_stability = 0.02
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 8 } }
        add_political_power = -25
        TNO_improve_research_facilities_low = yes
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 9 } }
        add_war_support = 0.03
        906 = {
            add_extra_state_shared_building_slots = 1
            add_building_construction = {
                type = arms_factory
                level = 1
                instant_build = yes
            }
        }
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 10 } }
        add_command_power = 15
        add_war_support = 0.02
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 11 } }
        add_manpower = 10000
        add_war_support = 0.03
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 12 } }
        add_political_power = 35
        add_stability = -0.01
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 13 } }
        add_political_power = -25
        add_stability = 0.04
    }
    else_if = {
        limit = { check_variable = { QIN_current_ordinance = 14 } }
        add_stability = -0.02
        TNO_improve_public_meetings_policy_effectiveness_low = yes
    }
}

QIN_enter_vote_mode = {
    set_variable = { var = QIN_vote_mode value = 0 }

    # <<< TO JEST KRYTYCZNE >>>
    # ustaw startowy progress przed narysowaniem GUI
    QIN_vote_set_initial_progress = yes

    # potem narysuj miejsca
    QIN_refresh_vote_visuals = yes
}

QIN_exit_vote_mode = {
    set_variable = { var = QIN_vote_mode value = 0 }
    QIN_sync_party_seats_from_popularity = yes
}

### ── FINALIZATION (AFTER 30 DAYS) ────────────────────────────

QIN_compute_majority_needed = {
    set_variable = { var = majority_needed value = parliament_total }
    divide_variable = { var = majority_needed value = 2 }
    add_to_variable = { var = majority_needed value = 1 }
}

QIN_vote_maybe_shift_seats = {
    random_list = {
        70 = { }
        10 = { add_to_variable = { var = SAMPLE_party1_seats value = 1 } subtract_from_variable = { var = SAMPLE_party2_seats value = 1 } }
        10 = { add_to_variable = { var = SAMPLE_party2_seats value = 1 } subtract_from_variable = { var = SAMPLE_party1_seats value = 1 } }
        5  = { add_to_variable = { var = SAMPLE_party3_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        5  = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party3_seats value = 1 } }
    }
    # keep total = 100
    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }
}

QIN_finalize_vote_passed = {
    clr_country_flag = act_vote_in_progress
    SAMPLE_color_by_party_unconditional = yes
}
QIN_finalize_vote_failed = {
    clr_country_flag = act_vote_in_progress
    SAMPLE_color_by_party_unconditional = yes
}

### ── ONE-TIME LOCK & INIT ────────────────────────────────────

SAMPLE_lock_starting_seats = {
    if = { limit = { NOT = { has_country_flag = legyuan_seats_locked } }
        set_variable = { var = ORIGINAL_party1_seats value = 54 }
        set_variable = { var = ORIGINAL_party2_seats value = 46 }
        set_variable = { var = ORIGINAL_party3_seats value = 0 }
        set_variable = { var = ORIGINAL_party4_seats value = 0 }
        set_variable = { var = ORIGINAL_party5_seats value = 0 }
        set_country_flag = legyuan_seats_locked
    }
}

SAMPLE_restore_from_originals = {
    set_variable = { var = SAMPLE_party1_seats value = ORIGINAL_party1_seats }
    set_variable = { var = SAMPLE_party2_seats value = ORIGINAL_party2_seats }
    set_variable = { var = SAMPLE_party3_seats value = ORIGINAL_party3_seats }
    set_variable = { var = SAMPLE_party4_seats value = ORIGINAL_party4_seats }
    set_variable = { var = SAMPLE_party5_seats value = ORIGINAL_party5_seats }
}

SAMPLE_init_parliament = {
    set_variable = { var = parliament_total value = 100 }

    SAMPLE_lock_starting_seats = yes
    SAMPLE_restore_from_originals = yes

    clear_array = QIN_seat_x
    clear_array = QIN_seat_y

	add_to_array = { QIN_seat_x = 0 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 17 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 35 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 52 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 70 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 87 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 3 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 21 }
	add_to_array = { QIN_seat_y = 135 }
	add_to_array = { QIN_seat_x = 38 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 57 }
	add_to_array = { QIN_seat_y = 135 }
	add_to_array = { QIN_seat_x = 9 }
	add_to_array = { QIN_seat_y = 115 }
	add_to_array = { QIN_seat_x = 75 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 28 }
	add_to_array = { QIN_seat_y = 114 }
	add_to_array = { QIN_seat_x = 93 }
	add_to_array = { QIN_seat_y = 137 }
	add_to_array = { QIN_seat_x = 46 }
	add_to_array = { QIN_seat_y = 115 }
	add_to_array = { QIN_seat_x = 17 }
	add_to_array = { QIN_seat_y = 95 }
	add_to_array = { QIN_seat_x = 66 }
	add_to_array = { QIN_seat_y = 114 }
	add_to_array = { QIN_seat_x = 38 }
	add_to_array = { QIN_seat_y = 94 }
	add_to_array = { QIN_seat_x = 85 }
	add_to_array = { QIN_seat_y = 117 }
	add_to_array = { QIN_seat_x = 57 }
	add_to_array = { QIN_seat_y = 96 }
	add_to_array = { QIN_seat_x = 28 }
	add_to_array = { QIN_seat_y = 76 }
	add_to_array = { QIN_seat_x = 51 }
	add_to_array = { QIN_seat_y = 76 }
	add_to_array = { QIN_seat_x = 104 }
	add_to_array = { QIN_seat_y = 120 }
	add_to_array = { QIN_seat_x = 79 }
	add_to_array = { QIN_seat_y = 96 }
	add_to_array = { QIN_seat_x = 42 }
	add_to_array = { QIN_seat_y = 59 }
	add_to_array = { QIN_seat_x = 71 }
	add_to_array = { QIN_seat_y = 80 }
	add_to_array = { QIN_seat_x = 99 }
	add_to_array = { QIN_seat_y = 100 }
	add_to_array = { QIN_seat_x = 66 }
	add_to_array = { QIN_seat_y = 60 }
	add_to_array = { QIN_seat_x = 58 }
	add_to_array = { QIN_seat_y = 44 }
	add_to_array = { QIN_seat_x = 95 }
	add_to_array = { QIN_seat_y = 81 }
	add_to_array = { QIN_seat_x = 87 }
	add_to_array = { QIN_seat_y = 65 }
	add_to_array = { QIN_seat_x = 120 }
	add_to_array = { QIN_seat_y = 106 }
	add_to_array = { QIN_seat_x = 84 }
	add_to_array = { QIN_seat_y = 47 }
	add_to_array = { QIN_seat_x = 76 }
	add_to_array = { QIN_seat_y = 31 }
	add_to_array = { QIN_seat_x = 117 }
	add_to_array = { QIN_seat_y = 88 }
	add_to_array = { QIN_seat_x = 106 }
	add_to_array = { QIN_seat_y = 55 }
	add_to_array = { QIN_seat_x = 115 }
	add_to_array = { QIN_seat_y = 70 }
	add_to_array = { QIN_seat_x = 95 }
	add_to_array = { QIN_seat_y = 21 }
	add_to_array = { QIN_seat_x = 104 }
	add_to_array = { QIN_seat_y = 36 }
	add_to_array = { QIN_seat_x = 138 }
	add_to_array = { QIN_seat_y = 98 }
	add_to_array = { QIN_seat_x = 116 }
	add_to_array = { QIN_seat_y = 14 }
	add_to_array = { QIN_seat_x = 126 }
	add_to_array = { QIN_seat_y = 47 }
	add_to_array = { QIN_seat_x = 137 }
	add_to_array = { QIN_seat_y = 80 }
	add_to_array = { QIN_seat_x = 125 }
	add_to_array = { QIN_seat_y = 29 }
	add_to_array = { QIN_seat_x = 136 }
	add_to_array = { QIN_seat_y = 63 }
	add_to_array = { QIN_seat_x = 137 }
	add_to_array = { QIN_seat_y = 10 }
	add_to_array = { QIN_seat_x = 148 }
	add_to_array = { QIN_seat_y = 43 }
	add_to_array = { QIN_seat_x = 148 }
	add_to_array = { QIN_seat_y = 26 }
	add_to_array = { QIN_seat_x = 159 }
	add_to_array = { QIN_seat_y = 95 }
	add_to_array = { QIN_seat_x = 159 }
	add_to_array = { QIN_seat_y = 78 }
	add_to_array = { QIN_seat_x = 159 }
	add_to_array = { QIN_seat_y = 60 }
	add_to_array = { QIN_seat_x = 159 }
	add_to_array = { QIN_seat_y = 8 }
	add_to_array = { QIN_seat_x = 170 }
	add_to_array = { QIN_seat_y = 26 }
	add_to_array = { QIN_seat_x = 170 }
	add_to_array = { QIN_seat_y = 43 }
	add_to_array = { QIN_seat_x = 180 }
	add_to_array = { QIN_seat_y = 10 }
	add_to_array = { QIN_seat_x = 181 }
	add_to_array = { QIN_seat_y = 63 }
	add_to_array = { QIN_seat_x = 192 }
	add_to_array = { QIN_seat_y = 29 }
	add_to_array = { QIN_seat_x = 180 }
	add_to_array = { QIN_seat_y = 80 }
	add_to_array = { QIN_seat_x = 191 }
	add_to_array = { QIN_seat_y = 47 }
	add_to_array = { QIN_seat_x = 202 }
	add_to_array = { QIN_seat_y = 14 }
	add_to_array = { QIN_seat_x = 179 }
	add_to_array = { QIN_seat_y = 98 }
	add_to_array = { QIN_seat_x = 213 }
	add_to_array = { QIN_seat_y = 36 }
	add_to_array = { QIN_seat_x = 222 }
	add_to_array = { QIN_seat_y = 21 }
	add_to_array = { QIN_seat_x = 203 }
	add_to_array = { QIN_seat_y = 70 }
	add_to_array = { QIN_seat_x = 212 }
	add_to_array = { QIN_seat_y = 55 }
	add_to_array = { QIN_seat_x = 201 }
	add_to_array = { QIN_seat_y = 88 }
	add_to_array = { QIN_seat_x = 242 }
	add_to_array = { QIN_seat_y = 31 }
	add_to_array = { QIN_seat_x = 233 }
	add_to_array = { QIN_seat_y = 47 }
	add_to_array = { QIN_seat_x = 198 }
	add_to_array = { QIN_seat_y = 106 }
	add_to_array = { QIN_seat_x = 230 }
	add_to_array = { QIN_seat_y = 65 }
	add_to_array = { QIN_seat_x = 222 }
	add_to_array = { QIN_seat_y = 81 }
	add_to_array = { QIN_seat_x = 259 }
	add_to_array = { QIN_seat_y = 44 }
	add_to_array = { QIN_seat_x = 251 }
	add_to_array = { QIN_seat_y = 60 }
	add_to_array = { QIN_seat_x = 218 }
	add_to_array = { QIN_seat_y = 100 }
	add_to_array = { QIN_seat_x = 247 }
	add_to_array = { QIN_seat_y = 80 }
	add_to_array = { QIN_seat_x = 275 }
	add_to_array = { QIN_seat_y = 59 }
	add_to_array = { QIN_seat_x = 239 }
	add_to_array = { QIN_seat_y = 96 }
	add_to_array = { QIN_seat_x = 213 }
	add_to_array = { QIN_seat_y = 120 }
	add_to_array = { QIN_seat_x = 267 }
	add_to_array = { QIN_seat_y = 76 }
	add_to_array = { QIN_seat_x = 289 }
	add_to_array = { QIN_seat_y = 76 }
	add_to_array = { QIN_seat_x = 261 }
	add_to_array = { QIN_seat_y = 96 }
	add_to_array = { QIN_seat_x = 233 }
	add_to_array = { QIN_seat_y = 117 }
	add_to_array = { QIN_seat_x = 280 }
	add_to_array = { QIN_seat_y = 94 }
	add_to_array = { QIN_seat_x = 252 }
	add_to_array = { QIN_seat_y = 114 }
	add_to_array = { QIN_seat_x = 300 }
	add_to_array = { QIN_seat_y = 95 }
	add_to_array = { QIN_seat_x = 272 }
	add_to_array = { QIN_seat_y = 115 }
	add_to_array = { QIN_seat_x = 225 }
	add_to_array = { QIN_seat_y = 137 }
	add_to_array = { QIN_seat_x = 290 }
	add_to_array = { QIN_seat_y = 114 }
	add_to_array = { QIN_seat_x = 243 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 309 }
	add_to_array = { QIN_seat_y = 115 }
	add_to_array = { QIN_seat_x = 261 }
	add_to_array = { QIN_seat_y = 135 }
	add_to_array = { QIN_seat_x = 279 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 297 }
	add_to_array = { QIN_seat_y = 135 }
	add_to_array = { QIN_seat_x = 315 }
	add_to_array = { QIN_seat_y = 136 }
	add_to_array = { QIN_seat_x = 230 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 248 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 265 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 283 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 300 }
	add_to_array = { QIN_seat_y = 157 }
	add_to_array = { QIN_seat_x = 317 }
	add_to_array = { QIN_seat_y = 157 }

	QIN_sync_party_seats_from_popularity = yes
}

# ------------------------------------------------------
# Seat shifting interactions (stable refresh)
# ------------------------------------------------------
QIN_sync_party_seats_from_popularity = {
    set_variable = { var = SAMPLE_party1_seats value = party_popularity@despotism }
    add_to_variable = { var = SAMPLE_party1_seats value = party_popularity@despotism_2 }
    add_to_variable = { var = SAMPLE_party1_seats value = party_popularity@paternalism_1 }
    multiply_variable = { var = SAMPLE_party1_seats value = 100 }
    round_variable = SAMPLE_party1_seats

    set_variable = { var = SAMPLE_party2_seats value = party_popularity@despotism_1 }
    add_to_variable = { var = SAMPLE_party2_seats value = party_popularity@paternalism }
    add_to_variable = { var = SAMPLE_party2_seats value = party_popularity@fascism }
    multiply_variable = { var = SAMPLE_party2_seats value = 100 }
    round_variable = SAMPLE_party2_seats

    set_variable = { var = SAMPLE_party3_seats value = party_popularity@communist }
    add_to_variable = { var = SAMPLE_party3_seats value = party_popularity@socialist }
    multiply_variable = { var = SAMPLE_party3_seats value = 100 }
    round_variable = SAMPLE_party3_seats

    clamp_variable = { var = SAMPLE_party1_seats min = 0 max = 100 }
    clamp_variable = { var = SAMPLE_party2_seats min = 0 max = 100 }
    clamp_variable = { var = SAMPLE_party3_seats min = 0 max = 100 }

    set_variable = { var = qin_named_seat_total value = SAMPLE_party1_seats }
    add_to_variable = { var = qin_named_seat_total value = SAMPLE_party2_seats }
    add_to_variable = { var = qin_named_seat_total value = SAMPLE_party3_seats }
    if = {
        limit = { check_variable = { var = qin_named_seat_total value = 100 compare = greater_than } }
        set_variable = { var = qin_seat_overflow value = qin_named_seat_total }
        subtract_from_variable = { var = qin_seat_overflow value = 100 }
        subtract_from_variable = { var = SAMPLE_party2_seats value = qin_seat_overflow }
        clamp_variable = { var = SAMPLE_party2_seats min = 0 max = 100 }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }
    clamp_variable = { var = SAMPLE_party4_seats min = 0 max = 100 }
    set_variable = { var = SAMPLE_party5_seats value = 0 }

    SAMPLE_build_prefix_sums = yes
    if = {
        limit = { NOT = { has_country_flag = act_vote_in_progress } }
        QIN_refresh_visuals = yes
    }
}

QIN_refresh_visuals = {
    # --- upewnij się, że suma = 100
    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    clamp_variable = { var = SAMPLE_party1_seats min = 0 max = 100 }
    clamp_variable = { var = SAMPLE_party2_seats min = 0 max = 100 }
    clamp_variable = { var = SAMPLE_party3_seats min = 0 max = 100 }
    clamp_variable = { var = SAMPLE_party4_seats min = 0 max = 100 }

    # --- prefix sums (granice bloków)
    set_variable = { var = s1 value = SAMPLE_party1_seats }                        # Zieloni (NRA)
    set_variable = { var = s2 value = s1 }
    add_to_variable = { var = s2 value = SAMPLE_party2_seats }                     # Niebiescy (CRP)
    set_variable = { var = s3 value = s2 }
    add_to_variable = { var = s3 value = SAMPLE_party3_seats }                     # Czerwoni (CPC)
    set_variable = { var = s4 value = s3 }
    add_to_variable = { var = s4 value = SAMPLE_party4_seats }                     # Żółci (Others)

    # --- czyszczenie starej tablicy
    clear_array = QIN_seat_frame

    # --- właściwe malowanie w kolejności: zielony → niebieski → czerwony → żółty
    resize_array = { array = QIN_seat_frame value = 2 size = s1 }  # Zielony (NRA)
    resize_array = { array = QIN_seat_frame value = 0 size = s2 }  # Niebieski (CRP)
    resize_array = { array = QIN_seat_frame value = 3 size = s3 }  # Czerwony (CPC)
    resize_array = { array = QIN_seat_frame value = 4 size = s4 }  # Żółty (Others)

    # --- bezpieczne dopełnienie (jeśli coś nie domknie 100)
    if = {
        limit = { check_variable = { var = s4 value < 100 } }
        if = {
            limit = { check_variable = { var = s4 value < 100 } }
            add_to_array = { QIN_seat_frame = 3 }
            add_to_variable = { var = s4 value = 1 }
        }
    }
}

QIN_NRA_gain_seats = {
    # --- główny transfer (NRA zyskuje od CRP)
    add_to_variable        = { var = SAMPLE_party1_seats value = 3 }
    subtract_from_variable = { var = SAMPLE_party2_seats value = 3 }

    # --- losowe fluktuacje między mniejszymi frakcjami
    random_list = {
        70 = { } # brak efektu
        15  = { add_to_variable = { var = SAMPLE_party3_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15  = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party3_seats value = 1 } }
    }

    # --- przelicz sumę (zawsze 100)
    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    # --- odśwież prefixy (GUI)
    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes

    # --- zaktualizuj poparcie polityczne (tu!)
    QIN_sync_popularity_from_party_seats = yes
}

QIN_NRA_lose_seats = {
    subtract_from_variable = { var = SAMPLE_party1_seats value = 3 }
    add_to_variable        = { var = SAMPLE_party2_seats value = 3 }

    random_list = {
        70 = { }
        15  = { add_to_variable = { var = SAMPLE_party3_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15  = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party3_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_CRP_gain_seats = {
    add_to_variable        = { var = SAMPLE_party2_seats value = 3 }
    subtract_from_variable = { var = SAMPLE_party1_seats value = 3 }

    random_list = {
        70 = { }
        15  = { add_to_variable = { var = SAMPLE_party3_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15  = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party3_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_CRP_lose_seats = {
    subtract_from_variable = { var = SAMPLE_party2_seats value = 3 }
    add_to_variable        = { var = SAMPLE_party1_seats value = 3 }

    random_list = {
        70 = { }
        15  = { add_to_variable = { var = SAMPLE_party3_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15  = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party3_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_CPC_gain_seats = {
    add_to_variable        = { var = SAMPLE_party3_seats value = 3 }      # czerwoni zyskują
    subtract_from_variable = { var = SAMPLE_party2_seats value = 3 }      # kosztem niebieskich (CRP)

    random_list = {
        70 = { }
        15 = { add_to_variable = { var = SAMPLE_party1_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15 = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party1_seats value = 1 } }
    }

    # --- wyrównanie sumy
    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_CPC_lose_seats = {
    subtract_from_variable = { var = SAMPLE_party3_seats value = 3 }      # czerwoni tracą
    add_to_variable        = { var = SAMPLE_party2_seats value = 3 }      # zysk CRP

    random_list = {
        70 = { }
        15 = { add_to_variable = { var = SAMPLE_party1_seats value = 1 } subtract_from_variable = { var = SAMPLE_party4_seats value = 1 } }
        15 = { add_to_variable = { var = SAMPLE_party4_seats value = 1 } subtract_from_variable = { var = SAMPLE_party1_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_OTH_gain_seats = {
    add_to_variable        = { var = SAMPLE_party4_seats value = 3 }      # inni zyskują
    subtract_from_variable = { var = SAMPLE_party3_seats value = 3 }      # kosztem CPC

    random_list = {
        70 = { }
        15 = { add_to_variable = { var = SAMPLE_party1_seats value = 1 } subtract_from_variable = { var = SAMPLE_party2_seats value = 1 } }
        15 = { add_to_variable = { var = SAMPLE_party2_seats value = 1 } subtract_from_variable = { var = SAMPLE_party1_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_OTH_lose_seats = {
    subtract_from_variable = { var = SAMPLE_party4_seats value = 3 }      # inni tracą
    add_to_variable        = { var = SAMPLE_party3_seats value = 3 }      # zysk CPC

    random_list = {
        70 = { }
        15 = { add_to_variable = { var = SAMPLE_party1_seats value = 1 } subtract_from_variable = { var = SAMPLE_party2_seats value = 1 } }
        15 = { add_to_variable = { var = SAMPLE_party2_seats value = 1 } subtract_from_variable = { var = SAMPLE_party1_seats value = 1 } }
    }

    set_variable = { var = SAMPLE_party4_seats value = 100 }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party1_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party2_seats }
    subtract_from_variable = { var = SAMPLE_party4_seats value = SAMPLE_party3_seats }

    SAMPLE_build_prefix_sums = yes
    QIN_refresh_visuals = yes
    QIN_sync_popularity_from_party_seats = yes
}

QIN_update_popularity_from_seats_full = {
    ### --- Zsumuj miejsca, na wszelki wypadek (powinno być 100)
    set_variable = { var = total_seats value = SAMPLE_party1_seats }
    add_to_variable = { var = total_seats value = SAMPLE_party2_seats }
    add_to_variable = { var = total_seats value = SAMPLE_party3_seats }
    add_to_variable = { var = total_seats value = SAMPLE_party4_seats }

    ### --- CRP (Niebiescy) → Despotism_1 + Paternalism + Fascism
    set_variable = { var = crp_share value = SAMPLE_party2_seats }
    divide_variable = { var = crp_share value = 300 } # 100 (dla skali) * 3 (frakcje)
    add_popularity = { ideology = despotism_1 popularity = crp_share }
    add_popularity = { ideology = paternalism popularity = crp_share }
    add_popularity = { ideology = fascism popularity = crp_share }

    ### --- NRA (Zieloni) → Despotism + Despotism_2 + Paternalism_1
    set_variable = { var = nra_share value = SAMPLE_party1_seats }
    divide_variable = { var = nra_share value = 300 }
    add_popularity = { ideology = despotism popularity = nra_share }
    add_popularity = { ideology = despotism_2 popularity = nra_share }
    add_popularity = { ideology = paternalism_1 popularity = nra_share }

    ### --- CPC (Czerwoni) → Communist + Socialist
    set_variable = { var = cpc_share value = SAMPLE_party3_seats }
    divide_variable = { var = cpc_share value = 200 } # 100 * 2
    add_popularity = { ideology = communist popularity = cpc_share }
    add_popularity = { ideology = socialist popularity = cpc_share }

    ### --- Inni (Żółci) → YCP, CDL, PIPC, PPP
    set_variable = { var = oth_share value = SAMPLE_party4_seats }
    divide_variable = { var = oth_share value = 400 } # 100 * 4
    add_popularity = { ideology = conservatism popularity = oth_share }
    add_popularity = { ideology = liberal_conservatism popularity = oth_share }
    add_popularity = { ideology = liberalism popularity = oth_share }
    add_popularity = { ideology = progressivism popularity = oth_share }
}

QIN_sync_popularity_from_party_seats = {
    set_popularities = {
        communist = 0
        ultranationalism = 0
        socialist = 0
        progressivism = 0
        liberalism = 0
        conservatism = 0
        liberal_conservatism = 0
        paternalism_1 = 0
        paternalism = 0
        despotism_1 = 0
        despotism_2 = 0
        despotism = 0
        fascism = 0
    }

    # Keep the politics pie chart aligned with parliament party mode.
    # NRA bloc mirrors QIN's starting internal balance: 34/16/4 out of 54.
    set_variable = { var = qin_nra_despotism_share value = SAMPLE_party1_seats }
    multiply_variable = { var = qin_nra_despotism_share value = 34 }
    divide_variable = { var = qin_nra_despotism_share value = 5400 }
    add_popularity = { ideology = despotism popularity = qin_nra_despotism_share }

    set_variable = { var = qin_nra_despotism2_share value = SAMPLE_party1_seats }
    multiply_variable = { var = qin_nra_despotism2_share value = 16 }
    divide_variable = { var = qin_nra_despotism2_share value = 5400 }
    add_popularity = { ideology = despotism_2 popularity = qin_nra_despotism2_share }

    set_variable = { var = qin_nra_paternalism1_share value = SAMPLE_party1_seats }
    multiply_variable = { var = qin_nra_paternalism1_share value = 4 }
    divide_variable = { var = qin_nra_paternalism1_share value = 5400 }
    add_popularity = { ideology = paternalism_1 popularity = qin_nra_paternalism1_share }

    # CRP bloc mirrors QIN's starting internal balance: 18/15/13 out of 46.
    set_variable = { var = qin_crp_despotism1_share value = SAMPLE_party2_seats }
    multiply_variable = { var = qin_crp_despotism1_share value = 18 }
    divide_variable = { var = qin_crp_despotism1_share value = 4600 }
    add_popularity = { ideology = despotism_1 popularity = qin_crp_despotism1_share }

    set_variable = { var = qin_crp_paternalism_share value = SAMPLE_party2_seats }
    multiply_variable = { var = qin_crp_paternalism_share value = 15 }
    divide_variable = { var = qin_crp_paternalism_share value = 4600 }
    add_popularity = { ideology = paternalism popularity = qin_crp_paternalism_share }

    set_variable = { var = qin_crp_fascism_share value = SAMPLE_party2_seats }
    multiply_variable = { var = qin_crp_fascism_share value = 13 }
    divide_variable = { var = qin_crp_fascism_share value = 4600 }
    add_popularity = { ideology = fascism popularity = qin_crp_fascism_share }

    # Split blocs with no starting internal weighting evenly.
    set_variable = { var = qin_cpc_share value = SAMPLE_party3_seats }
    divide_variable = { var = qin_cpc_share value = 200 }
    add_popularity = { ideology = communist popularity = qin_cpc_share }
    add_popularity = { ideology = socialist popularity = qin_cpc_share }

    set_variable = { var = qin_other_share value = SAMPLE_party4_seats }
    divide_variable = { var = qin_other_share value = 400 }
    add_popularity = { ideology = conservatism popularity = qin_other_share }
    add_popularity = { ideology = liberal_conservatism popularity = qin_other_share }
    add_popularity = { ideology = liberalism popularity = qin_other_share }
    add_popularity = { ideology = progressivism popularity = qin_other_share }
}

# Call this once at game start or GUI initialization
QIN_init_ordinance_history = {
    clear_array = QIN_ordinance_history_array
    clear_array = QIN_ordinance_status_array
    clear_array = QIN_ordinance_year_array

    add_to_array = { array = QIN_ordinance_history_array value = 1 } # ID for text
    add_to_array = { array = QIN_ordinance_status_array value = 1 }  # Frame 1 (Green/Pass)
    add_to_array = { array = QIN_ordinance_year_array value = 1 }

    # 3. Add Bill #2 (Failed)
    add_to_array = { array = QIN_ordinance_history_array value = 2 }
    add_to_array = { array = QIN_ordinance_status_array value = 2 }  # Frame 2 (Red/Fail)
    add_to_array = { array = QIN_ordinance_year_array value = 2 }

    # 4. Add Bill #3
    add_to_array = { array = QIN_ordinance_history_array value = 3 }
    add_to_array = { array = QIN_ordinance_status_array value = 1 }
    add_to_array = { array = QIN_ordinance_year_array value = 3 }

    # 5. Add Bill #4
    add_to_array = { array = QIN_ordinance_history_array value = 4 }
    add_to_array = { array = QIN_ordinance_status_array value = 1 }
    add_to_array = { array = QIN_ordinance_year_array value = 4 }

    # 6. Add Bill #5
    add_to_array = { array = QIN_ordinance_history_array value = 5 }
    add_to_array = { array = QIN_ordinance_status_array value = 2 }
    add_to_array = { array = QIN_ordinance_year_array value = 5 }
}

QIN_add_ordinance_to_history = {
    # Add the ID (determines text)
    add_to_array = { array = QIN_ordinance_history_array value = temp_ord_id }
    
    # Add the Status (determines frame color)
    add_to_array = { array = QIN_ordinance_status_array value = temp_ord_status }

    # Add the implementation year saved when the vote result was recorded.
    add_to_array = { array = QIN_ordinance_year_array value = temp_ord_year }
}
