Hey folks, I tried long to find a solution to sort all ships by nation and I found this in AIFantom.c - file:
void SetShipToFantom(ref _chr, string _type, bool _setgoods)
{
int ShipType;
int Nation = sti(_chr.nation)
int Rank = sti(pchar.rank);
switch (_type)
and what I have done to following lines is this:
case "trade":
if (Rank < 8)
{
if (Nation == SPAIN) ShipType = RandFromTwoDight(SHIP_LUGGER,
SHIP_CARAVEL);
if (Nation == FRANCE) SShipType = RandFromTwoDight(SHIP_LUGGER,
SHIP_SLOOP);
if (Nation == ENGLAND) ShipType = RandFromFourDight(SHIP_LUGGER,
SHIP_SLOOP, SHIP_LUGGER_H, SHIP_PINK);
if (Nation == HOLLAND) ShipType = RandFromTwoDight(SHIP_LUGGER,
SHIP_LUGGER_H, SHIP_SLOOP);
}
if (Rank >= 8 && Rank <= 15)
{
if (Nation == SPAIN) ShipType = RandFromThreeDight(SHIP_CARAVEL,
SHIP_BARKENTINE, SHIP_GALEON_L);
if (Nation == FRANCE) ShipType = RandFromFiveDight(SHIP_XEBEC,
SHIP_BARQUE, SHIP_BARKENTINE, SHIP_PACKET_BRIG, SHIP-GALEON_L);
if (Nation == ENGLAND) ShipType =
RandFromFiveDight(SHIP_COLONIALSCHOONER, SHIP_BARKENTINE, SHIP_BOUNTY, SHIP_EDINBURG);
if (Nation == HOLLAND) ShipType =
RandFromFourDight(SHIP_COLONIALSCHOONER, SHIP_EDINBURG, SHIP_PACKET_BRIG, SHIP_FLEUT);
}
if (Rank > 15)
{
if (Nation == SPAIN) ShipType = RandFromFourDight(SHIP_GALEON_L,
SHIP_GALEON_H, SHIP_WARSHIP);
if (Nation == FRANCE) ShipType =
RandFromThreeDight(SHIP-GALEON_L, SHIP_BRIG, SHIP_BRIGANTINE, SHIP_PINNACE);
if (Nation == ENGLAND) ShipType = RandFromSi

ight(SHIP_BRIG,
SHIP_INTERCEPTOR, SHIP_PINNACE, SHIP_COLONIALFRIGATE, SHIP_LIGHTFRIGATE, SHIP_THEBLACKPEARL);
if (Nation == HOLLAND) if (Nation == SPAIN) ShipType =
RandFromThreeDight(SHIP_FLEUT, SHIP_PINNACE, SHIP_DUTCHLINESHIP);
}
break;
case "pirate":
if (Rank < 4)
{
ShipType = RandFromFourDight(SHIP_LUGGER; SHIP_LUGGER_H,
SHIP_PINK, SHIP_SLOOP);
}
if (Rank >= 4 && Rank < 11)
{
ShipType = RandFromSi

ight(SHIP_COLONIALSCHOONER, SHIP_SCHOONER,
SHIP_EDINBURG, SHIP_PACKET_BRIG, SHIP_BRIGANTINE, SHIP_BATTLEXEBEC);
}
if (Rank >= 11 && Rank <= 20)
{
ShipType = RandFromSi

ight(SHIP_BATTLECORVETTE, SHIP_BLACKANGEL,
SHIP_MERMAIDGRIEF, SHIP_SALAMANDER, SHIP_NIGHTMARE, SHIP_JAMAICASHIP);
}
if (Rank > 20)
{
ShipType = RandFromFourDight(SHIP_BLACKPEARL, SHIP_FRIGATE_SAT,
SHIP_LINESHIPHEAVY, SHIP_SHARK);
}
break;
/*case "war":
if (Rank < 11)
{
if (Nation == SPAIN) ShipType = RandFromFourDight(SHIP_SCHOONER,
SHIP_BATTLEXEBEC, SHIP_CORVETTE, SHIP_GALEON_L);
if (Nation == FRANCE) ShipType = RandFromFourDight(SHIP_LUGGER_H,
SHIP_SCHOONER, SHIP_PACKET_BRIG, SHIP_CORVETTE);
if (Nation == ENGLAND) ShipType =
RandFromFiveDight(SHIP_LUGGER_H, SHIP_BERMSLOOP, SHIP_COLONIALSCHOONER, SHIP_BRIG, SHIP_BOUNTY);
if (Nation == HOLLAND) ShipType = RandFromThreeDight(SHIP_LUGGER,
SHIP_GALEOTH_H, SHIP_LUGGER_H);
}
if (Rank >= 11 && Rank <= 20)
{
if (Nation == SPAIN) ShipType = RandFromFourDight(SHIP_CORVETTE,
SHIP_GALEON_H, SHIP_MERMAIDGRIEF, SHIP_WARSHIP);
if (Nation == FRANCE) ShipType =
RandFromThreeDight(SHIP_BATTLECORVETTE, SHIP_MERMAIDGRIEF, SHIP_FRIGATE);
if (Nation == ENGLAND) ShipType =
RandFromFourDight(SHIP_INTERCEPTOR, SHIP_BATTLECORVETTE, SHIP_COLONIALFRIGATE, SHIP_SURPRISE);
if (Nation == HOLLAND) ShipType = RandFromFourDight(SHIP_BRIG,
SHIP_INTERCEPTOR, SHIP_BATTLECORVETTE, SHIP_BLACKANGEL);
}
if (Rank > 20)
{
if (Nation == SPAIN) RandFromFiveDight(SHIP_GALEON_H,
SHIP_LINESHIP, SHIP_WARSHIP, SHIP_BATTLESHIP, SHIP_MANOWAR);
if (Nation == FRANCE) ShipType = RandFromThreeDight(SHIP_WARSHIP,
SHIP_BATTLESHIP, SHIP_SOLEILROYAL);
if (Nation == ENGLAND) ShipType = RandFromTwoDight(SHIP_SURPRISE,
SHIP_LINESHIP, SHIP_MANOWAR);
if (Nation == HOLLAND) ShipType = SHIP_DUTCHLINESHIP;
}
I hope it will work fine...
Oh sorry, for mixing up the topic
