• 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 Smuggling Coastguard Can Let You Go Free Even if Hostile

Johanno

Sailor Apprentice
Storm Modder
I was smuggling and then the guards appeared.
so i said im just making a picnic and then the guard talked about my reputation and so on.
so i've got the option to admit my mistake and my reputation got down by 40.
thats a very nice feature i think, but it does not make sense to me that im in war with spain and the soldiers give me that option, because if i don't choose that option spain gets hostile, but it is already hostile.

i hope you got the point that a enemy soldier shouldn't let you get through with smuggling.

save:
Dropbox - -=Player=- QuickSave 133
 
Perhaps the Spanish Soldiers don't recognize you as an enemy.:D

Which might be possible if you sailed into Port under a false flag, or landed at a quiet beach and went into town overland, to talk to the smuggler in the tavern.

Then to the soldiers you are just another smuggler & and nothing more.

:drunk
 
Look at the "random guard" dialog file.
I'm not sure what logic is in there, but if it isn't broken, I am very wary to change it.
 
What is your reputation then?

Note that reputation is not nation specific.
 
What is your reputation then?

Note that reputation is not nation specific.
 
it was a bit over neutral (matey i think)

this is the if i that hits for me:
Code:
//MT: If at war with the nation the guard belongs to, there is a chance to be detected (false flags should only occur when at war):
           if (GetNationRelation(PERSONAL_NATION, sti(Npchar.nation)) == RELATION_ENEMY && frnd() < GetChanceDetectFalseFlag())

so i don't think you need to change that but maybe the text the soldier says (btw where i can find that?).
 
Displayed texts are in the .h files in the \English subfolder .
 
random guard" dialog file
i just noticed thats the wrong, i need the file of the patrol which catches you at the beach

edit:
i found it its costalguard_dialog

Code:
if(makeint(Pchar.reputation) + (makeint(Pchar.skill.Leadership)*10) >= rand(200) )  //this is the original code

if(makeint(Pchar.reputation) + (makeint(Pchar.skill.Leadership)*10) >= rand(200) && !(GetNationRelation(PERSONAL_NATION, sti(Npchar.nation)) == RELATION_ENEMY) ) // this is my suggestion not sure if it works i'll test it
 
Last edited:
it works for me. I tested all conditions and i don't get the option if this is a enemy soldier.
Ps: its in line 39 in PROGRAMM\DIALOGS\Costal Guards_dialog.c
 
i just noticed thats the wrong, i need the file of the patrol which catches you at the beach

edit:
i found it its costalguard_dialog

Code:
if(makeint(Pchar.reputation) + (makeint(Pchar.skill.Leadership)*10) >= rand(200) )  //this is the original code

if(makeint(Pchar.reputation) + (makeint(Pchar.skill.Leadership)*10) >= rand(200) && !(GetNationRelation(PERSONAL_NATION, sti(Npchar.nation)) == RELATION_ENEMY) ) // this is my suggestion not sure if it works i'll test it
That does seem to make more sense than what was there, so I'll add it to the modpack. Thanks! :cheers

Slight rewrite:
Code:
if(makeint(Pchar.reputation) + (makeint(Pchar.skill.Leadership)*10) >= rand(200) && GetNationRelation2MainCharacter(sti(Npchar.nation)) != RELATION_ENEMY) )   // ccc new
That looks slightly cleaner, but should work equally well. :doff
 
Back
Top