void SetTownFlag(ref loc, object mdl)
{
int i, idx, iNation;
string town;
ref chr;
if (!CheckAttribute(loc, "townsack")) return;
SendMessage(&Flag, "li", MSG_FLAG_DEL_GROUP, &mdl);
SendMessage(&MerchantFlag, "li", MSG_FLAG_DEL_GROUP, &mdl);
for (i = 0; i < PIRATEFLAGS_TEXTURES_QUANTITY; i++)
{
if (IsEntity(&PirateFlag[i])) SendMessage(&PirateFlag[i], "li", MSG_FLAG_DEL_GROUP, &mdl);
if (IsEntity(&PiratePennant[i])) SendMessage(&PiratePennant[i], "li", MSG_FLAG_DEL_GROUP, &mdl);
}
for (i = 0; i < PERSONALFLAGS_TEXTURES_QUANTITY; i++)
{
if (IsEntity(&PersonalFlag[i])) SendMessage(&PersonalFlag[i], "li", MSG_FLAG_DEL_GROUP, &mdl);
if (IsEntity(&PersonalPennant[i])) SendMessage(&PersonalPennant[i], "li", MSG_FLAG_DEL_GROUP, &mdl);
}
SendMessage(&FortFlag, "li", MSG_FLAG_DEL_GROUP, &mdl);
town = loc.townsack;
iNation = GetTownNation(town);
idx = GetTownGovernorIndex(town);
if (idx < 0) idx = GetTownFortCommanderIndex(town, 0);
if (idx < 0) idx = GetMainCharacterIndex();
chr = GetCharacter(idx); // PB
switch (iNation) {
/* case PIRATE:
GetPirateFlag(chr, &i);
SendMessage(&PirateFlag[i], "lil", MSG_FLAG_INIT, &mdl, idx);
break;
case PRIVATEER_NATION:
GetPersonalFlag(chr, &i);
SendMessage(&PersonalFlag[i], "lil", MSG_FLAG_INIT, &mdl, idx);
break;*/
case PERSONAL_NATION:
GetPersonalFlag(chr, &i);
SendMessage(&PersonalFlag[i], "lil", MSG_FLAG_INIT, &mdl, idx);
break;
// default:
SendMessage(&FortFlag, "lil", MSG_FLAG_INIT, &mdl, idx);
}
}