Probably 'GetNationIDByType', then.
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!
Quick links for Beyond New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
- Bug Tracker on Github
Quick links for Maelstrom
- Download the latest version of Maelstrom
- Download the latest version of ERAS II
- Download the latest version of New Horizons on Maelstrom
Quick links for PotC: New Horizons
- Download latest version
- Wiki
- FAQ
- Report bugs here
Thanks to YOUR votes, GOG.com now sells:
- Sea Dogs
- Sea Dogs: Caribbean Tales
- Sea Dogs: City of Abandoned Ships
Vote now to add Pirates of the Caribbean to the list!
Quick links for AoP2: Gentlemen of Fortune 2
- Downloads and info
- ModDB Profile
- Forums Archive
A Pirate Podcast with Interviews
Music, Comedy and all things Pirate!
- Episode Guide - About - Subscribe -
- Twitter - Facebook - iTunes - Android -
- Youtube - Fill the Coffers -
It's not all talk or surmise. I guess you already know but there is code in there to sour relations with England (specifically) or leave service at least (I know because I think I ensured soured relations also happened if you killed the Prison Warden through the Viper patch which it didn't before). So as well as the questbook it will need actual relations effects adjusting - which will presumably need to reflect the Nations Relations changes @Pieter Boelen has just/is making.Also, 'GetTownNation("Greenford")' will presumably return a number. How do I convert that to a name, i.e. "England" or "Portugal"? If you threaten the prison commandant, you get a questbook entry which says "But I suspect this incident will cause my relationship with England to suffer", which it shouldn't do if "Greenford" is actually Portuguese Santa Ines.
Are you telling me that "A letter from Padre Domingues to Padre <RandomName>" DOES actually show the "Padre" part? Because that is ALSO based on a preprocessor, isn't it?Getting there...
The preprocessor works for item descriptions but not, apparently, for item titles. So, from "itemsDescribe.txt",shows up as "Letter for" and "A letter from Padre Domingues to Padre <RandomName>".Code:itmname_letter_to_bernard {Letter for #sFatherBernard#} itmdescr_letter_to_bernard { A letter from Padre Domingues to #sFatherBernard#. }
Very nicely done!I got round the problem with taking the Teacher to Puerto Rico by using cheatmode to get a couple of levels, which in turn got me enough Leadership to persuade the commandant to let me interrogate the Teacher right away. And finally I was able to meet my own creation. After trading a few broadsides, I boarded and captured her, then went to San Juan to berth my original ship so she wouldn't get in the way. And then I took the new Mefisto back to her island for her photo shoot. So this is what you'll be facing in "Early Explorers", or for that matter "Spanish Main", because frigates similar to the underlying design of the original Mefisto don't exist before "Golden Age".
@Armada might object to having land visible in the background.First shot: from the front, which should also be what will appear in its interface picture.
Second shot: from behind, showing the scary new stern decor.
Third shot: the original fleut-of-war has some flying horse sculptures around the stern. I repainted those, too.
Excellent change too! Because quest characters are initialized only once, I think quite a fair few are really low-level characters and nowhere near as challenging as your average highwaymen.According to the questbook, the Dark Teacher "was no easy opponent". In fact I dropped him with one strike. Admittedly I was using Francis Drake's sword, but anyone who isn't Francis Drake will probably have some other decent sword - for one thing, if you've got this far then you must have acquired at least "Matey" reputation and have visited Kralendijk, and if you did them in that order then you probably have Toff Oremans' sword. The Dark Teacher is a wimp.
Not any more... Mua-ha-ha-ha!
The "ID" is more of a code thing; you would need the NationName or something like that.Probably 'GetNationIDByType', then.
When you made your changes, didn't I already make it refer to the "Greenford" nationality there too? So it might already be done.It's not all talk or surmise. I guess you already know but there is code in there to sour relations with England (specifically) or leave service at least (I know because I think I ensured soured relations also happened if you killed the Prison Warden through the Viper patch which it didn't before). So as well as the questbook it will need actual relations effects adjusting
Yes, if it translates at all then it translates the lot. So the item description appears correct and the item name doesn't show the substitute name at all.Are you telling me that "A letter from Padre Domingues to Padre <RandomName>" DOES actually show the "Padre" part? Because that is ALSO based on a preprocessor, isn't it?
Tough, it's not his ship. But there isn't a problem anyway because there's only a little bit of the island visible to the right of that picture. After the picture has been trimmed down to a square, then the edges faded into the border, there's nothing of the island left. (I do know about the tradition of having the ship facing forward toward the left, so I turned the ship around so that the port side was facing the sun before I took the screen shot. )@Armada might object to having land visible in the background.
I remember the time when I took the shot from the stern or with the ship sailing towards the other side.
That was NOT acceptable!
No, he's referring to this bit:When you made your changes, didn't I already make it refer to the "Greenford" nationality there too? So it might already be done.
If not, that should also be added.
case "exit_from_prison_with_teacher":
// Unneeded - if(GetRMRelation(GetMainCharacter(), ENGLAND) > REL_AFTERATTACK) SetRMRelation(GetMainCharacter(), ENGLAND, REL_AFTERATTACK); // RM - SetNationRelation2MainCharacter(ENGLAND, RELATION_ENEMY);
LeaveService(PChar, ENGLAND, false); // RM
LAi_group_FightGroups("ENGLAND_SOLDIERS", LAI_GROUP_PLAYER, true);
break;
case "exit_from_prison_with_teacher":
// Unneeded - if(GetRMRelation(GetMainCharacter(), GetTownNation("Greenford")) > REL_AFTERATTACK) SetRMRelation(GetMainCharacter(), GetTownNation("Greenford"), REL_AFTERATTACK); // RM - SetNationRelation2MainCharacter(ENGLAND, RELATION_ENEMY);
if (GetCurrentPeriod() == PERIOD_EARLY_EXPLORERS)
{
LeaveService(PChar, PORTUGAL, false); // RM
LAi_group_FightGroups("PORTUGAL_SOLDIERS", LAI_GROUP_PLAYER, true);
}
else
{
LeaveService(PChar, ENGLAND, false); // RM
LAi_group_FightGroups("ENGLAND_SOLDIERS", LAI_GROUP_PLAYER, true);
}
break;
But...? If it is showing "Padre", doesn't that mean the preprocessor IS doing something but is just failing to include the character name?Yes, if it translates at all then it translates the lot. So the item description appears correct and the item name doesn't show the substitute name at all.
I thought of that, but since there has to be a condition to sort out the 'LAi_group_FightGroups', I thought I may as well hard-code the 'LeaveService' as well and avoid another call to 'GetTownNation' on the chance that this might have some slight effect on performance. If there's some way to make 'LAi_group_FightGroups' use a variable or function call rather than being hard-coded to "PORTUGAL_SOLDIERS" or "ENGLAND_SOLDIERS" then the condition can disappear entirely.Instead of using LeaveService with a specific nation, you can also just use LeaveService(PChar, GetTownNation("Greenford"), false); which should always be correct.
If it shows "Padre" then it shows the character's whole name, e.g. "Father Bernard" or "Padre Whatshisname". The problem is that for the item name, it doesn't show anything.But...? If it is showing "Padre", doesn't that mean the preprocessor IS doing something but is just failing to include the character name?
I must have misunderstood then.If it shows "Padre" then it shows the character's whole name, e.g. "Father Bernard" or "Padre Whatshisname". The problem is that for the item name, it doesn't show anything.
Have a look through nations.c for "soldier". I do think there is a function that does that, I just can't remember its name by the top of my head.I thought of that, but since there has to be a condition to sort out the 'LAi_group_FightGroups', I thought I may as well hard-code the 'LeaveService' as well and avoid another call to 'GetTownNation' on the chance that this might have some slight effect on performance. If there's some way to make 'LAi_group_FightGroups' use a variable or function call rather than being hard-coded to "PORTUGAL_SOLDIERS" or "ENGLAND_SOLDIERS" then the condition can disappear entirely.
If you'd rather have someone else in charge of the four ship interface files, be my guest. I wouldn't mind not having to do that any more, anyway.@Armada might object to having land visible in the background.
I remember the time when I took the shot from the stern or with the ship sailing towards the other side.
That was NOT acceptable!
The first part was a bit harsh, but I quite agree with the second, in this particular case.Tough, it's not his ship. But there isn't a problem anyway because there's only a little bit of the island visible to the right of that picture.
Oh, come on; it was all in jest.If you'd rather have someone else in charge of the four ship interface files, be my guest. I wouldn't mind not having to do that any more, anyway.
Sorry, I should have put a more friendly icon there. Of course I'd have altered the picture if it was going to cause any trouble! I didn't know about the requirement not to have any land showing otherwise I'd have been out in empty ocean for the photo shoot, but as luck would have it, the sun was over the island at that time and I wanted the screenshot to show the side of the ship facing the sun. And I knew about the requirement to have the ship pointing to the left of the picture so I spent some time turning it to face the right way so that the sun was hitting the port side.The first part was a bit harsh, but I quite agree with the second, in this particular case.
Try this:I thought of that, but since there has to be a condition to sort out the 'LAi_group_FightGroups', I thought I may as well hard-code the 'LeaveService' as well and avoid another call to 'GetTownNation' on the chance that this might have some slight effect on performance. If there's some way to make 'LAi_group_FightGroups' use a variable or function call rather than being hard-coded to "PORTUGAL_SOLDIERS" or "ENGLAND_SOLDIERS" then the condition can disappear entirely.
case "exit_from_prison_with_teacher":
cidx = GetTownNation("Greenford");
LeaveService(PChar, cidx, false); // RM
homegroup = GetSoldiersName(cidx) + "_SOLDIERS";
LAi_group_FightGroups(homegroup, LAI_GROUP_PLAYER, true);
break;
Good to see you around again! We've been keeping busy in the meantime.btw: Sorry, if I was not on this forum these last two weeks.
Indeed, I noted thatGood to see you around again! We've been keeping busy in the meantime.