I've had a look at this. The lack of Sweden isn't the main problem - in fact, it might not be a problem as such. There's a much more serious problem:@Grey Roger: While we're at it, shouldn't "RelationAgent_dialog.c" have an option also for Sweden?
Code:
if(GetRMRelation(PChar, FRANCE) < REL_AMNESTY) // RM
{
Link.l5 = DLG_TEXT[15];
Link.l5.go = "France";
}
if (CheckGuestNation(GUEST1_NATION, AMERICA))
{
if(GetRMRelation(PChar, AMERICA) < REL_AMNESTY) // RM
{
Link.l5 = DLG_TEXT[15];
Link.l5.go = "America";
}
}
Code:
if (CheckGuestNation(GUEST1_NATION, AMERICA) || CheckGuestNation(GUEST1_NATION, SWEDEN))
{
if(SWEDEN_ALLOWED || GetCurrentPeriod() >= PERIOD_REVOLUTIONS) // Before "Revolutions", GUEST1_NATION may be Sweden. "Revolutions" or "Napoleonic", it's America
{
if(GetRMRelation(PChar, GUEST1_NATION) < REL_AMNESTY) // RM
{
// Link.l5 = DLG_TEXT[15];
// Link.l5.go = "America";
Link.l6 = XI_ConvertString(GetNationNameByType(GUEST1_NATION)) + ".";
Link.l6.go = "America";
}
}
}
Also, in the code which does the buying of amnesty:
Code:
case "America":
iNation = GetNationTypeByID(Dialog.CurrentNode);
sNation = iNation;
Pchar.quest.Relations.nation = iNation;

Code:
case "America":
iNation = GUEST1_NATION;
sNation = iNation;
Pchar.quest.Relations.nation = iNation;
Download the file, put it in "PROGRAM\DIALOGS", then start a FreePlay game as a pirate, either in one of the later periods or with Sweden enabled. Go to the Pirate Settlement tavern and see what happens when you talk to the agent...