View Single Post
Old 05-05-2015, 01:01 PM   #1126
Huckleberry
All Star Reserve
 
Huckleberry's Avatar
 
Join Date: Apr 2003
Posts: 581
Unknown City of Birth Bug

I have some information on the Unknown City of Birth Bug. Go the red font at the bottom for the tl;dr version.

After reading up on some of the other people that have seen this issue it appears that it is related to using regions for your leagues. I have the World Baseball Association set up with regions and also my current solo game. I noticed this issue pop up in both universes and also something very interesting that may related to the cause.

In my solo game the regions are all custom regions of the United States. The team that I selected to control was therefore obviously in the United States. The game is set up with 8 leagues, one for each of the custom regions. Now here's the thing. 7 of the 8 leagues created just fine with players only from that region or else foreign, just as my settings indicated. However, the league my team was in did not create properly but instead contained American players from all over the United States. It appears that OOTP assigned players randomly from the home nation of the user controlled team for only the league in which the user controlled team resided. This will be important later.

Now in the online league I run there are two regions. One is the stock AMERICAS: Western Hemisphere region and the other is an INTERCONTINENTAL: Non-Americas region that I created with the rest of the nations in the game. I chose to control Santo Domingo (Dominican Republic) and then created the game. The Intercontinental League created properly with cities of birth for all players while the Americas League did not. The Americas League players were properly created in terms of nation distribution but they did not have cities of birth. But this is the key thing: in reviewing a rosters export the players with unknown cities of birth actually have an ID for the city but no name, BUT THE CITY ID FOR EACH PLAYER IS FOR A CITY IN THE DOMINICAN REPUBLIC. And accordingly, the only players in the Americas League that have cities of birth are those that were born in the Dominican Republic.

So the best I could tell was that for some reason the game was looking at the country that the user controlled team is in when it creates the game. Players for the league that the user is in are distributed properly by nation, however when it assigns city IDs it is improperly choosing city IDs from the user team's nation only. So I ran a few tests with a two regions setup.

Fictional Leagues with International Regions, Start Unemployed:

The game chose one country seemingly at random for each league (Americas and Intercontinental). In each league the players were distributed properly by nation but were all given city IDs from one nation in the league. I guess it was at random.

Fictional Leagues with Regions, Start Employed:

The game again chose one country for each region. And it wasn't my team's country. I was wrong. Players were still distributed properly by nation but the cities were all from one nation in each league (that had a team).

Fictional Leagues with USA Regions, Start Unemployed:

All American players were properly assigned and were from the proper region. Foreign players were assigned American city IDs so showed as unknown cities of birth.

Fictional Leagues with USA Regions, Start Employed:

All American players were properly assigned and were from the proper region. Foreign players were assigned American city IDs so showed as unknown cities of birth. I have no idea why the one league got messed up in my solo game.

WHAT EXACTLY IS THE BUG

OOTP is properly assigning nations/states of birth based on the region you select for your league. However when it selects the city ID of birth for each player it is choosing only cities from one of the nations in your league. So ultimately there are players that have a city ID of birth that is not found in the world_default.xml file as part of the nation ID of birth; essentially the players' city ID and nation ID do not match. The game is displaying Unknown for those cities of birth.

WORKAROUND SOLUTIONS:

For an international game based on regions I think the best option is to set up your league by manually entering your player origin percentages but NOT SELECTING A REGION FOR THE LEAGUE. The game will properly utilize the origin settings that you enter but if you enter a region then the players will be assigned city IDs of birth all from one nation in the league. Players that aren't of that nationality will show Unknown for the city of birth.

For a domestic league with regions you are mostly going to be okay. Only your foreign players will have the unknown city of birth issue. As of now there isn't really a workaround for that issue that I can think of. Perhaps, unfortunately, a very low foreigner percentage and then manual city of birth correction. If you unassign the regions then the players will come from all over the nation instead of just the region. So if you want to have a league based on a domestic region then foreign players will not show a city of birth.

If you have set up a game where there will be both international teams and then regions within some of the nations you're basically out of luck.

POSSIBLE FIX?

Obviously I don't know how the game is coded but it seems like for some reason the flow is not going like this, as I would think it should, when dealing with regions and creating a player:

Is the player being created for a league that has a region (in our case yes so)
Roll the dice based on league setup to see if he's a foreign player
If foreign, assign nation. THEN ASSIGN CITY BASED ON THAT NATION.
If not foreign, assign NATION or STATE based on type of REGION.
THEN ASSIGN CITY BASED ON THAT NATION or STATE.

Is there a reason that isn't the logical progression in creating a player?

Last edited by Huckleberry; 05-05-2015 at 01:47 PM.
Huckleberry is offline   Reply With Quote