Kaiserreich / Kaiserreich-DH

Home of the Kaiserreich mod for Darkest Hour
46 stars 25 forks source link

Intervention event supply costs, Transamur surrender issues #34

Open cecillia-liebkne opened 4 years ago

cecillia-liebkne commented 4 years ago

I.

Intervention/aid events seem to be inconsistent in how it deducts supply; some do so using 'type = resource which = supply', which takes a percent value of the tag's maximum daily production, while others uses 'tyoe = supply', which simply takes a flat amount. It is recommended that they be made consistent and use only flat amounts, as the percentage value deductions make little sense and hampers nations with more IC moreso than others for no reason.

II.

In event 341701, the option to puppet Transamur automatically ends the war between Russia and Japan should Transamur be a puppet of Japan. This is due to 'type = peace which = PRI value = 1', which would normally make a separate peace between the two tags, but ends up including Japan as well due to Transamur's puppet status. It is recommended for that line to be commented out as the 'make_puppet' command will achieve the same thing. In addition, the leaders/ministers activated through annexing them in 341701 is inconsistent with how it is done in 902196 and 750068. It is recommended that that the code from the latter is copied into the former as it looks to be the more correct version.

cecillia-liebkne commented 4 years ago

III.

The Polish-Lithuanian Commonwealth, U00, can currently drag Germany into war with Austria over Galicia without any input on Germany's part. Event 9981001 automatically puts the PLC in Mitteleuropa when it is formed. Event 9981034 then allows the PLC to declare war on Austria directly. There should be a sanity check on that option that automatically releases the PLC from MItteleuropa if it decides to act on its own like that, and possibly allow Germany to punish such insolence.

cecillia-liebkne commented 4 years ago

IV.

Event 340321, the Japanese DoW on Russia seems to be unable to fire due to 'event = { id = 340300 days = 260 }' trigger, as event 340300's date never gets saved. The cause seems to be that event 340300 is listed as a persistent event, and that presumably prevents the event from being checked off. The best solution would probably be to remove the trigger, as the event's start date already prevents it from being triggered too early.

In addition, Japan is currently unable to proceed with its chain should it have chosen JAP_MONRUS_CAMP as its northern direction and Russia has decided to annex/integrate Mongolia. Event 340375 will only fire if Mongolia exists, while 340321 does not check for the flag.

cecillia-liebkne commented 4 years ago

V.

Event 901909, the Russian demand for Karelia from Finland currently cannot normally fire. This is due to the event checking for whether province 538, Segezha, is owned by Finland. However, this province is owned by Russia at game start, which means that Russia cannot proceed with this event unless it somehow gives away the province to Finland beforehand. The trigger should either be removed or changed to check for a different province.

Maxian25 commented 4 years ago

Doing some fixes, so far:

I.) I also prefer flat supply values in context of country specific events. I'll keep an eye out for the other type and alter those as I come across.

II.) I missed event 341701 when I was overhauling all the Russia related personalities so I've corrected them here. Also commented out the "peace which = PRI" line.

IV.) Changed the trigger requirement to "event = 340300" and added JAP_MONRUS_CAMP in the trigger (provided MON does not exist).

V.) Swapped provinces 538 (Segezha) to 532 (Sortavala) which is controlled by Finland at the start.

cecillia-liebkne commented 4 years ago

IV.) 'event = 340300' will not work; persistent events don't get saved to history and that will mean the check will always fail.

Maxian25 commented 4 years ago

I'll comment out that whole line. The presence of flags "JAP_RUS_CAMP, JAP_SIB_CAMP or JAP_MONRUS_CAMP" may be enough since those require event 340300 anyways. Event 340300 has a death-date of dec.29/1940 so a 260 day delay is probably unhelpful.

cecillia-liebkne commented 3 years ago

VII.)

Event 750848, "The Azeris agree!", has an incorrect free_oil command that does not seem to do anything.

VIII.)

Event 901928, "The Georgian Question", cannot be fired if GEO went and conquered the required provinces through its own event chain, especially for province 702 if U43 ever breaks free. An OR here might be useful.

Maxian25 commented 3 years ago

Removed the unnecessary free_oil from 750848. Added OR conditional for province 702 in event 901928.

cecillia-liebkne commented 3 years ago

IX.)

If events 341703~341704, in Japan_ExpRus.txt, fire when KOR is a puppet and not annexed by RUS, RUS ends up peacing out with KOR with whatever territories they control at the time, leading to messy borders. There should be some follow-up for such a situation, possibly having RUS outright annex KOR in 341703 like it does with MAN and leave the aftermath to 341706. 341707 also grants KOR military access over RUS, instead of what should presumably be the other way around.

X.)

Events 91480/91481 in Ukraine Domestic Policy.txt have different effects for RUS annexing UKR than the ones in other events, such as events 901959/901968. The latter events are presumably the more up-to-date versions and should be over to the former.

XI.)

This is more of an aside than a bug, but is there any reason to be using a different config/messages.csv than the one from DHF? There are a bunch of missing strings that pop up every now and then, presumably because the one currently used isn't updated for the latest versions of DH.

XII.)

Events 94008~94011 in Sweden.txt are weird in the events they attempt to trigger/sleep. It looks like the events received a rework sometime before and the commands weren't updated properly?

XIII.)

Event 750080 in russian foreign policy.txt attempts to sleep some non-existing events, presumably alternative versions that were removed. This doesn't seem to cause any adverse effects, but does cause a UI bug when viewing the options in-game.

cecillia-liebkne commented 3 years ago

XIV.)

Province 1118, Fort Alexandrovsky, seems to have incorrect coordinates that are far too east for its position on the map. According to wikipedia, the city of Aqtaw is 51°09′E, while Fort Alexandrovsky is 50°16′E, but distances.csv has it listed as 71.17123056°E, which is way off.

XV.)

Due to the mod being distributed in a .zip format, a format that does not save locale, some file names that have accented characters can break during installation when being extracted on a system with a non-Western locale.

cecillia-liebkne commented 3 years ago

XVI.)

Event 771068, "Fate of the Ukraine" does not check for pre-existing RUS cores and results in a redundant integration process. It should probably check for a core on 617 like event 771067 does.

XVII.)

The Voldemaras/Sigsimund event chain for LIT/BLR has an outcome for the two of them allying each other. There's even a separate response by GER for this situation in 654040. However, GER ends up breaking the chain due to event 555004 almost always firing way too early, meaning that it often declares war anyway. I'd like to recommend changing this somewhat by turning 555004 into a triggered event and calling it directly from 555003 so that BLR is guaranteed an ample time to go through its events, like this: command = { type = event which = 555004 where = GER when = 8 }

Maxian25 commented 3 years ago

IX) Russia'll inherit KOR to clean things up. X) Updated the old events. XII) I found and fixed several events in Sweden's file pointing towards the wrong followup events. XIII) Commented out the unnecessary lines. XV) I don't know much about archive formats; do you know of one that doesn't cause character corruption? XVI) Added core check to 771068. XVII) I altered 555004 to have a set date for Dec. 29 to give time for LIT-BLR events to fire.

cecillia-liebkne commented 3 years ago

XV.) As most modern formats will work- .zip being somewhat of an oddity due to how old it is, I'd focus on accessibility and recommend .7z.

XVIII.)

Events 226019/226020 in Phalanstere.txt cancel the shipments to SPR if SPR is allied to POR, even if SPR turned POR syndicalist. Perhaps that line should be commented out.

XIX.)

Event 3967084 has SPR decide on whether it wants to focus on internal/external policies, but SPR also has access to event 3967059 that automatically sets both flags, making the choice moot.

XX.)

Event 915295 in VBH.txt has different effects for RUS integrating the baltics compared to event 751074.

Maxian25 commented 3 years ago

XVIII) I changed triggers for various Phalanstere events on Jan 5th, if you want to check GIT for the most recent file. XIX) Event 396059 probably shouldn't set any flags; removing those flags from the event. XX) Made them more similar.

cecillia-liebkne commented 3 years ago

IX.) Event 341703 annexes KOR after it has triggered event 341704, meaning that 341706 will not be triggered properly if KOR is a JAP puppet. The order of the commands would need to be moved around a bit for it to do so.

XVIII.) My apologies. I wasn't sure whether the repository was actually stable or primarily for development, so I had been only basing my reports off 1.9.3.

XXI.)

Option B in event 104035, Canada Domestic Policy.txt, attempts to trigger a non-existing event.

XXII.)

The recent changes to Poland.txt requires for AUS to exist for POL to pick an Austrian king, but AUS could have successfully centralised and reformed into U24/U25 at this point, and it would be strange if this were to exclude the possibility.

eberronguy commented 3 years ago

"My apologies. I wasn't sure whether the repository was actually stable or primarily for development, so I had been only basing my reports off 1.9.3."

It is sort of both. The build provided on the PDX forums is the official stable release, but as KRDH is open source we try our best to keep the master build stable so that people can download it if they want the latest previews and bugfixes.

cecillia-liebkne commented 3 years ago

XXIII.)

Event 3450005, USA Foreign Policy.txt, does not sleep event 3450011 along with 3450006 in option B despite both being propaganda-related events. Also, event 3450011 grants a +30% peacetime_ic_mod, compared to event 3450006 which only grants +2%.

XXIV.)

Event 234040, Third Congress.txt, should change the offset for triggering event 234048 to something higher, like 10 used for 234027. It currently cuts off some of the other events from firing due to clearing the flags too early.

I would also like to ask if I could get a reply back on issues XI.) and XIV.). Just an acknowledgment that the team is aware of them would be appreciated.

Maxian25 commented 3 years ago

XI) After comparing the current messages.csv to the DHFull version, I think it can be copied wholesale. KR's version goes back to at least 1.7 and was never updated before.

IX) As to the Russia/Korea interaction, event 341706 is where the decision to create Korea happens and the following event determines if it becomes a puppet or not. Event 341703 inherits Korea if it's a puppet of Japan so that Russia can choose to release or not.

XXI) Probably should be triggering the lesser Fuller event (104091).

XXII) Right, should change that to all 3 tags.

XXIII) While fixing these, I noticed that it was possible for USA to end up with at least 269% peacetime_ic though a combination of: 1) peacefully avoiding the ACW and 2) syndicalists occupy Cologne (+40%), Berlin (+60%) and Algiers (+70%). A later event for syndicalists invading Canada sets USA's peacetime_ic to 100% so I believe it's not intended for the USA to go above 100%.

XXIV) Good catch.

cecillia-liebkne commented 3 years ago

IX.) To clarify, event 341703 currently has the commands ordered like this:

command = { type = trigger which = 341704 }
command = { type = peace which = JAP value = 0 }
command = { type = belligerence value = -5 }
command = { trigger = { puppet = { country = MAN country = JAP } } type = inherit which = MAN }
command = { trigger = { puppet = { country = KOR country = JAP } } type = inherit which = KOR }

The issue here is that DH will first trigger 341704, go through the entirety of 341704, and only then return to finish off whatever remains in 341703. 341706 is triggered in 341704 with the requirement of: NOT = { exists = KOR } control = { province = 1228 data = RUS }, which would not be fulfilled at this point because the command for RUS to inherit KOR has not been processed yet.

This can be reproduced by starting a fresh game and typing event 340076 JAP and event 341703 RUS in the console.

In order for 341706 to trigger properly when KOR is a JAP puppet, the commands would need to be re-ordered into something similar to this:

command = { type = peace which = JAP value = 0 }
command = { type = belligerence value = -5 }
command = { trigger = { puppet = { country = MAN country = JAP } } type = inherit which = MAN }
command = { trigger = { puppet = { country = KOR country = JAP } } type = inherit which = KOR }
command = { type = trigger which = 341704 }
Maxian25 commented 3 years ago

Gotcha.

cecillia-liebkne commented 3 years ago

XXV.)

Event 3967032, Spanish Civil War.txt, would do well with the date being pushed back a month. It can currently fire and have SPR annex SPA days after the war starts, which can break other events, including the ones for SPR and EUS to declare war on each other.

XXVI.)

Events 343501/343506, Japan_ExpGer.txt, currently does not do anything with province 1683, Guam, should JAP have previously seized it from USA. There seems to be little reason for GER to ignore the one province.

XXVII.)

343504, Japan_ExpGer.txt, does not grant RUS all the other goodies along with the cores, such as in event 341701.

cecillia-liebkne commented 3 years ago

XXVIII.)

Events 9020/9021, Libya.txt, are contradictory between the countries they fire for and their text.

XXIX.)

Event 91514, Papacy.txt, triggers event 91515 from its first option, even though the text implies that it should be triggering it from the second one.

XXX.)

Events in Surrender Event ACW.txt has the various American tags demand Alaska from Canada even if they're a puppet, which is not very puppet-like of them, especially if they happen to be a Canadian puppet. Other tags would presumably also want to keep their puppet on a leash and not dragging them into random wars against the Entente.

eberronguy commented 3 years ago

Just fixed and pushed all three of these errors, good finds!

Have you considered joining the team officially? We could really use your eye for detail!

cecillia-liebkne commented 3 years ago

Thank you for the offer, but I would assume that would require me to join and be active on the KR server on discord? I'm not sure how comfortable I would be with that. If I've earned your trust though, I would like to ask if it would be okay to commit directly to the repository for some of the more minor fixes.

I.) I'm not sure what the stance still is for this one, but intervention events in Japan_Korea.txt still use the percentage-based type = resource which = supplies value = -X instead of the flat type = supplies value = -X.

XXX.) Event 908990 checks for TEX while being a CAL event. Events 909002 and 909022 do not have the ispuppet checks like the other events do. If I may also make a suggestion, I think it'd be better if the ispuppet checks were attached to the options that demand the territory than the event itself, so that the events do fire but result in the American tags giving up on their claims, which feels like a more natural progression of things.


The roman numerals are becoming somewhat unwieldy so switching to arabic numerals from now on.

31.)

Event 210040, Britain Foreign Policy.txt, sleeps event 555426, a RUS event about Tannu Tuva.

32.)

BRA lacks an event to unlock doctrines on the DEM path. Perhaps it could share event 755070 with the REP path.

eberronguy commented 3 years ago

You don't exactly need to be active in the discord, but you will need to be in it so you can communicate with the team proper. Only those with access to the team chat is allowed access to either repository, KRDH or KR4.

I have fixed 31 and 32, the first one is on Maxian, but iirc the plan is to move it all to a flat reduction in order to not punish majors more than minors. The ispuppet has been fixed, but I want to look over the events before implementing your suggestion. Good idea!

Maxian25 commented 3 years ago

I'll swap the Jap_Korea % based supplies events to flat. Currently sitting on a handful of fixes that'll go up when I finish the minor Swiss update I'm most of the way through.

cecillia-liebkne commented 3 years ago

33.)

Event 58003, Persia.txt, adds oil to 1825, a province in North America.

34.)

Event 966731, Poland.txt, only attempts to trigger event 966734 and not 966738 in its third option, breaking the chain if URU exists instead of ROM.

35.)

Event 901968, russian foreign policy.txt, does not grant cores on provinces 587 and 601. On a side note, I think all these cores/integration effects for RUS/SOV would be well served by being centralised into specific events that are then triggered by the others (basically turning it into a function, or 'scripted_effects' in the newer paradox releases), which would help greatly with this consistency issue.

36.)

Suggestion: Change Odense-Copenhagen connection to 294;219;Sea;2696;, making it connect over the Bay of Mecklenburg instead of the Store Belt. The AI is currently incapable of clearing out the latter properly and there is no instant surrender event to help it out either, rendering Copenhagen near-invulnerable.

37.)

Event 909024, Surrender Event ACW.txt, has the PSA return provinces to the USA, including ones that it had potentially won from an earlier victory. There should be a check for such provinces. Or, strictly speaking, the event could even be removed, as the circumstances under which it would be useful is incredibly niche.

38.)

Events 234020/234021, Third Congress.txt, does not check for Totalist governments, leading to them condemning themselves more often than not.

39.)

In events 333/374, death_events.txt, EVT_101_NAME has no corresponding localisation.

40.)

Events 214029/214033/214035/214042/214043/214069, Britain Domestic Policy.txt, have options that attempt to set a slider to a negative value.

41.)

Events 214027/214028, Britain Domestic Policy.txt, currently check for event 214027 in their triggers. This should presumably be 214026.

42.)

Event 81178, America First Domestic Policy.txt, fires for CSA.

cecillia-liebkne commented 3 years ago

40.) Is the usage of change_policy over domestic in 7d47c85b6f180087420fda5f8d10e459647f6931 intentional? change_policy isn't often used in events due to the way it interacts with slider cooldowns.

43.)

Event 62924, Annexations.txt, checks for event 996000, a persistent event, meaning that the check will always fail. It is unclear as to why the check is necessary in the first place.

44.)

Event 996031, Annexations.txt, is not persistent, meaning that one tag firing it will block it for others should they come to occupy the same area. It could also do well being turned into a decision, and an indication in the text that for most tags, this is the main event for all of italy, not just the south.

45.)

Event 610167, Mexico.txt, attempts to trigger 610168 for MEX/CUB when it is a HAI event.

46.)

Event 7040621, The Drafts.txt, clears ACW_CAN_AUS when it should presumably be clearing ACW_CAN_FULL.

47.)

Event 6552944, Netherlands.txt, changes relationship with POR instead of INO.

48.)

Event 9090857, Texas.txt, checks for flags that are not set in any other events for U51 but are instead set/used by U10. The underground_railroad flag is also used by U10, and setting it here can also affect U10's events, despite the events being seemingly unrelated. In general, the entire chain from 9090857~9090860 seems like an out of place copy-paste from U10's events, as Texas would already have been a warzone by now, and not the most desirable destination for refugees unlike New England.

49.)

Event 11800210, Texas.txt, checks for a flag that isn't actually set anywhere, meaning that it and multiple other events that depend on it will never fire.

Maxian25 commented 3 years ago

37.) Put checks in for the Treaty of Sacramento provinces.

40.) Huh, didn't realize change_policy did that. Probably best to go back to set_policy and fix the negative moves.

43.) Yep, taking out that check.

44.) Turned into persistent decision.

45-47) Fixed.

48.) Changed so Texas sets its own personal underground railroad flag.

49.) The negotiated peace events with Mexico now set U51_LIB. In the event that Texas achieves total victory via refusing negotiated peace (or Mexico refuses peace) it will also check if Texas has annexed or puppet Mexico.

cecillia-liebkne commented 3 years ago

40.) From the modding documentation:

type =  domestic which = [domestic policy type] value = X   # Change a domestic policy slider by value = [X] between 1-10
type =  set_domestic which = [domestic policy type] value = X   # Set a domestic policy slider to value = [X] between 1-10
type =  change_policy which = [domestic policy type] value = X  # Change a domestic policy by value = [X] if it could normally be changed and also sets the cool-down period (found in misc file in the DB folder) for changing policy

As a bit of a correction, domestic/change_policy goes from -10 to 10, as the slider can obviously move both ways.

cecillia-liebkne commented 3 years ago

As an aside, this list now has grown to over 50 items and I'd like to thank everyone involved for taking the time to go through them and keeping me informed with all the replies.


48.)Event 9090857 is still reliant on U10-related flags to fire (ne_nationalism, ne_beacon). Is this intended?

50.)

Event 55620, GERMAN FOREIGN.txt, checks for CON to control province 1372, when this should presumably be GER. On a side note, I think it'd be appropriate to give EAF a core here, and maybe CGX too.

51.)

Event 186043, Delhi Foreign Policy.txt, fires for IND although the rest of the event implies that it is meant for PAK.

52.)

Event 115056, Ottoman Foreign Policy.txt, has OTT keeps parts of Iraq and Syria if PER is not a participant in the war. Those territories should probably be given to EGY/SAU in such a situation.

Maxian25 commented 3 years ago

48.) I've made addition changes: Event 11900260 can set tex_beacon in option_a, and then the Texan UR events use this flag.

50.) Fixed to check GER, and also added cores for those possibilities.

51.) Ya, seems like it should be PAK.

52.) Added land transfer commands in the event that EGY isn't allied to PER or SAU or the appropriate flags aren't active.