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

Relations

Grey Roger

Sea Dog
Staff member
Administrator
Storm Modder
At the start of "The Alliance", the vice admiral says:
As you know, Portugal is at war with us but not France...
This is not quite true. By default France and Portugal are indeed enemies. This changes with the following line:
Code:
SetNationRelationBoth(FRANCE,  PORTUGAL, RELATION_FRIEND);
And that is in the section in which you have just broken into St. Pierre town hall and stolen the document. Until then, the treaty is so secret that nobody knows about it.

Portugal doesn't like me very much. Partly because I started the game as Dutch and Holland is at war with Portugal, and partly because I've been raiding Portuguese ships while on the way to various quest destinations. So I had to enter Sao Jorge harbour under a false flag. This didn't stop the fort from firing, but it wasn't firing at me. It was firing at the not-French warship. Here's why:
Code:
Characters[GetCharacterIndex("Aurelien Bergerat")].nation = PERSONAL_NATION;
Characters[GetCharacterIndex("Aurelien Bergerat")].ship.name = "A Desconhecida";       
Group_CreateGroup("Aurelien_Ship");
The Fougueuse is now the A Desconhecida, with a new paint scheme and flying the Personal flag. The problem there is that "Personal" generally means "Me". And, as I've said, Portugal doesn't like me very much. So I was flying the French flag and sailing in perfect safety, and the not-French warship was flying my flag and being attacked. xD
 
LOL! :cheeky

The reason for the PERSONAL_NATION there was to have a custom flag flown on that ship, rather than one from any specific nation.

Perhaps a line can be added to make Portugal friendly with you again before that point?
Or store your relation first, then set you friendly and set it back to hostile afterwards?
 
Yes, I'd guessed why PERSONAL_NATION is being used, and it's not a game-breaking problem if you dock quickly enough that the warship isn't sunk by the fort. In fact, I never even noticed it before in earlier plays through "Assassin".

Another potential problem: I never use Personal flag but some people do, and they might be offended if they arrive at Sao Jorge and see the warship has stolen their flag. :D (Although they'd need to either make friends with Portugal first, or enter under a false flag, otherwise the fort may find them to be a more attractive target...)
 
Another potential problem: I never use Personal flag but some people do, and they might be offended if they arrive at Sao Jorge and see the warship has stolen their flag. :D
It doesn't use the player flag. ;)
Code:
//Aurelien Bergerat
   ch.old.name = "Aurelien";
   ch.old.lastname = "Bergerat";
   ch.name = TranslateString("","Aurelien");
   ch.lastname = TranslateString("","Bergerat");
   ch.id     = "Aurelien Bergerat";
   ch.model = "Gener_fra_16";
   ch.sound_type = "soldier";
   ch.sex = "man";
   GiveItem2Character(ch, "blade25");
   ch.equip.blade = "blade25";
   GiveItem2Character(ch, "pistol2");
   ch.equip.gun = "pistol2";
   //JRH ammo mod -->
   TakenItems(ch, "gunpowder", 6);
   TakenItems(ch, "pistolbullets", 6);
   //JRH ammo mod <--
   ch.location   = "";
   ch.location.group = "";
   ch.location.locator = "";
   ch.Dialog.Filename = "Aurelien Bergerat_dialog.c";
   ch.nation = FRANCE;
   ch.rank    = 18;
   ch.reputation = "None";
   ch.experience = "0";
   ch.Ship.Name = "La Fougueuse";
   ch.Ship.Type =    "FR_SoleilRoyal";   
   ch.Ship.Stopped = true;   
   ch.Flags.Personal = 5; // PB: Malta Flag <------------- THIS IS WHERE THEY GET A DIFFERENT ONE ---------------
   ch.Flags.Personal.texture = 1;
   ch.skill.Leadership = "8";
   ch.skill.Fencing = "8";
   ch.skill.Sailing = "5";
   ch.skill.Accuracy = "5";
   ch.skill.Cannons = "4";
   ch.skill.Grappling = "3";
   ch.skill.Repair = "3";
   ch.skill.Defence = "4";
   ch.skill.Commerce = "4";
   ch.skill.Sneak = "2";
   ch.money = "10";
  ch.questchar = true;   
   LAi_SetStayType(ch);
   LAi_SetLoginTime(ch, 0.0, 24.0);
   LAi_SetHP(ch, 180.0, 180.0);
   LAi_NoRebirthEnable(ch);   
   LAi_group_MoveCharacter(ch, "FRANCE_SOLDIERS");
   ch.greeting = "Gr_falaise de fleur soldier";
   AddGameCharacter(n, ch);
 
Back
Top