The 1.3 Wrap-Up, or, How Do I Stop This Thing?

  • Crusader Kings III Available Now!

    The realm rejoices as Paradox Interactive announces the launch of Crusader Kings III, the latest entry in the publisher’s grand strategy role-playing game franchise. Advisors may now jockey for positions of influence and adversaries should save their schemes for another day, because on this day Crusader Kings III can be purchased on Steam, the Paradox Store, and other major online retailers.


    Real Strategy Requires Cunning

This thread is more than 5 months old.

It is very likely that it does not need any further discussion and thus bumping it serves no purpose. If you feel it is necessary to make a new reply, you can still do so though.

DesertFoxx

Prince des Tenebres
48 Badges
Nov 12, 2003
266
1
Visit site
  • Europa Universalis IV: Mare Nostrum
  • Semper Fi
  • Victoria 2
  • Victoria 2: A House Divided
  • Victoria 2: Heart of Darkness
  • 500k Club
  • Cities: Skylines
  • Crusader Kings II: Way of Life
  • Europa Universalis IV: Common Sense
  • Cities: Skylines - After Dark
  • Crusader Kings II: Conclave
  • Cities: Skylines - Snowfall
  • Victoria: Revolutions
  • Stellaris
  • Crusader Kings II: Reapers Due
  • Cities: Skylines - Natural Disasters
  • Crusader Kings II: Monks and Mystics
  • Cities: Skylines - Mass Transit
  • Cities: Skylines - Green Cities
  • Cities: Skylines - Parklife Pre-Order
  • Cities: Skylines - Parklife
  • Cities: Skylines Industries
  • Crusader Kings II: Holy Fury
  • Cities: Skylines - Campus
  • Europa Universalis III Complete
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Cities in Motion 2
  • Crusader Kings II
  • Crusader Kings II: Charlemagne
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Wealth of Nations
  • For The Glory
  • For the Motherland
  • Hearts of Iron III
  • Hearts of Iron III: Their Finest Hour
  • Hearts of Iron III Collection
  • Europa Universalis III Complete
  • March of the Eagles
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
I would like to ask some questions before voting.
I would be opposed to this change as well. The player is already heavily advantaged over the AI and military control of his AI allies will make it even easier. And in MP, one could always refrain from inviting allies to wars, no? I know that taking control will be optional, but, given the limited number of changes that can be implemented, this just seems to me a luxury.

I can't help but respond to this, since you singled it out and ignored many other, more silly, expensive changes that are even more of a 'luxury' and less beneficial (reports on what happened during a ruler's reign say).

Perhaps you're right I suppose its not necessary strictly speaking, but has a specific use & at 5 points, much cheaper than many other items for which I cannot think of a good reason to include (command to set a specific tech level - seems contrary to the way tech is handled in the game, perhaps a +/- 1 or something option, but to be able to so radically alter it, no thanks) No one is advocating for this change because they want the game to be easier, but because we want wars to be conducted in a more competent and realistic manner.

I think this opens up the later scenarios to be potentially played as shortened games, so that a limited number of players could play out the Thirty Years War, War of Spanish Succession or Napoleonic wars without needing quite so many humans. Basically I could just get one other person and we can have a blast playing any of those as one side or the other, as opposed to now, where I don't think 2 people could play the 1795 or 1617 scenarios especially and model the conflict particularly well -- and yes, I know that this is not HOI, but there aren't exactly a plethora of games that model some of these conflicts (hope you like AGEOD if you're looking for one).

Its a mere 5 points, and will let me & others better capture the epic scope of those great historical conflicts, that seems like a bargain to me!

I regret not getting in the 'colonial war' option as in Vic before the deadline, that seems to have historical parallels and would be quite useful -- though it'd have to be done in such a way as to not prohibit it escalating into a full-war (unlike in Vic:R).
 

luk3Z

Rebel
1 Badges
May 15, 2007
382
9
  • For The Glory
Code:
Option to take military control of AI allies during war

I would be opposed to this change as well. The player is already heavily advantaged over the AI and military control of his AI allies will make it even easier. And in MP, one could always refrain from inviting allies to wars, no? I know that taking control will be optional, but, given the limited number of changes that can be implemented, this just seems to me a luxury.

Option to take military control of vassals (not allies) AI will be sufficient so this idea is good IMHO.
 

Nein

Lt. General
2 Badges
Feb 19, 2013
1.249
519
  • Darkest Hour
  • For The Glory
command to set a specific tech level - seems contrary to the way tech is handled in the game, perhaps a +/- 1 or something option, but to be able to so radically alter it, no thanks

Not actually sure, but I believe I suggested that, or at least thought about it, and I can see two uses for it:
1) Letting modders know exactly how much an event will affect a country. Currently the significance of those investments depends greatly on the size of the country, and checking the province numbers can be annoying and even inefficient (say, the Netherlands is not necessarily poorer than the Timurids). Of course, a proportional change would be even better.
2) Actually going backwards technologically, something impossible up to this moment. This could be useful if you want to simulate the decay on trade networks and infrastructure in the Dark Ages, or if you want to make sure an Inca Empire full of BT 4 provinces and with 100% inflation progresses.

Being able to change the tech by any number shouldn't bother you too much either, given that you can choose not to use absurd numbers and that you can already boost a country's tech by +10000000000000.
 
Last edited:

Andrei Gijgorev

Civilian
3 Badges
May 23, 2007
686
64
  • Arsenal of Democracy
  • Darkest Hour
  • For The Glory
With coastline changes i had something like this in mind:
uxEfJwo.png
(Excuse my shity editing skills)
Philippines are an good example because they miss quite a few islands in the vanilla map. I didn't mean making the borders like in reality just improving them a bit so that they look better but still have the vanilla style. Now i admit that the image i posted may not necessarily qualify as a "small" change but it was more intended to just show what i meant.
Yeah, that's a huge amount of work. Did I say huge? I meant gigantic.

I would like to ask some questions before voting.

First of all, are there any workarounds to any of the current listed issues? e.g. there's a workaround to the proposed command "set_domestic" so that should probably be struck off the list. Are there any others?
List of features with workarounds:
  • 008 (requires 001)
  • 028 (requires 094)
  • 029 (requires 094)
  • 031
  • 044
  • 045
  • 059 (requires 094)
  • 078
  • 099 (requires 001 and 094)
  • 100 (requires 001 and 094)
  • 101
  • 102
Bold workarounds may drastically reduce performance and should be avoided. Most of the other workarounds require writing lots of code which is likely to result in bugs.

I proposed this myself but 18 points seems a lot. Would it cost less if some effects were to be modified without making the whole thing definable/moddable? I think we just need to deal with some unbalanced sliders (like defensive/offensive).
I love this suggestion and IMO it's worth 18 points. If only a few sliders/effects are moddable I wouldn't want it at all, however.

Does this benefit small/tall countries over large/wide empires? If so, I would probably be happy leaving it as it is, even if it's a bug.
Quite the opposite, in fact. Say you're a one-province country, and you've invested in infra tech for 50 years and you're 99% done. Now you win a war and annex another one-province country, and as a result your infra progress is reset to ~60%. Have fun investing for another 20 years or so.

This would be a good change but probably not worth 11 points. Are we sure this cannot be dealt with from the current AI files? IIRC EU 2's Interregnum/Aberration mod improved the AI a lot in this regard.
I don't see how.

Does this entail loading a map with Vicky map dimensions, number of provinces, province limits, etc.? If so, this is an absolute steal at 12 points!
Yep, this seems like a huge bargain.

I'd actually prefer not see the AI response beforehand... I'd prefer having that element of surprise/unpredictability. Not to mention that all this does is aid the player by preventing him from wasting diplomats. In general, I don't think we should be looking to aid the player over the AI.
Agreed.

I would be opposed to this change as well. The player is already heavily advantaged over the AI and military control of his AI allies will make it even easier. And in MP, one could always refrain from inviting allies to wars, no? I know that taking control will be optional, but, given the limited number of changes that can be implemented, this just seems to me a luxury.
Seems like a luxury to me as well, but then again I don't play much MP.

other items for which I cannot think of a good reason to include (command to set a specific tech level - seems contrary to the way tech is handled in the game, perhaps a +/- 1 or something option, but to be able to so radically alter it, no thanks)
Leave it to modders to come up with good uses for event commands. Personally I want to have this command because in conjunction with 034, 076 and 094 it would allow me to move towards more dynamic and realistic spreading of technology, tied to provinces as well as countries. This would have effects e.g. on the independence of the Netherlands which would then start with higher trade tech than Spain, due to the Dutch provinces' high trade tech. Also, these commands would help a lot in cases where one country takes up the mantle of another, e.g. the Manchu/Jurchen turning into the Qing Empire and adopting the Ming bureaucracy (infra tech), or with the unification of several countries into one (e.g. post-Sengoku Japan).
 

Therion

Field Marshal
21 Badges
Sep 7, 2006
2.631
75
  • Heir to the Throne
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • 500k Club
  • War of the Roses
  • Victoria 2: A House Divided
  • Victoria 2
  • Rome Gold
  • Victoria: Revolutions
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Arsenal of Democracy
  • Hearts of Iron III
  • For The Glory
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Europa Universalis III
  • Deus Vult
  • Darkest Hour
  • Crusader Kings II
With coastline changes i had something like this in mind:
xcuse my shity editing skills)
Philippines are an good example because they miss quite a few islands in the vanilla map. I didn't mean making the borders like in reality just improving them a bit so that they look better but still have the vanilla style. Now i admit that the image i posted may not necessarily qualify as a "small" change but it was more intended to just show what i meant.
It would be a lot of work. Remember that for every such graphical change you'd have to redo the shading layer (the layer containing the province shading and name) which will be impossible to get as the original so you'd have to redo the entire map or end up with inconsistent shading. One of the reasons being able to import the Vicky map would be awesome is that, from what I've seen, Vicky's map editor makes it easier to mod the map.

I can't help but respond to this, since you singled it out and ignored many other, more silly, expensive changes that are even more of a 'luxury' and less beneficial (reports on what happened during a ruler's reign say).
I agree that there are other useless proposals. The one you mention, yes, and definitely all the proposals involving VPs...

I think this opens up the later scenarios to be potentially played as shortened games, so that a limited number of players could play out the Thirty Years War, War of Spanish Succession or Napoleonic wars without needing quite so many humans. Basically I could just get one other person and we can have a blast playing any of those as one side or the other, as opposed to now, where I don't think 2 people could play the 1795 or 1617 scenarios especially and model the conflict particularly well -- and yes, I know that this is not HOI, but there aren't exactly a plethora of games that model some of these conflicts (hope you like AGEOD if you're looking for one).
As for your argument above, fair enough, it actually makes me want to consider this proposal much more than before.
 
Last edited:

MichaelM

For the Glory lead
10 Badges
Jun 30, 2004
3.749
71
crystalempiregames.com
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • For The Glory
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Victoria 2
  • 500k Club
  • Stellaris Sign-up
I'd actually prefer not see the AI response beforehand... I'd prefer having that element of surprise/unpredictability. Not to mention that all this does is aid the player by preventing him from wasting diplomats. In general, I don't think we should be looking to aid the player over the AI.
Just to be clear, this is an EU3-style "Impossible/Maybe/Probable" system and not a completely deterministic EU4-style "Yes/No" system. The motivation comes from the number of possible diplomatic actions that an experienced player knows the AI will NEVER do, but a newbie might become frustrated by.
 

Herr Doctor

Learned cat
16 Badges
Jul 11, 2002
3.867
168
  • Cities in Motion
  • Crusader Kings II
  • Deus Vult
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • For The Glory
  • Hearts of Iron III
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Victoria: Revolutions
  • Victoria 2
  • 500k Club
I would be opposed to this change as well. The player is already heavily advantaged over the AI and military control of his AI allies will make it even easier. And in MP, one could always refrain from inviting allies to wars, no? I know that taking control will be optional, but, given the limited number of changes that can be implemented, this just seems to me a luxury.
Partly agree, but I always wanted something like this for personal unions. FtG has a working flavour option for them now, so I think gaining military control over the PU armies would be absolutely logical and historically justified step. I feel it's really something important for PU portrayal.
 

Therion

Field Marshal
21 Badges
Sep 7, 2006
2.631
75
  • Heir to the Throne
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • 500k Club
  • War of the Roses
  • Victoria 2: A House Divided
  • Victoria 2
  • Rome Gold
  • Victoria: Revolutions
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Arsenal of Democracy
  • Hearts of Iron III
  • For The Glory
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Europa Universalis III
  • Deus Vult
  • Darkest Hour
  • Crusader Kings II
Partly agree, but I always wanted something like this for personal unions. FtG has a working flavour option for them now, so I think gaining military control over the PU armies would be absolutely logical and historically justified step. I feel it's really something important for PU portrayal.
Indeed, although this also depends on the implementation of 061 (since PUs are pretty much useless in their current state).

Code:
096 Add the missing defines for badboy gained from annexing provinces of the various core types (national/claim/CB/ToT) and of the various sizes (city/colonial city/colony/TP).
I suppose it's too late for suggestions now but it would be cool if badboy could be tied to BTV (like in EU4), country size and other factors like a province being a CoT or gold-producing e.g. France annexing Milan should generate more badboy than Wallachia annexing Moldavia.
 

Andrei Gijgorev

Civilian
3 Badges
May 23, 2007
686
64
  • Arsenal of Democracy
  • Darkest Hour
  • For The Glory
Can I vote multiple times for the same feature? E.g. listing a 5-point feature four times for 20 points; is that allowed?

(I really need the "background" event type...)
 

MichaelM

For the Glory lead
10 Badges
Jun 30, 2004
3.749
71
crystalempiregames.com
  • Europa Universalis III Complete
  • Divine Wind
  • Europa Universalis IV
  • For The Glory
  • Heir to the Throne
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Victoria 2
  • 500k Club
  • Stellaris Sign-up
Can I vote multiple times for the same feature? E.g. listing a 5-point feature four times for 20 points; is that allowed?

(I really need the "background" event type...)
Make your pitch convincing. That's why there's a spot to link a forum post explaining the proposed feature.
 

Andrei Gijgorev

Civilian
3 Badges
May 23, 2007
686
64
  • Arsenal of Democracy
  • Darkest Hour
  • For The Glory
Well, wenn I say "setting flags" what I really mean is "regularly checking and setting a large number of flags for a large number of countries/provinces".

For example, if we don't get the "enemy = TAG" trigger, we could work around this with flags and the background event type:
Code:
event = {
    id = 62831853
    country = XXX
    background = yes
    deathdate = { year = 9999 }

    action = {
        trigger = { atwar = no }
        command = { }
        command = { type = clrflag which = ENEMY_AAA }
        command = { type = clrflag which = ENEMY_BBB }
        command = { type = clrflag which = ENEMY_CCC }
        .
        .
        .
    }
    action = {
        trigger = { atwar = yes }
        command = { }
        command = { trigger = { war = { country = XXX country = AAA } } type = setflag which = ENEMY_AAA }
        command = { trigger = { NOT = { war = { country = XXX country = AAA } } } type = clrflag which = ENEMY_AAA }
        command = { trigger = { war = { country = XXX country = BBB } } type = setflag which = ENEMY_BBB }
        command = { trigger = { NOT = { war = { country = XXX country = BBB } } } type = clrflag which = ENEMY_BBB }
        command = { trigger = { war = { country = XXX country = CCC } } type = setflag which = ENEMY_CCC }
        command = { trigger = { NOT = { war = { country = XXX country = CCC } } } type = clrflag which = ENEMY_CCC }
        .
        .
        .
    }
}
This event would be duplicated for all country tags. You could then check the ENEMY_TAG flag to see whether an unknown country is currently at war with TAG.

It would also be possible to have only one single event firing for a dummy country, but this would result in somewhat decreased performance since only a fraction of countries exist at any given time and triggers would have to check all of them, while events for non-existent countries simply won't trigger without any performance hit. Also, setting ENEMY_TAG flags locally is more versatile than setting global TAG_ENEMY_TAG flags.

(Depending on the implementation it could be faster to check whether the flag is already set/cleared before setting/clearing it. This would need testing; I haven't actually done much runtime optimisation with FtG events other than figuring out that the trigger check algorithm is depth-first from the top. Even with huge numbers of events I can hardly notice any decrease in performance.)

Then, once we have the ENEMY_TAG flags, we can do more cool stuff. For example, we can emulate feature #059:
There should be additional revoltrisk in non-national provinces that are national cores of a different (currently existing) country. The revoltrisk should be higher if the other country is currently an enemy. Exact values to be set in defines.txt, analogous to _PROV_RRISK_CULTURE_ and _PROV_RRISK_CULTUREWAR_.
For this we need one event per province:
Code:
event = {
    id = 10002718
    province = 2718
    background = yes
    deathdate = { year = 9999 }

    trigger = { NOT = { tradingpost = 2718 } }

    action = {
        trigger = {
            flag = NNRRISK_2718
            OR = {
                atwar = no
                core_national = { province = 2718 data = -1 }
                NOT = { control = { province = 2718 data = -1 } }
                NOT = {
                    AND = {
                        flag = ENEMY_AAA
                        core_national = { province = 2718 data = AAA } }
                    }
                    AND = {
                        flag = ENEMY_BBB
                        core_national = { province = 2718 data = BBB } }
                    }
                    AND = {
                        flag = ENEMY_CCC
                        core_national = { province = 2718 data = CCC } }
                    }
                    .
                    .
                    .
                }
            }
        }
        command = { type = clrflag which = NNRRISK_2718 }
        command = { type = province_revoltrisk which = 2718 value = -2 }
    }
    action = {
        trigger = {
            NOT = { flag = NNRRISK_2718 }
            atwar = yes
            control = { province = 2718 data = -1 } }
            NOT = { core_national = { province = 2718 data = -1 } }
            OR = {
                AND = {
                    flag = ENEMY_AAA
                    core_national = { province = 2718 data = AAA } }
                }
                AND = {
                    flag = ENEMY_BBB
                    core_national = { province = 2718 data = BBB } }
                }
                AND = {
                    flag = ENEMY_CCC
                    core_national = { province = 2718 data = CCC } }
                }
                .
                .
                .
            }
        }
        command = { type = setflag which = NNRRISK_2718 }
        command = { type = province_revoltrisk which = 2718 value = 2 }
    }
}
This works because the province_revoltrisk command does not apply to provinces not owned by the country receiving the event, and the additional revoltrisk is automatically cleared when the province changes owner. Because flags are stored locally, these events will be compatible with tag changes.


So basically, the point of the background event type is to allow adding new game mechanics via events and working around existing limitations. The non-national revoltrisk thing is just an example; this could be used for anything from economic effects to province-based tech progress and dynamic spreading of discoveries.

The proposed "validcommand" trigger (#023) would be a similarly powerful tool, especially for random events.

TL;DR: Vote for the features in my sig plox.
 
Last edited:

ConjurerDragon

Generalissimus
63 Badges
Apr 19, 2005
5.213
457
  • Teleglitch: Die More Edition
  • Europa Universalis III Complete
  • Knights of Pen and Paper +1 Edition
  • The Kings Crusade
  • Magicka
  • March of the Eagles
  • Europa Universalis III Complete
  • Europa Universalis IV: Res Publica
  • Victoria: Revolutions
  • Rome Gold
  • Sengoku
  • Ship Simulator Extremes
  • Sword of the Stars
  • Impire
  • Victoria 2
  • Rome: Vae Victis
  • Warlock: Master of the Arcane
  • War of the Roses
  • 500k Club
  • Europa Universalis III: Collection
  • Europa Universalis IV: El Dorado
  • Europa Universalis IV: Pre-order
  • Magicka: Wizard Wars Founder Wizard
  • Pride of Nations
  • Rise of Prussia
  • Shadowrun: Hong Kong
  • East India Company Collection
  • Hearts of Iron Anthology
  • Arsenal of Democracy
  • Hearts of Iron II: Armageddon
  • Crusader Kings II
  • Crusader Kings II: Legacy of Rome
  • Crusader Kings II: The Old Gods
  • Crusader Kings II: The Republic
  • Crusader Kings II: Sons of Abraham
  • Crusader Kings II: Sunset Invasion
  • Crusader Kings II: Sword of Islam
  • Darkest Hour
  • Deus Vult
  • A Game of Dwarves
  • Europa Universalis III
  • Europa Universalis III: Chronicles
  • Europa Universalis III Complete
  • Europa Universalis IV
  • Europa Universalis IV: Art of War
  • Europa Universalis IV: Conquest of Paradise
  • Europa Universalis IV: Wealth of Nations
  • Europa Universalis IV: Call to arms event
  • For The Glory
  • Hearts of Iron III

Perhaps I´m just a bit slow but I don´t understand the need for those flags.

When I understood you right then you mean to set flags for every country for every country it could possibly be at war with to check if it´s an enemy or not?
So number of countries X number of countries flags? And to change those flags every time a country starts a war with someone and to clear the flags every time they are at peace again?

What is easier doing that instead of using a lot of triggers in the event for every existing country?
war = { country = aaa country = bbb }
Checks if country aaa is at war with country bbb.
 

Andrei Gijgorev

Civilian
3 Badges
May 23, 2007
686
64
  • Arsenal of Democracy
  • Darkest Hour
  • For The Glory
When I understood you right then you mean to set flags for every country for every country it could possibly be at war with to check if it´s an enemy or not?
So number of countries X number of countries flags? And to change those flags every time a country starts a war with someone and to clear the flags every time they are at peace again?
Correct. Of course the ENEMY_TAG flags wouldn't be necessary if we had feature #031, which no one has voted for yet.

What is easier doing that instead of using a lot of triggers in the event for every existing country?
war = { country = aaa country = bbb }
Checks if country aaa is at war with country bbb.
You can only do that if you know the tag of both countries. Notice how the second event I posted is for a certain province rather than for a certain tag? Consequently, when that event fires, you don't know which country it fires for. Without the first event that sets the flags (and without feature #031) this part here
Code:
OR = {
    AND = {
        flag = ENEMY_AAA
        core_national = { province = 2718 data = AAA } }
    }
    AND = {
        flag = ENEMY_BBB
        core_national = { province = 2718 data = BBB } }
    }
    AND = {
        flag = ENEMY_CCC
        core_national = { province = 2718 data = CCC } }
    }
    .
    .
    .
}
would look like this
Code:
OR = {
    AND = {
        tag = ZZZ
        OR = {
            AND = {
                war = { country = ZZZ country = AAA }
                core_national = { province = 2718 data = AAA }
            }
            AND = {
                war = { country = ZZZ country = BBB }
                core_national = { province = 2718 data = BBB }
            }
            AND = {
                war = { country = ZZZ country = CCC }
                core_national = { province = 2718 data = CCC }
            }
            .
            .
            .
        }
    }
    AND = {
        tag = YYY
        OR = {
            AND = {
                war = { country = YYY country = AAA }
                core_national = { province = 2718 data = AAA }
            }
            AND = {
                war = { country = YYY country = BBB }
                core_national = { province = 2718 data = BBB }
            }
            AND = {
                war = { country = YYY country = CCC }
                core_national = { province = 2718 data = CCC }
            }
            .
            .
            .
        }
    }
    AND = {
        tag = XXX
        OR = {
            AND = {
                war = { country = XXX country = AAA }
                core_national = { province = 2718 data = AAA }
            }
            AND = {
                war = { country = XXX country = BBB }
                core_national = { province = 2718 data = BBB }
            }
            AND = {
                war = { country = XXX country = CCC }
                core_national = { province = 2718 data = CCC }
            }
            .
            .
            .
        }
    }
    .
    .
    .
}
which is an exponential increase in complexity.
 
Last edited:

Therion

Field Marshal
21 Badges
Sep 7, 2006
2.631
75
  • Heir to the Throne
  • Mount & Blade: With Fire and Sword
  • Mount & Blade: Warband
  • 500k Club
  • War of the Roses
  • Victoria 2: A House Divided
  • Victoria 2
  • Rome Gold
  • Victoria: Revolutions
  • Europa Universalis III Complete
  • Europa Universalis III Complete
  • Arsenal of Democracy
  • Hearts of Iron III
  • For The Glory
  • Europa Universalis IV
  • Divine Wind
  • Europa Universalis III Complete
  • Europa Universalis III
  • Deus Vult
  • Darkest Hour
  • Crusader Kings II
I understood. That event type would essentially help modders implement or extend game rules which are not in the game (in the form of background events that do not attract the attention of the player). It is indeed quite powerful, if used correctly, and probably quite cheap at 5 points as well. If we are allowed to modify our votes, I'll try to exchange it with another feature although I'll be hard-pressed dropping one of the features I voted for since they all seem to me most excellent!

Edit: Can it be used to emulate 036? I'm guessing not without a cedecontrol command.
 
Last edited:

Andrei Gijgorev

Civilian
3 Badges
May 23, 2007
686
64
  • Arsenal of Democracy
  • Darkest Hour
  • For The Glory
That event type would essentially help modders implement or extend game rules which are not in the game (in the form of background events that do not attract the attention of the player).
Yes, exactly! At first it may sound really stupid to brute-force triggers or events like this, but the reality is that EU2/FTG events are inherently quite streamlined and permormance hits are generally minimal.


Edit: Can it be used to emulate 036? I'm guessing not without a cedecontrol command.
There's the control command:
Code:
command = { type = control which = <id> value = <tag> }
However, this command needs to be executed for the country owning the province. Due to the need for identifying the country currently controlling the province and shifting the focus to that country, and then determining which other countries are allied to it, and then figuring out a pecking order, this is quite complex. Here's a rough sketch:
Code:
event = {
    id = 20002718
    country = MUS
    background = yes
    deathdate = { year = 9999 }

    trigger = {
        OR = {
            flag = CONTROLCHANGE_2718    # <- global flag
            NOT = { controlchange = { province = 2718 days = 1 } }
        }
    }

    action = {    # prevents triggering on consecutive days
        trigger = { flag = CONTROLCHANGE_2718 }
        command = { type = clrflag which = CONTROLCHANGE_2718 }
    }
    action = {
        trigger = {
            control = { province = 2718 data = AAA }
        }
        command = { }
        command = {
            trigger = {
                NOT = { owned = { province = 2718 data = AAA } }
                NOT = { core_national = { province = 2718 data = AAA } }
            }
            type = trigger which = 30002718 where = AAA
        }
    }
    action = {
        trigger = {
            control = { province = 2718 data = BBB }
        }
        command = { }
        command = {
            trigger = {
                NOT = { owned = { province = 2718 data = BBB } }
                NOT = { core_national = { province = 2718 data = BBB } }
            }
            type = trigger which = 30002718 where = BBB
        }
    }
    action = {
        trigger = {
            control = { province = 2718 data = CCC }
        }
        command = { }
        command = {
            trigger = {
                NOT = { owned = { province = 2718 data = CCC } }
                NOT = { core_national = { province = 2718 data = CCC } }
            }
            type = trigger which = 30002718 where = CCC
        }
    }
    .
    .
    .
}

event = {
    id = 30002718
    background = yes

    # actions for level 1 (national province)
    action = {
        trigger = {
            flag = ALLY_AAA        # <- local flag, set the same way as ENEMY_TAG
            core_national = { province = 2718 data = AAA }
        }
        command = { type = trigger which = 40002718 }        # control command must be executed for country owning the province
    }
    action = {
        trigger = {
            flag = ALLY_BBB
            core_national = { province = 2718 data = BBB }
        }
        command = { type = trigger which = 40012718 }        # <- note the increasing ID
    }
    action = {
        trigger = {
            flag = ALLY_CCC
            core_national = { province = 2718 data = CCC }
        }
        command = { type = trigger which = 40022718 }        # <- note the increasing ID
    }
    .
    .
    .

    # actions for level 2 (claim)
    action = {
        trigger = {
            core_claim = { province = 2718 data = -1 }
        }
        command = { }        # don't give away if claimed by self
    }
    action = {
        trigger = {
            flag = ALLY_AAA
            core_claim = { province = 2718 data = AAA }
        }
        command = { type = trigger which = 40002718 }        # same ids as lvl 1 actions
    }
    action = {
        trigger = {
            flag = ALLY_BBB
            core_claim = { province = 2718 data = BBB }
        }
        command = { type = trigger which = 40012718 }        # same ids as lvl 1 actions
    }
    action = {
        trigger = {
            flag = ALLY_CCC
            core_claim = { province = 2718 data = CCC }
        }
        command = { type = trigger which = 40022718 }        # same ids as lvl 1 actions
    }
    .
    .
    .

    # actions for level 3 (CB)
    # skipping ToT since there's no trigger
    action = {
        trigger = {
            core_casusbelli = { province = 2718 data = -1 }
        }
        command = { }        # don't give away if claimed by self
    }
    action = {
        trigger = {
            flag = ALLY_AAA
            core_casusbelli = { province = 2718 data = AAA }
        }
        command = { type = trigger which = 40002718 }        # same ids as lvl 1 actions
    }
    action = {
        trigger = {
            flag = ALLY_BBB
            core_casusbelli = { province = 2718 data = BBB }
        }
        command = { type = trigger which = 40012718 }        # same ids as lvl 1 actions
    }
    action = {
        trigger = {
            flag = ALLY_CCC
            core_casusbelli = { province = 2718 data = CCC }
        }
        command = { type = trigger which = 40022718 }        # same ids as lvl 1 actions
    }
    .
    .
    .

    # actions for level 4 (culture)
    # technically we may know the culture of some provinces, but manual work should be avoided
    action = {
        trigger = {
            OR = {
                AND = {
                    provinceculture = { province = 2718 data = culture_000 }
                    culture = culture_000    # can only check accepted culture, not primary culture... close enough
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_001 }
                    culture = culture_001
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_002 }
                    culture = culture_002
                }
                .
                .
                .
            }
        }
        command = { }        # don't give away if own culture
    }
    action = {
        trigger = {
            flag = ALLY_AAA
            OR = {
                AND = {
                    provinceculture = { province = 2718 data = culture_000 }
                    AAA = { culture = culture_000 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_001 }
                    AAA = { culture = culture_001 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_002 }
                    AAA = { culture = culture_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40002718 }        # seems familiar?
    }
    action = {
        trigger = {
            flag = ALLY_BBB
            OR = {
                AND = {
                    provinceculture = { province = 2718 data = culture_000 }
                    BBB = { culture = culture_000 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_001 }
                    BBB = { culture = culture_001 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_002 }
                    BBB = { culture = culture_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40012718 }
    }
    action = {
        trigger = {
            flag = ALLY_CCC
            OR = {
                AND = {
                    provinceculture = { province = 2718 data = culture_000 }
                    CCC = { culture = culture_000 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_001 }
                    CCC = { culture = culture_001 }
                }
                AND = {
                    provinceculture = { province = 2718 data = culture_002 }
                    CCC = { culture = culture_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40022718 }
    }
    .
    .
    .

    # actions for level 5 (religion)
    # ...
    action = {
        trigger = {
            NOT = { event = 103 }    # predominance tolerance dance dance revolution
            OR = {
                AND = {
                    provincereligion = { province = 2718 data = religion_000 }
                    religion = religion_000
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_001 }
                    religion = religion_001
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_002 }
                    religion = religion_002
                }
                .
                .
                .
            }
        }
        command = { }
    }
    action = {
        trigger = {
            NOT = { event = 103 }
            flag = ALLY_AAA
            OR = {
                AND = {
                    provincereligion = { province = 2718 data = religion_000 }
                    AAA = { religion = religion_000 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_001 }
                    AAA = { religion = religion_001 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_002 }
                    AAA = { religion = religion_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40002718 }        # seems familiar?
    }
    action = {
        trigger = {
            NOT = { event = 103 }
            flag = ALLY_BBB
            OR = {
                AND = {
                    provincereligion = { province = 2718 data = religion_000 }
                    BBB = { religion = religion_000 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_001 }
                    BBB = { religion = religion_001 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_002 }
                    BBB = { religion = religion_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40012718 }
    }
    action = {
        trigger = {
            NOT = { event = 103 }
            flag = ALLY_CCC
            OR = {
                AND = {
                    provincereligion = { province = 2718 data = religion_000 }
                    CCC = { religion = religion_000 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_001 }
                    CCC = { religion = religion_001 }
                }
                AND = {
                    provincereligion = { province = 2718 data = religion_002 }
                    CCC = { religion = religion_002 }
                }
                .
                .
                .
            }
        }
        command = { type = trigger which = 40022718 }
    }
    .
    .
    .

    # actions for level 6 (same religious subgroup)
    # gonna skip that one...

    # actually skpping the rest because otherwise I'll have bad dreams tonight
}

event = {
    id = 40002718
    province = 2718
    background = yes

    action = { command = { type = control which = 2718 value = AAA } }
}

event = {
    id = 40012718
    province = 2718
    background = yes

    action = { command = { type = control which = 2718 value = BBB } }
}

event = {
    id = 40022718
    province = 2718
    background = yes

    action = { command = { type = control which = 2718 value = CCC } }
}

.
.
.

Apart from the fact that this is not fun to code at all (and might actually lead to performance issues) it also falls short in several ways:
  • You can't truly order countries by priority, so while you can say "don't cede control if the province is a national province" you can't say "check for claims if the province is a national core of several countries". So you can only work on a certain level, and not default to the next.
  • You can't check things like primary country culture.
  • Checking for whether a country borders a province is impossible without feature #098.
  • Probably some other stuff I haven't thought of yet.

TL;DR: No.