moretrim/ccHFM

Mitigate persistent rebels

Opened this issue · 0 comments

In some circumstances rebels can stick around longer than expected, or even appear when they really shouldn’t. This can ruin an AI country that usually cannot perform the (sometimes unusual) steps required to make them go away without an army.

Some notes to explain the behaviour of the game:

  • Militant pops join either movements or rebels, not to mistake one for the other—both are shown on the Movements interface. ‘Rebels’ with this meaning should not be confused with uprisings either, i.e. active rebel brigades on the map. To avoid confusion I’ll refer to these either as rebel movements (and even them include them into movements), organising rebels, and similar.
  • These movements seem to be a bit ‘sticky’, with the game not recomputing them frequently enough. Save/reloading helps, and might also help cause uprisings (for better or for worse).
  • When an uprising enforce demands, that doesn’t mean they go home! The demand effects must be designed to ‘defuse’ uprisings in some fashion.

With these two things in mind we can look at some perpetual cases:

  • Austria-Hungary reverting to Austria can often still have uprisings of Austro-Hungarian rebels. These rebels cannot enforce on Austria, and presumably Austrian reforms do not send them home. (Untested: lower militancy should still help.)
  • Another way movements can change hands is after a transfer of province since movements are not recomputed often enough. Italy may acquire Lombardy containing Milanese Nationalists, though the subsequent uprising can still take place in Austrian-held Venice or even across both borders. Austria may lower her own militancy or even pass a reform but this will do nothing to those pops in Lombardy, keeping the uprising going.

Mitigation strategies to investigate, with general guidelines:

  • implement smarter demands_enforced_trigger & demands_enforced_effect blocks. Distinguish between:
    • when rebels can practically enforce (e.g. Nationalists holding all cores), in which case effects should take place
    • when they cannot (e.g. no core in the country!), in which case a mitigation strategy should take place

More specifically:

  • Nationalist Rebels enforce even when all their cores are abroad. In practice this ruins the country’s prestige. Tentative smarter effects:

    random_owned = {
        limit = {
            independence = {
                NOT = { all_core = { NOT = { owned_by = THIS } } }
            }
        }
    
        owner = {
            release_vassal = REB
            modify_relation = {
                tag = REB
                relation = -150
            }
            prestige_factor = -0.3
        }
    }
    
    # mitigate
    random_owned = {
        limit = {
            independence = {
                all_core = { NOT = { owned_by = THIS } }
            }
        }
    
        # domestically
        owner = {
            any_pop = {
                limit = { is_culture_group = REB }
    
                militancy = -10
            }
        }
    
        # cores abroad
        independence = {
            all_core = {
                any_pop = {
                    limit = { is_culture_group = REB }
    
                    militancy = -10
                }
            }
        }
    }