Ah, I do believe you're right again! Try this instead:
Note the extra check on if(i == GetServedNation() || j == GetServedNation()) . That should ensure this ONLY happens if one of the two nations involved is your served nation.
It's a good thing that YOU are paying attention, because apparently I am not entirely awake these days.
Code:
if(CheckAttribute(pchar, "professionalnavy")) // For Commissioned NavalOfficers
{
if(i == GetServedNation() || j == GetServedNation())
{
if(i == GetServedNation()) i = j; // Don't change yourrelationtoyourOWNnation
switch(newRelation)
{
case RELATION_ENEMY:
SetActualRMRelation(i, REL_WAR);
break;
case RELATION_NEUTRAL:
SetActualRMRelation(i, REL_AFTERATTACK);
break;
case RELATION_FRIEND:
SetActualRMRelation(i, REL_AMNESTY);
break;
}
}
}
It's a good thing that YOU are paying attention, because apparently I am not entirely awake these days.