• 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!

Fixed Bartolomeu and Assassin Storylines: Effect of Nation Relations

I just need to create a condition that confirms the player doesn't already have a LoM of a specific nation, right?
I can handle the case if you already have points from a Portuguese LoM before your quest gives you a LoM.
Probably that already works right, but I'll double-check. So you don't have to worry about that.

Only thing is that the dialog may be a bit odd when you're told "here, take this LoM" when you already have one.
Not sure if you need to care about that at all, but you could consider having a different dialog if you already have a LoM in advance.
I can give you the if-statement you need for that tonight if you want. That already exists. :doff
 
@Bartolomeu o Portugues: Do you still indeed to make the needed tweaks for this?
I'm thinking of a Beta 4 public release around Christmas now, so it would be nice if you could have a look at it in the next month or so. :doff
 
@Bartolomeu o Portugues: Do you still indeed to make the needed tweaks for this?
I'm thinking of a Beta 4 public release around Christmas now, so it would be nice if you could have a look at it in the next month or so. :doff
Sorry for the delay in my reply but I've had a lot of work these last days. I'll do that this weekend or the next week. I SWEAR
 
I can handle the case if you already have points from a Portuguese LoM before your quest gives you a LoM.
Probably that already works right, but I'll double-check. So you don't have to worry about that.
Pieter, is this already done?
Tell me if the only problem is about the Portuguese governor dialogue in case BoP has already a LoM.
If yes, is there a function to check if a player has a specific LoM from a nation?
 
Pieter, is this already done?
Nope, nobody did it. :no

If yes, is there a function to check if a player has a specific LoM from a nation?
You can use this one, which covers both LoM and navy:
Code:
if(IsInServiceOf(iNation))

Tell me if the only problem is about the Portuguese governor dialogue in case BoP has already a LoM.
The problem is for both Bartolomeu and Elting: If they don't have any LoM to give them a legal reasons for their attacks,
they will eventually be considered pirates for any attacks on non-pirate ships.

This actually applies to all characters in the game, but of course for your storyline characters,
the story requires you to sink/capture certain ships and you wouldn't want the player to be considered a pirate when they're meant to be doing that.

For specific quest ships, it is possible to prevent this.
But that doesn't work for the times when you're supposed to go into free play for a while.

Does that make sense to you? If not, please let me know what more you need to know. :doff
 
Is there also a function to give a LoM to the player?
Of course! This is the line of code used in the normal governor dialogs:
Code:
SetRank(PChar, iNation, GetOldRank(PChar, iNation));
There are others, but I think that is the best option.

As last time, either use a pre-defined 'iNation' variable (which for a normal governor dialog may already be there) or replace it with PORTUGAL like this:
Code:
SetRank(PChar, PORTUGAL, GetOldRank(PChar, PORTUGAL));
 
Thanks Pieter,
Just a new question:
we have seen the condition when the player has already a LoM from a specific nation
Code:
if(IsInServiceOf(iNation))
but there is a function to check if a player doesn't have a specific LoM from a nation?
for instance:
Code:
if(NotInServiceOf(iNation))
 
Thanks Pieter,
Just a new question:
we have seen the condition when the player has already a LoM from a specific nation
Code:
if(IsInServiceOf(iNation))
but there is a function to check if a player doesn't have a specific LoM from a nation?
for instance:
Code:
if(NotInServiceOf(iNation))
"!" means "not" in the PotC game code. So this would work:
Code:
if(!IsInServiceOf(iNation))
And of course also:
Code:
if(IsInServiceOf(iNation))
{
// if yes
}
else
{
// if no
}
 
Back
Top