• New Horizons on Maelstrom
    Maelstrom New Horizons


    Visit our website www.piratehorizons.com to quickly find download links for the newest versions of our New Horizons mods Beyond New Horizons and Maelstrom New Horizons!

Feature Request Current Flag to Control Address Form

Is this worth doing?


  • Total voters
    3

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
As mentioned elsewhere:

For good measure, we'd also need alternative dialogs so you'll say "Hello", "Bonjour", etc. depending on which nationality you're trying to assume.
That might be possible. At the moment there are two functions:

GetCharacterAddressForm chooses an appropriate address form for the CHARACTER YOU ARE TALKING TO.
This is based on the nationality of that character. We could replace that with "the nation of your current flag".
That probably would make more sense, since how would the player know the nationality of every character in the game?

GetMyAddressForm which does the same, but for the other character TO the player.
This is also based on the nationality of that character.

There is some extra stuff in there to allow various nationalities for pirate characters (which technically are their own nation in the game).
This also includes rank names, which obviously SHOULD be based on the nation of the character being addressed.

So it should be a relatively simple matter of overriding the 'fakeNat' variable there with GetCurrentFlag() .
Is that something I should change straight away? Would it make sense and help with immersion?
 
This seems VERY easy to do:
Code:
string GetCharacterAddressForm(ref chr, int addrtype, bool fname, bool lname)
{
   string retstr;
   int nat = sti(chr.nation);
/*   int fakeNat = nat;//MAXIMUS: -[05.10.2007]->
   if(CheckAttribute(chr,"nation.name"))
   {
     if(nat==PIRATE || nat!=sti(chr.nation.name)) fakeNat = sti(chr.nation.name);//MAXIMUS: pirates can have a different own-nation <-[05.10.2007]-
   }*/
   // PB: Pretend to be of that nationality -->
   int fakeNat = GetCurrentFlag();
   if (fakeNat == PERSONAL_NATION) fakeNat = GetServedNation();
   // PB: Pretend to be of that nationality <--
And behold the effect if I'm flying a French flag:
upload_2016-1-6_17-37-24.png


And a Dutch one:
upload_2016-1-6_17-37-34.png


But as far as I can tell, this hardly ever happens in the first place.
Seems to affect almost exclusively governor dialogs as the player doesn't often address other characters.

And when you do, it is often hard-coded instead of using the function that is meant for it.
That may be fixable with pre-processor use there instead. But that would all need to be added.

So as far as I can tell, the basics here are VERY easy. But it doesn't have much effect. :facepalm
 
For the next update, I will keep my initial code change for this in place, but have it outcommented.
It doesn't do much of anything right now even when enabled,
so unless we actually put some proper time and effort into it, this won't be much of a substantial feature. :facepalm
 
Back
Top