moretrim / cchfm Goto Github PK
View Code? Open in Web Editor NEWCommunity Curated HFM
Community Curated HFM
The Establish the Karafuto Prefecture decision becomes spammy, and does not do anything when clicked, in HFM when Russia owns part of Sakhalin (usually Pogobi). It seems that setting and later clearing a flag is probably the best way to fix it.
Countries which lose all of their provinces without being properly annexed become a source of 'eternal' diplomacy. That is to say, wars and overlord/vassal relationships that once involved the country are not terminated and cannot be resolved through normal gameplay: the now undead country cannot be interacted with.
Ideally no event, decision or CB should lead to such a situation. Practically however getting to that point is not going to happen soon enough. In the meantime, a clean-up system to kill off zombie countries for good would work as a stopgap solution.
When Japan westernizes with a Choshu victory and undergoes the Meiji Restoration event ( 97646 ) Ryukyu becomes a puppet of a non-existent Choshu, which appears to be a scope bug. Also another vassalization of Ryukyu occurs in the meiji_constitution decision. While it is most likely intended for Ryukyu to become a satellite of westernized Japan, I have removed this from the Meiji Restoration event, the Tokugawa Victory event, and the Meiji Constitution decision, because I could not find a reason to enforce this. Most especially, Ryukyu was under dual influence by Japan and China until 1874, further resisting removal of sovereignty until 1879.
Because this outcome was increased in likelihood but not guaranteed by Japanese westernization, it seems best to rely upon the Ryukyu annexation decision instead of enforcing puppetry here. The inherit_ryukyu decision is a more elegant way of expressing the situation. This also forces Japan to earn their conquest of Ryukyu through (in the easiest route) sphering, instead of automatically acquiring it.
I have left in the stipulation in inherit_ryukyu that prevents the ai from clicking it when when the player is Ryukyu.
If Sweden renounces its claims on Finland, it also loses Finnish culture as accepted. Unusually this is two-way: Finland also loses Swedish as accepted, and it absolutely has no say in this process.
This can be a very frustrating experience for a Finland player.
Because the Arab Union is the country of pan-Arabism and acts (in terms of concept) as a culture union, it probably should not be eligible to lose Mashriqi culture from the Iraqi independence event.
on_action
pump event needs a review of its conditions: it restarts the dismantlement process as long as the dismantled country owns an overseas, non-core, or colonial province96011
, 96016
, 96017
), the first is the only one to hand it out at the province level—occasionally leading to split statesThe major German countries (i.e. those centred on Berlin or Vienna) have an event setup whereby once they invent Nationalism & Imperialism they cannot maintain positive relations or alliances with other German GPs:
Unless steps are taken to tweak the stock message settings, these events are likely to go unnoticed—leaving the player to wonder why they lost a potentially strategic alliance. For clarity the event should really send a notice.
I am proceeding to modernize this issue. The problem is that when playing as Korea, events fire that cause the country to be puppeted without a war. While arguably Korea would have a hard time surviving such a war as an uncivilized tag, it makes more sense to let events occur in a more engaging way that allows the player to actively take part in the chain of events. Regardless, the role of these events in leading to the First Sino-Japanese War should be kept in mind.
Additionally, during testing I encountered a bug where 85020
repeats with surprising insistency.
The timeline for this is as follows:
85020
"Tonghak Rebellion": when Korea is between 70% and 100% westernized, but not yet westernized, or if the year is on or after 1894, this event is likely to happen and takes Korea out of any sphere that it may be in.
Ideally, the [Donghak Peasant Revolution] should only fire under the right combination of conditions. Arguably, the westernization process is a factor promoting these conditions, and this could be simulated through a threshold in lower class militancy or rebel occupation. Instituting such thresholds should give the player more sense of control over the destiny of the country that they are playing. I suggest attaching the threshold to Taejon province (1636
). In the course of normal westernization, I found this province to have an average militancy of 5.8 soon before 85020
triggered, which is high enough to suggest that rebellion could happen.
Arguably the presence of a Rebellion, whether successful or not, could grant a casus belli to Japan. However, 85025
, which happens to usually Qing (really to the owner of Peking province), implies that Korea has asked for help. An alternative could be presented in 85020
where a strong Korea thinks that it can put down the rebellion on its own, or a weak one can ask for help. Qing (and potentially Japan as well) could then gain a casus belli to puppet a strong Korea. A weak Korea would ask the Qing for help, leading to the current in-game route.
Whether Korea is a already a puppet of Qing or not should not have a major effect. A Korea who is a puppet is "weak" in reference to the above criteria. An independent Korea could be "strong," but Qing may want to opportunistically invade a Korea that is fighting off a large rebellion.
85026
"$FROMCOUNTRY$ Intervenes in Korea" and 85027
"Japanese Forces Enter Seoul": are the next to happen from the Korean perspective. In its current state, this causes Japan to puppet Korea automatically. It is noteworthy that in-game, it is likely that Korea will have had no interaction with Japan until this time. Ideally, the attempt to puppet Korea should have a precursor. The Tientsin Convention, between Qing and Japan in 1885, could be an appropriate precursor. This assumes a weak Korea, which could only allow itself to be used as a dependent buffer between Qing and Japan.
These events would not unfold in the same way for a strong Korea that had been able to gain independence from Qing. In such a scenario, I suggest that Japan could try to puppet an uncooperative Korea by force, since a defeated Qing would only be a concern and not a controlling factor in a Japan-Korea interaction. This is more in keeping with 85030
, which normally fires if Qing refuses to intervene in Korea.
Therefore, I am proposing these major routes for a Sino-Japanese War:
This suggestion is intended to give principally the player a stronger option in controlling Korea's destiny, but it can also give the ai the possibility to trigger these events with some variation.
Explanation by way of example: when putting down an Acquire Core State and an Acquire State CB, a country may end up grabbing core and non-core land in the same peace offer. The peace order should mean that the effects of the core CBs run before nearly anything else:
However, those CBs fire some events (“Territory Lost”, that leads into “Our Lands Returned”):
Because those events do not run their effects immediately, it may be the case that the peace order is ultimately subverted. For our example scenario, that means the country would very likely return the state that they just went to war for.
Some countries have an invalid govt_flag
block with duplicate entries, e.g.:
While the modder intended to add two special rules, a govt_flag
only allows for one. In this instance only the last two entries will be taken into account by the game and a constitutional monarchy government will use the regular monarchy flag.
Countries affected:
KOR
LAN
In a save game involving the German liberation of Russian-held, Poland I have narrowed the culprit down to this kind of condition:
Since Poland is a cultural union, and is not on the map, it’s entirely up to the involved_in_crisis = yes
condition to keep Poland as a valid liberation target. As previously discussed before off Github however the crisis conditions (e.g. crisis_exist
, involved_in_crisis
, is_liberation_crisis
, etc.) are only meaningful during a crisis. Even if the crisis is not peacefully resolved, they stop being useful the day the follow-up war breaks out.
My understanding is that this is usually resolved through careful use of war_with = THIS
. However since involved_in_crisis
appears in a bunch of other conditions as well and since this should also affect upstream I intend to kick the can up for advice first.
The game does not format complicated conditions well. Here is an example from the conditions to pass the Native Assimilation Act decision:
(from reddit)
Taking into account the limitations of in-game tooltips, it might be possible to rewrite some conditions to an equivalent form that is friendlier to the user. List of candidates:
Countries that are meant to be unreleasable follow a particular setup in their country history file:
is_releasable_vassal = no
set_country_flag = unreleasable_country
The former sets the core in-game functionality (e.g. prohibit releasing from the diplomacy screen), the latter is helpful for scripting. Some countries however are only partially set up:
In this case Kosakenstadt can actually be released by Russia. This leads to the following items:
Sometimes unification events seem to produce unfortunate effects, such as eternal wars with non-existent countries that were absorbed during unification. This seems to (so far) happen only for Abyssinia and Argentina. While it would be elegant to provide a catch-all fix for any infinite war, scopes that would accomplish this do not seem to function in the allow
and instead reference only the triggering nation. For this reason, I have started by referencing only pre-unifcation tags of Abyssinia and Argentina. Other methods of solving this may be tested in the future. This is set to function only for the ai.
For puppet-related issues, I have made decisions that allow ai nations to release themselves if their overlord does not exist (relatively simple decision) and to hopefully elevate themselves to the puppet of an independent country if they are puppets of puppets. This latter decision has not been tested yet. It may quite possibly do nothing, because the last overlord
statement could reference the overlord of THIS
instead of the overlord of the overlord:
Currently in the early game the Argentine Confederation has (roughly) cores corresponding to Argentina. Depending on the playthrough the Confederation may have the opportunity to seize those cores back and to grab non-core Platinean lands (typically, by eating Uruguay and/or Paraguay).
When done in the early game this is an absolute power move since only Brazil can really contest an Argentinian army. Circumstances permitting, a crafty player may grab nearly all land required to form the United Provinces even before Nationalism & Imperialism is able to be researched—and it's all juicy primary culture pops. There is nothing wrong with that in itself of course, but it does fly a bit into the historicism of the loose confederation envisioned by Rosas and his predecessors.
There are already safeguards of sorts in place against too much power consolidation e.g. whereby Entre Rios inherits Corrientes provinces where and when historically appropriate. I suggest we do one better and consistently enforce confederalism mechanics. Any independent Platinean country with confederalism active that holds any of the others should spit it out as a vassal:
(To be explicit: these are Platinean primary culture countries, and their cores are all part of the United Provinces decisions. The Confederation does not have cores on Paraguay or Uruguay)
This would not prevent an ambitious player from working towards the United Provinces goal in itself because the decision works with puppets. But this does make it more challenging in that the armies are now split between tags and gives more opportunity for internal politics events (pending on #12). More puppets, if badly managed, could mean a larger Unitarian or Federalist opposition!
My suggestion is to further require that the fate of the Confederation be settled before forming the United Provinces is possible at all, i.e. the path should be Confederation -> Argentina -> United Provinces. But that doesn't really belong here and would be left to a subsequent issue.
There are two major reasons that Communism is seen as considerably inferior to Fascism in modded Victoria 2:
Fascist ************s can continuously reduce militancy through being able to reverse and re-implement reforms, whenever there is high enough militancy for a reform. No other government can do exactly this, being instead one-directional regarding reforms.
Fascist ************s get a variety of features that let them expand their "living space" by being able to annex larger nations, and by getting events for discount annexation of neighbors.
My suggestions to help bring Communist ************s to a condition more properly competitive with Fascist ************s as a competitive 20th Century government are as follows:
A great power Communist ************ with Mass Politics should get events similar to the item 2 above, where they can freely puppet a neighboring nation that is not also a great power.
Further events could be made to allow a Communist great power to transplant population to their puppets, and then eventually freely annex them. The transplant of population should cause some population conflicts, which could be addressed with additional events or decisions.
Instead of reversing reforms, I suggest that placing heavy militancy debuffs on provinces may be a way forward, in the stated form of mass arrests, deportations, executions, etc. This could possibly be done through an inverse adaptation of the militancy events that Europe gets earlier on, and may be enabled when national militancy is above a certain amount.
Conspicuously, Soviet Union almost always fails in modded Victoria 2, which to me is an issue that could use some attention. I suggest possibly a stronger Red Terror, although I want to test the current setup before being completely dedicated to this idea.
It seems that a Sweden playthrough presents two paths to the player when it comes to being more than just Sweden (focusing on cultures):
In particular the decision to form SCA includes the following requirements:
Consequently a Sweden bent on forming SCA might want to go about un-accepting Finnish culture. Best as I can tell this can take place like so:
Choosing 'Concede Finland', which spirit seems to be openly rejecting the Sweden–Finland path (regardless of Scandinavian ambitions) since it involves rejecting cores, too, and works reciprocally for Finland
https://github.com/moretrim/PFH/blob/f166d9a719046175b6177af8ff8c6b310afe670b/PFH/decisions/SWE.txt#L19
Very conspicuously note one of its requirements:
A leader of a new Kalmar Union (which is the penultimate step of the Scandinavian path) can 'Abandon the Finnish':
I wrote this one after making Mosquito Kingdom ( MSK
) a secondary power, conquering much of Central America, only to be automatically annexed by Nicaragua in 1895. I wrote a quick fix and continued my playthrough, which was my first HFM modding experience. There are situations when it is proper and good to annex Mosquito Kingdom however: when it is a satellite of Nicaragua or a one-province-minor in the same sphere, but the original code focuses on sphere membership and vassalization:
The allow
statement also has an issue where it uses is_vassal = no
if MSK is not a vassal of THIS
. This has the probably unintended effect of making MSK subject to annexation even if it has expanded far beyond Bluefields:
I have tweaked my original fix, slightly changing the potential
and moving part of it down to the allow
so that it is visible and hopefully a player could see it before spending infamy on annexing MSK. The allow
is changed to be more specific:
I have added on an extra decision (currently untested) to add a casus belli in case Nicaragua wants to take Bluefields anyway. This is entirely untested at the moment, but it represents the "more elegant" solution that I wanted to add:
A short review of the three broad political trends during the Argentine Civil wars. This will be translated into political parties for the pre-Argentina tags (ARC, ENT, CRT, SBD), which is the first step of rigging the decision/event framework of dynamic politics.
For each political current, the most important things are the attributes in bold:
Their importance lies in the fact that they direct the playthrough and inform player agency. For instance if ENT allows free elections and the player shapes the electorate to care about free trade, the Unitarians might end up in power.
The other attributes are not as important yet but will matter for future work. (E.g. diplomatic decisions and events to set-up the War of the Triple Alliance.) They're listed here to keep track of everything. (Deadlines were first mentioned in #3.)
name & parties | Los Rosistas | ||||||||||||
tags | ARC, ENT, CRT | ||||||||||||
key voter issue | jingoism | ||||||||||||
ideology | reactionary | ||||||||||||
lock-in effect | centralization reform: confederalism | ||||||||||||
expiration dates |
|
||||||||||||
party policies |
|
||||||||||||
allies abroad | none | ||||||||||||
government button |
|
||||||||||||
domestic buttons |
|
This is the political status quo at the start of the game: a repressive ************ under Rosas, nominally federalist yet doing little towards federation. The lack of elections, what with being a ************, means that the Confederation (but probably not the other tags) needs buttons to influence political direction. Brutal political repression is in fact how Rosas maintained power, too.
A tough hurdle is that Rosas’ rules had many elements of populism, which is something that (imho) Victoria 2 is not very good at modelling. There is no good key voter issue to fit the bill that I can think of. In any case the idea is to pick anything but a trade policy (more on this below), for which jingoism is a decent last resort.
name & parties | Los Federales
|
||||||||||||
tags | ARC, ENT, CRT, SBD | ||||||||||||
key voter issue | protectionism | ||||||||||||
ideology | conservative | ||||||||||||
lock-in effect | centralization reform: federalism | ||||||||||||
expiration dates |
|
||||||||||||
party policies |
|
||||||||||||
allies abroad |
|
||||||||||||
government buttons |
|
||||||||||||
domestic buttons |
|
The federalists who ousted Rosas in 1853 to finally move towards a federal republic. One end of the federalist–unitarian opposition, reflected by picking the protectionism trade policy as the key voter issue.
name & parties | Los Unitarios
|
||||||||||||
tags | ENT, CRT, SBD | ||||||||||||
key voter issue | free trade | ||||||||||||
ideology | liberal | ||||||||||||
lock-in effect | centralization reform: unitary | ||||||||||||
expiration dates |
|
||||||||||||
party policies |
|
||||||||||||
allies abroad |
|
||||||||||||
government buttons |
|
||||||||||||
domestic buttons |
|
The main targets of the brutal repression under Rosas’ rule. The other end of the federalist– unitarian opposition, justifying free trade as the key issue opposite to that of the Federales.
Event 97123, the resolution of the Anglo-Siamese Border Treaty of 1909, undergoes some probably unintended oddities when the UK is not involved. Most especially when Johor initiates the treaty, some of Johor's own cores are removed from some provinces that it acquires or already had, if Siam agrees:
When it does proceed as intended, Perak and Pahang cores are added to provinces that did not previously have them. In the actual treaty, the acquired areas were added to the Unfederated Malay States, which also included Johor further south. Perak and Pahang were part of the Federated Malay States. This arrangement existed until the end of World War II. (image from wikipedia):
The game deals with these complications by eventually absorbing the whole area into the United Kingdom without an intermediate tag, then allows the formation of an essentially modern Malaysia once all that is done. It was therefore likely not expected that Johor would be reacquiring all of its cores during the course of the game. The addition of cores for Perak or Pahang to certain provinces is possibly to keep some kind of Malay cores on these provinces after Johor is expected to have gone away in the game.
I believe that I understand the point of adding the cores, but it seems more elegant to preserve the Johor cores instead, and remove them only if Malaysia is formed:
One additional thing could be done when Johor does not initiate the treaty, which is to add cores of Perak and Pahang as in the original event, so that these tags are not nerfed. This option is in testing, and needs some overhaul to result in some syntax that will work.
In Victoria 2 there is little as frustrating as being blocked from declaring war on a country for the sole reason that it is a vassal. It is especially frustrating for a justified war e.g. retaking your cores: you have to fabricate and risk infamy to release the vassal, wait out the truce, and then declare on them for the actual CB. And who knows what can happen during that truce?
I would like to see if it's possible to implement CBs for targeting vassals in general, and for retaking cores held by vassals in particular.
For testing purposes there is nothing simpler than starting the game as Sweden, which has cores on Russia-controlled Finland.
Although addressed in previous versions of HFM, there are still occasions where the UK can spam a play-through with Wars of British Aggression to call a non-existent East India Company (EIC
) to war, slowing down the game noticeably. This seems to occur when the East India Company no longer exists, such as in this case:
This decision is located in FlavourMod_Setup_CleanUp.txt, cleanup_eic
The potential
is relatively simple, calling either the East India Company or the Rajputana Agency (RAJ
) to war, therefore it occurs in the above case due to the existence of the Rajputana Agency.
The allow
has 5 different clauses in an OR
statement. Four of them require EIC to exist, and therefore the remaining one permits this decision to work:
Sure enough, the Rajputana Agency does not go to war:
Therefore the allow
is always active until the UK stops being at war. The effect
calls a custom casus belli that seems to be relatively simple:
Also it seems that none of the other UK puppets go to war either:
and this is occurring in a crisis war:
The problem seems to be that nations cannot call allies to a crisis war before great wars are enabled, therefore the solution can be to require the UK to not be in a crisis war when using this:
The Middle Kingdom event (90900) in China.txt westernizes Heavenly Kingdom in the same way that the Qing Empire would be westernized, including changing the nation's religion to Mahayana for no apparent reason. I have created separate paths for Heavenly Kingdom and Qing Empire westernization, however there could be lingering problems that may need to be addressed.
The series of events with the Argentine Confederation, Entre Rios, and Buenos Aires (the country) seem to be bugged, most especially when the player is one of these countries. Following the historical path does not result in historically plausible outcomes. Most especially, playing as Entre Rios tends to cause things to go haywire. While I plan to avoid railroading, I do not wish to allow the historical path to be unlikely.
If Entre Rios wins the war with the Argentine Confederation circa 1850-1851 (the likely result because of "big army"), then there should be a choice to make the Argentine Confederation a puppet or combine with it as the new Argentine Confederation with the capital residing at Paraná. The event ending the war will be redesigned to reflect this. Because the Rosas were not unitarians, no casus belli to unite the nation is given to Argentine Confederation at this time.
Buenos Aires needs to free from either of these situations by event ~September 1852 to 1853, if at peace. If Entre Rios loses the war in step 1 (therefore Argentine Confederation is independent and has a capital in Buenos Aires), then Buenos Aires frees from the Rosas of the Argentine Confederation. A free casus belli must exist for Argentine Confederation or Entre Rios to start a war to reclaim Buenos Aires into the Argentine Confederation. Buenos Aires was run by unitarians, and therefore gets a Unite the Nation casus belli for both Argentine Confederation and Entre Rios.
I need to check to see if Buenos Aires has the option to make Argentina, if it somehow survives step 2.
Currently HFM removes Entre Rios cores from its provinces after the 1850 war. This does not seem advisable, because there was no historical guarantee that the nation would unite or stay united. I propose to retain these cores. I think it may be more plausible to remove Argentine Confederation cores if Argentina unites, however.
The Argentine Federalists event needs some minor grammar fixes. Additionally, the event is ahistorical in that it starts a war where Corrientes is without allies, versus the Argentine Confederation and Entre Rios, when in reality this was a war began by Uruguay (after France replaced its ruler) versus Buenos Aires with all provinces except Entre Rios rebelling.
Governmental changes that were more plausible for Buenos Aires were wrongly assigned to the Argentine Confederation as part of the Urquiza event.
Slavery went from Freedom of the Womb to abolished in the argentine constitution. Note that Buenos Aires was therefore the last to adopt this.
What about?: Corrientes--After the 1838 war it should become part of the Argentine Confederation if it loses, and unification of Argentina, or the 1865 Paraguayan War, can remove its cores. If it wins the 1838 war, it should become independent but retain Argentine Confederation cores.
Paraná capital of ARC after the 1850 war--While this happened, it could be jarring for the player to tag-switch. I will test it out and see how it feels.
The Paraguayan War of 1865--Creating this war is possibly a way of establishing a plausible reason to remove cores of Entre Rios and Corrientes, if the triple alliance of defenders (Argentina, Brazil, Uruguay) wins. A player running Paraguay may find this inconvenient, but the war happened. There is no reason to remove cores if the triple alliance loses, which would have been a blow to unitary Argentina.
Externally-formed Argentina--Currently this removes cores of Buenos Aires, Corrientes, and Entre Rios. I remove this because it does not make sense to believe that these cores would stop having influence under such circumstances. If anything, recent external rule and influence would increase the likelihood that these cores would affect their populaces.
Since I discussed it a bit, I figured I would outline what I want to change in sphering. Currently sphering is primarily done by checking boxes in the diplomacy tab, and modifiers are a moderate concern compared to the number of checked boxes. I want to change this to make it feel more like 19th century spheres of influence.
The apparent elements of a sphere of influence seem to be this (subject to change as I study more): trade exclusivity, military influence, and diplomatic influence. Investment in a country and protection deals seem to be key in these, with diplomacy acting as a means of exerting the other two factors but sparing the risk, cost, and damage of actually exerting them physically.
The current system prioritizes diplomatic influence probably too heavily. Under this system, a 2-province weak "great power" could remove another country from a powerful GP's sphere of influence, simply by checking 3 boxes. This should never happen. Instead, the sphering should occur by stacking modifiers, through investment, protection, proximity (of other sphered nations, or of colonies), and a more moderated version of diplomatic effort.
In practice, to me this means adjusting modifiers, mainly: diplomatic factors reduced in power, and investment factors greatly increased. This is because diplomacy should be weak if a nation's power and influence are also weak. If a weak and isolated 2-province GP happens to sphere something, an interested powerful GP should be able to overpower this when it wants to.
Also to be added should be a small number of events to decrease sphering influence modifiers greatly when a GP does not hold up the obligations of sphering. If a GP does not protect a sphereling, it should be almost impossible to prevent another GP from sphering it given proper effort, for instance. These events should be relativley small in number to keep them from being spammy, but they should be far more important for the sphered nation than for the GP.
Additionally, the already existing events to deal with competition over sphering could be adjusted to more strongly represent actual historical agreements that defined what spheres of influence are.
Currently the Aden Protectorate is founded solely by wars between the UK and Fadhli, Kathiri, and Mahra. However, historically, the Aden Protectorate was formed by diplomacy. This was mentioned as well by arkhometha in a thread discussing the Protectorate. This was in response to details discovered and discussed in a previous issue.
I want to consider including the diplomatic events through which the ai can form the Protectorate. There were actually considerably more political units than exists in the game, but it does not make sense currently to represent them all. Additionally, Aden was administratively part of British India lands until 1937, again a detail probably best left out of the game. Ideally, a human playing one of these tags should have the options to resist annexation or switch tags to the Aden Protectorate when the events occur.
Currently, the conquest of Fadhli occurs at about 1860, after Nationalism and Imperialism
is researched and the Conquer the Yemeni Sultanates
decision is enabled. This complicates matters somewhat because the UK conquers the Yemeni Sultanates in game by force, when instead the Protectorate was officially formed by negotiation and treaty (starting in 1888).
However, this problem could be circumvented by adding Fadhli to the UK sphere relatively early if it agrees (and the ai should usually do so). This would represent possibly the "informal arrangements" sometimes mentioned in places such as here.
In summary, the events are as follows:
Aden taken by the East India Company: 1839
Informal UK arrangement with Fadhli: 1867
Formal UK protectorate treaty with Fadhli: 1888
Note about Kathiri: This sultanate lost territory to the rival Qu'aitis in the 19th Century, and was actually restricted to the inland by the time it negotiated with the UK.
Apparently under Ottoman rule: 1873
Informal UK arrangement with Kathiri:
Formal UK protectorate treaty with Kathiri: 1888, contradicted by another source which suggests 1918.
Informal UK arrangement with Mahra: 1876
Formal UK protectorate treaty with Mahra: 1888. Contradicted by another source which suggests 1886.
Given this information, it makes sense for the UK to sphere the three southern Yemeni tags at around 1867 and later, and then form the Aden Protectorate at around 1886-1888. The complication with Ottoman rule of Kathiri could potentially be ignored or dealt with in a separate set of events that govern Ottoman influence of Zaydi and Kathiri.
The decision Restore Democracy in South America becomes spammy and ineffective when a non-South American owner of a South American state, or when Costa Rica, changes to a non-Democracy. This decision should be restricted to enable only when nations with a South American capital are valid targets. The decision exists in FlavourMod_GreatPowers.txt. The allow
statement needed capital_scope = { continent = south_america }
While the tooltip does not necessarily indicate the proper capital-I think it indicates your own capital if no neighboring country is a valid target-I think my fix is working.
The decision italia_irredenta in Italy.txt can become allowed but not satisfied by the effect, such that it becomes spammy when the ai runs Italy, until Italy finally achieves the situation that allows the effect to be implemented. This likely has several deleterious effects. I have attempted a fix in this, but it is a very complex decision and my fix may have disabled it. More testing can reveal whether this is the case or not.
As part of the migration system, New World countries are supposed to be labelled as such so as to be eligible for the lion’s share of migrants. Excerpt from those rules:
(In more recent HPM versions the eligibility rules are entirely geographical and not cultural at all, but that’s outside the scope of this issue.)
Some countries however are not marked as such, e.g. Aotearoa aka Māori New Zealand. This leads to the following items:
new_world_nation
flag also affects other things such as assimilation rules, review whether there is a gameplay reason to have New World countries not marked as suchThe following assumes knowledge of how government-specific flags work.
This issue is for:
TAG.tga
that looks nothing like the rest) that is seemingly unused (see preamble to know how to spot that), and figuring out what they areThese don't really fit their tag. Unless an interesting alt-history case can be made, they should probably left alone. They would still be achievable in really, really unusual circumstances (e.g. vassal of a theocracy).
FIN.tga
(Finland): according to Wikipedia a temporary state flag from 1917 and 1918—shortly after Finland gained independence, while it was picking its flags & other symbolsSometimes a given country has used more than one flag during the period covered in the game, even while under the same(ish) form of government. That means that only one can be used for that ideology, and another can be put as the unspecific flag—where it won't be used (under normal circumstances anyway).
Monarchies can get away with two contemporary flags because the game has three stock monarchy governments—one can point to the unspecific flag.
But for other ideologies the only way to 'remedy' this is by adding another form of government, allowing one ideology to double up thus using all possible 5 flags; or by adding more tags for even more flags. Neither option is really reasonable for just one more flag, so these are just here for reference and aren't active task items.
CLM.tga
(Colombia): the republican flag in use after 1861. The previous flag of Colombia is preferred instead as CLM_republic.tga
:DAH.tga
(Dahomey): this flag featuring a hand-drawn elephant is present in EU4 and appears on a couple of vexillology-oriented websites—but for the monarchy flag an engraving-style elephant is used instead:PBC.tga
(the Peru-Bolivia Confederation): an early version of the republic flag (source), let’s leave things as they areSWE.tga
(Sweden): the flag of Sweden with the Union mark in the canton. Used in the times of Sweden–Norway. Tentatively associated with constitutional monarchy in the Sweden files, but rightfully commented out.CPL.tga
(Congress Poland): not quite contemporary, banner of the Kingdom of Poland after the Congress of Vienna i.e. under Russian rule—flipped usage from upstream which uses it for the monarchy while shelving:CPL_monarchy.tga
which appears to be pilfered from the canton of a possible banner or ensign in use at the time (FotW)—it would make sense to follow suitFlags that were in use before the period covered by the game. Scotland’s above is a good example, and just like it I’m of the opinion that using it for absolute monarchy for countries don’t start as one is a good idea. Enforcing absolute monarchy is quite hard to achieve so I already consider it an alt-historical path, which is why I feel it’s appropriate to add a special flag for the occasion.
WHA.tga
(Wales): based on the coat of arms of house Gwynedd, the last house of the independent kingdom of Wales.Some countries use special flags for when they're a vassal of another. The typical example are the British dominions. This is setup in a variety of ways, but the upshot is that sometimes a flag is (seemingly) lost in the process.
British dominions & other possessions:
NEW.tga
(Newfoundland): governor flag prior to 1870 blue ensign (originally NEW_monarchy.tga
), #5 will have to be walked back and improved (FotW)NZL.tga
(New Zealand): defaced blue ensign from colonial timesMLY.tga
(Malaysia): flag of the old Malay Federation under British rule (FotW)Nazi puppets:
POL.tga
(Poland): proposed (but non implemented) flag of the General Government set up by Nazi Germany to oversee non-annexed Polish territories (FotW)Other cases:
JAP.tga
(Imperial Japan): historical Imperial standard of the Emperor, which can make sense for a pre-unification puppet Emperor. Probably too much hassle to set up a special puppet government for an unciv while also preserving the balance of power surrounding the Meiji Restoration.BRZ.tga
(Brazil): flag of the kingdom of Brazil during the United Kingdom of Portugal, Brazil, and the Algarves (though sometimes described as hypothetical)Some are historical flags, except defaced with a coat of arms or similar (national emblem etc.). The result must be ahistorical or of unknown historicity to belong to this category.
GLM.tga
(Galicia-Lodomeria): featuring the coat of arms of the Kingdom of Galicia-Lodomeria (according to Wikipedia)The AI always picks the decision to create South Africa as a vassal. This is even the case in scenarios where e.g. Transvaal emerges victorious from the Boer war.
There should probably be a restriction to the decision and/or the AI weights, such as only doing it when the capital is outside Southern Africa or Africa.
A collection of editing issues with localisation entries. Let’s put it all here rather than open one issue for every minor thing.
NORMAL_WAR_CONQUEST_NAME
(likewise AGRESSIVE_WAR_CONQUEST_NAME
), e.g. “Fifth Conquest of Belgian War” is too clumsygendarmerie_desc
demand_36_parallel
: 36"30' (should be: 36°30′, though the minute sign will have to be approximated)TST_ADJ
(South Tyrolean)NZL_ADJ
is New Zealand, though it is a tricky caseIOT_ADJ
is British, which is just confusing. Consider Chagossian instead (unclear if this demonym also works politically/geographically).LEG_ADJ
is Chinese, which is confusingSGM_ADJ
which is SGM
: 1848-proposed Hohenzollern Republic from Wikipedia referencing Marx & Engels
RHI_ADJ
: Rhenish instead of EVT6060OPTB
: “This isn't out fight.”AGC_adj
: Angochean (SEY_adj
: Seychellois (BUK
(other than absolute monarchy): Bukhara (CZH
suffers from mojibakeWe should consider porting:
AND_TRIGGER_STARTS
and OR
have colour, useful for highlighting the structure of complicated triggersIS_RELIGION
–IS_NOT_RELIGION
and CULTURE_IS
–CULTURE_IS_NOT
emphasise the ‘NOT’ with capitalisation where applicable, useful for improved readabilityBRIGADES_COMPARE_GREATER
, BRIGADES_COMPARE_SMALLER
: missing final line break (fixed upstream in HPM)Names in English and other languages, that are spelled inconsistently or incorrectly:
FSA
: the Free American Empire could stand to extend to constitutional monarchy and fascist ************TKS_adj
: Turkestani (The sphering system may need an overhaul, but at least it is predictable most of the time. The latter does not hold true, however, when decisions add influence. I propose to deprecate this method of adjusting influence, because it can happen without giving the player any notice. Additionally, some decisions do this without agreeing with the concept of spheres of influence, which should suggest some degree of control over an area. Adjustments in spheres of influence should involve some kind of conflict, rather than an act that occurs without notice.
The decision ionian_islands_question
adds 100 Greek diplomatic_influence
to the UK, which is actually a large amount considering the demand for Greek sphering, in return for giving the Ionian Islands to Greece:
I suggest adjusting this to add an extra 100 UK/Greek relation
instead, and removing the diplomatic_influence
adjustment.
Some tags seem to have their cores unjustly removed under certain circumstances. This appears to have a few details in common:
The tag is one that is obscure and difficult to thrive with, usually annexed by a more powerful tag without much effort in the course of most playthroughs.
The tag is the subject of an Organize Colony decision or event.
One or more decisions or events do not check if the tag exists before removing its cores.
I'm using this issue to keep track of where this occurs.
Tripoli and Senussi
The Turks Refuse! event removes Tripoli (TRI
) and Senussi (CYR
) cores without checking to see if they exist. Fortunately, an Organize event that seems to do it correctly exists in the same file. I am testing this to see if it works in this event as well.
Angoche, Gaza, Shonaland (and Zulu)
The Organize Mozambique and Reorganize Mozambique decisions do not check if tags exist before removing cores, but only province 2049
(Inkomati) needs to be owned to use either decision.
I will continue a more succinct list of offenders here: Organize Gambia (see below), Organize Ghana and Reorganize Ghana,
Organize Angola, Found Diamang, Organize Zaire, Reorganize Zaire
There is also some currently unknown event or decision that immediately removes the Kongo core from Luanda 1999
after Angola has been organized, working every time the core is added to the province. This does not appear in the message log when it happens. Mysteriously, the flag angola_created
is not used to govern this. It does not do this if Kongo owns 1999
, and so this is probably one of the decisions that automatically remove owned ai Kongo cores from Angola.
The decision that starts the chain that allows a sphere master to wrestle a satellite away from their overlord does not account for truces. Later down the line the (now former) overlord has the option to receive a CB to reassert overlordship, but may not be able to if there's an outstanding truce—and those CBs can run out before any truce.
The Neuchâtel crisis, one outcome of which annexes it to Switzerland, offers a bit of player protection:
However the crisis event can also be fired at a later point by decision, which does not offer that protection:
The cosmetic stuff is not quite on the table yet and should come last, but I'm taking notes in the meantime:
ARC
in its 'successor' tag + government combinations, which could include:
ARG
or LPL
, especially if absoluteARG
or LPL
(should turn even darker)ENT
and CRT
so that Argentina turns dark as Rosismo spreadsURU
, PRG
, SBA
)ARC
, ARG
, and LPL
flags: http://www.vexilla-mundi.com/argentina_history.htmlIf Italy is formed during the last ditch Il Risogirmento event, the Papal States turn over everything they hold to Italy save for Rome:
This is especially frustrating for a Papal States player as it is impossible to challenge this land transfer—even if they are a great power! The event is very likely to fire after 1890 as long as another Italian country is around.
I cannot suggest a resolution for now as I'm not familiar enough with an Italian playthrough.
The Alaskan culture has half Russian names, half English names. However it looks like there was a copy/paste mistake when copying the Russian names:
to the Alaskan names:
Cutting off Aleksandr.
At the conclusion of the Black Flag Army events France and the Qing sign the treaty of Tientsin to settle the border of Northern Vietnam.
ccHFM/PFH/decisions/FlavourMod_Qing.txt
Lines 1241 to 1251 in 950aff1
However the decision lets any country with a truce with the Qing eligible to nab the territory of the Black Flag Army.
Some important political actions can invalidate the CBs of ongoing wars or fabrications:
Any such invalidation feels cheap on the part of the target attackers, especially when the event is unpredictable and/or beyond their control. Code performing the above should generally be prevented from running while at war, and this (non-exhaustive) issue tracks this. (Seaching for remove_core = <tag>
, inherit = <tag>
, annex_to = <tag>
, release_vassal = <tag>
, or create_vassal = <tag>
can be fruitful).
Persia, end of the Qajar Dynasty
Hejaz, Egypt defeated during the Oriental crisis
events for the Spanish possessions of the Philippines, Cuba, and Puerto Rico in Colonial Spain.txt
Selangor Protectorate
christian_question_armenia
for ARM
cores is designed to be taken while at war, so can be tricky to fix
Zaydi ( NYE
) is automatically annexed to Yemen ( YEM
) if the Yemeni provinces are sphered together. This occurs regardless of the owner of the provinces:
I am tweaking the decision unite_yemeni_colonies
to make the decision more specific. This tweak is currently untested, and some nearby decisions may also need to be tweaked. This hopefully hits nearer to the intended mark, which is to unite a conquered uncivilized North Yemen with the Aden Protectorate:
We have the go-ahead to submit more derailroading upstream. This involves the following tasks:
Related to #47 , currently the history of Zaydi relations with the Ottomans is not well-represented in the game. Usually Zaydi will go for the entire game untouched by civilized nations, but rarely it will be annexed by the UK or the Ottomans at about equal rates of occurrence.
Historically, Zaydi interacted with the Ottomans much more frequently. A summary of relevant events follows, and can be edited as more information is encountered.
1849: Zaydi became essentially a puppet of the Ottoman Empire, not long after the Ottomans had unsuccessfully requested Egypt to control the area. A rebellion soon drove out the Ottomans.
1872: The Ottomans again conquered Zaydi, this time with more lasting control. This seems best treated as a puppet.
1891: There was a rebellion in Zaydi, reacting to "irreligious conduct" by the Ottomans.
1905-1911: There was a long-lived rebellion by Zaydi, which eventually resulted in establishment of a Zaydi puppet state under the Ottomans in the Treaty of Da'an.
1918: The independent Kingdom of Yemen was formed after Ottoman collapse in World War I.
When France is dismantled, Brittany is typically released but overseas departments such as Algeria and French Guiana frequently go unchanged. Dismantlements occur in GreatWar_Events.txt. I am adding the following:
This is only preliminary. List of affected countries found so far:
At first glance, such countries inherit the unciv status of their parent (much like they do the government & techs). However, possibly due to their status as a civilised country in the game files, the Westernisation panel is actually broken and won’t allow picking a reform.
It might not be possible to find a workaround.
Under certain circumstances, the Occupation of the Congo decision occupation_of_the_congo
in FlavourMod_Africa.txt does nothing and does not clear from the decisions list. This may have consequences for other Congo decisions, and prevents the country from committing other decisions below it on the list. The problem seems to be due to the potential
not being strict enough. Testing seems to hold up after equalizing the potential
and allow
criteria.
For uncivs, the reform International Debt finance_reform_two
indicates that it awards 35% civilization progress, but actually awards only 25%.
In issues.txt it properly contains: civilization_progress_modifier = 0.35
Possibly 25% is the maximum? More testing is needed. As a last resort, this could be modified to 25% if this is truly all that it can reward.
Cyrenaica/Senussi (CYR
) and Tripoli (TRI
) are obsoleted by Libya (LBY
) by mid- to late-game. Things that are conditional on the former cores, should probably also look for the latter. Known things affected:
The decision aden_protectorate in ENG.txt allows Aden to be stolen away when forming the protectorate, because the allow statement needed to be more restrictive. When Aden has been conquered by another country, it satisfies the condition of exists = no, but the decision should require that Aden actually be owned by the country enacting the decision. Therefore, a nation can control only Fadhli, Mahra, or Kathiri but steal Aden from its owner with this decision.
This is changed to require the country to control Aden and the other southern Yemen provinces before enacting the decision.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.