moretrim / ccHFM

Community Curated HFM
14 stars 3 forks source link

Events that move the capital in formables need an alternative option #150

Open rogerburks opened 2 years ago

rogerburks commented 2 years ago

There are a few events that move the capital for the purpose of building a factory, and then they attempt to move it back to the original capital in well-meaning code. This seems to happen because as far as I know, an event can only build a factory using build_factory_in_capital_state.

This is fine, although the tooltip may be alarming, in tags such as the United Kingdom, which should only have London to code for.

However, for certain formables such as Germany, the capital could have been in a place that the player would want to keep for reasons of pride. This would be in situations such as when Germany is formed by the player as Baden, for instance. Events such as 99814 "Fokker Aeroplanbau" have well-meaning code to move the capital to Schwerin, then build a factory, and then move it back to an appropriate German capital. Unfortunately, it could not easily anticipate that the player would want the capital to remain in Baden, and there is no alternative option for the player to pick to avoid moving the capital.

I think country flags could be used to move Germany's capital back to what the player could want, but an easier alternative is just to provide an option for the player to say no. I think Germany, especially, is likely not hurting for resources for the player to manually build an airplane factory in Schwerin if so desired.

I will take a look through the code to see if any other events or decisions do this for formables. I will ignore those that do this for the United Kingdom, for instance, since they always move the capital back to the right place.

Another option is to convert the event to a decision, although I am not so sure that this is the perfect option. It is because the player must successfully notice that the capital is being moved from what might be a confusing tooltip.

rogerburks commented 2 years ago

Other examples that I found that do this are decisions, such as construct_germania_werft. These could be addressed by adding red text to the decision description to warn that the capital is moved. However, I am not so sure how to do this in a readable and coherent way for all the languages in its vanilla localisation. That seems like it should take enough effort to be a separate issue.