Here's a thought on the EITC flags in the Jack Sparrow storyline for you people to ponder about.
What if we'd move the EITC flag to the personal flag files instead?
Reason being, it's a bit weird to have so many EITC ships sailing around in the WEST Indies without an explanation.
Of course this could also be solved by actually providing a reason.
In PROGRAM\BATTLE_INTERFACE\Flags.c replace:
Code:
case PERSONAL_NATION: retVal = GetPersonalFlag(); break;
With:
Code:
case PERSONAL_NATION: retVal = GetPersonalFlag(chr); break;
And:
Code:
int GetPersonalFlag()
{
ref mchr = GetMainCharacter();
if (!CheckAttribute(mchr, "Flags.Personal")) return 0;
return sti(mchr.Flags.Personal);
}
With:
Code:
int GetPersonalFlag(ref chr)
{
ref cmdr = Group_GetGroupCommander(GetGroupIDFromCharacter(chr));
if (!CheckAttribute(cmdr, "Flags.Personal"))
{
ref mchr = GetMainCharacter();
if (!CheckAttribute(mchr, "Flags.Personal")) return 0;
return sti(mchr.Flags.Personal);
}
return sti(cmdr.Flags.Personal);
}
I *think* that should allow you to set a "Flags.Personal" attribute for ANY character and so use custom flags for quest ships.
It'd be triggered if you set those ships to PERSONAL_NATION. Provided it works.
Could be used in the Assassin quest, where a ship is already set to personal nation, and also for EITC ships.
Additionally, I'm looking at this code:
Code:
int GetPirateFlag(ref chr)
{
ref cmdr = Group_GetGroupCommander(GetGroupIDFromCharacter(chr));
if (!CheckAttribute(cmdr, "Flags.Pirate")) return 0;
return sti(cmdr.Flags.Pirate);
}
It looks to me like that means that EVERY pirate group will use the same flag,
UNLESS the commander has a special pirate flag attribute. Which they don't get by default.
Maybe replace with:
Code:
int GetPirateFlag(ref chr)
{
ref cmdr = Group_GetGroupCommander(GetGroupIDFromCharacter(chr));
if (!CheckAttribute(cmdr, "Flags.Pirate")) cmdr.Flags.Pirate = rand(4);
return sti(cmdr.Flags.Pirate);
}
This would mean that the first five flags are used for groups randomly,
allowing flag 5 and 6 to be used for player/quest only ones.
That means we can prevent Jack Sparrow's flag from being used by non-player ships.
Additionally, it would be very much possible to change the
pchar.Flags.Pirate and
pchar.Flags.Personal
attributes while in the game through quest cases, dialog or an interface (for the future).
This opens up a lot of possibilities, doesn't it?
All the above is hypothetical and needs further testing and confirmation if it really DOES work.