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 -
I'd be inclined to remove case "ferro_leaves" and cancel his immortality at case "prepare_ferro_to_Sea".
@Grey Roger: Do you reckon you could find a better spot to put the "set immortal OFF" line?
Point is that you are more familiar with that quest than I am since I probably haven't played it in 10 years.When I do, if you haven't already corrected the code then I'll have a look at moving the lines to cancel Ferro Cerezo's immortality and remove him from the tavern.
I did. Case "prepare_ferro_to_Sea".Point is that you are more familiar with that quest than I am since I probably haven't played it in 10 years.
Plus the savegame I had for testing missed out on the beginning that I really needed to check it properly.
So I can try to fix it once more, but chances are I won't get it right again. Which is a perfect waste of my time and efforts.
While you can probably point to the correct quest case right now and save me the trouble.
Is that a savegame where he is already missing? Do you also have a savegame from a bit earlier?Ferro Cerezo isn't in the tavern on Sao Jorge after I speak to the padre and get told to sink his ship. I spent a few nights in the tavern and he still isn't there.
ChangeCharacterAddressGroup(characterFromID("ferro cerezo"), "Conceicao_tavern", "sit", "sit5");
I assume you mean that the console command works?It works, I expected nothing less
This line?However, the padre claims that his ship is a sloop, and it is a pinnace, so just a small confusion between what is said and what actually happens.
"I managed to find out that he has his own ship. It's a sloop, if I am not mistaken. And he is often seen at #sConceicao# - he's probably involved in smuggling.",
SetCharacterRelation(GetCharacterIndex("Conceicao Commander"),GetCharacterIndex("Ferro Cerezo"),RELATION_FRIEND);
Did I not set Immortal to 'true' first and then set it to 'false' afterwards?Case "prepare_ferro_to_Sea" is not in fact a useful place for anything. It's triggered by dialog with Ferro Cerezo, so putting the line to make him immortal there means you can still kill him in the tavern if you do it without talking to him first. And the line to cancel his immortality has not been put back, so when you go to sea to attack his ship, the ship is invulnerable.
I'm not too fussed about him not leaving. Maybe he could be "cleaned up" at a later stage as you suggest,The attached version of "quests_reaction.c" has the immortality line moved back to case "prepare_for_meet_ferro", which is triggered by the dialog with Padre Domingues and is where Ferro Cerezo is first placed in Sao Jorge tavern. The line to cancel his immortality is added to case "to_sea_for_capture_cerezo", which is when you've just put to sea. There's still no line to remove Ferro Cerezo from the tavern; he's removed anyway if you kill him at sea, but not if you buy the documents from him, and I imagine that's always been the case. If we do want to remove him from the tavern then case "kicked_to_mine_complete" seems to be a good place - it already has lines to cancel cases "kill_ferro_cerezo" and "abording_ferro_cerezo". (It's where you've just left Bridgetown to go to the mine and have met the thugs who want to enslave you.)
All 'SetCharacterRelation' are absolutely meaningless after my complete rewrite of the Nation and Sea Relations code.But there's one other snag which I don't know how to fix. The last line of case "to_sea_for_capture_cerezo" is:Here's what "Conceicao Commander", alias Basil Vespucci, thinks of that:Code:SetCharacterRelation(GetCharacterIndex("Conceicao Commander"),GetCharacterIndex("Ferro Cerezo"),RELATION_FRIEND);
The latter. But it was I who suggested using case "prepare_ferro_to_Sea", so I'll accept part of the blame.Did I not set Immortal to 'true' first and then set it to 'false' afterwards?
Or did I by accident only move the 'true' one to later?
The main snag with using that seat for other purposes, e.g. some new side quest, is what happens when someone tries to do that side quest when this part of the main quest is active and Ferro Cerezo is supposed to be there? Likewise, anyone wanting to have new side quest action in Kralendijk tavern should avoid the seats used by Raoul Rheims and Toff Oremans.I'm not too fussed about him not leaving. Maybe he could be "cleaned up" at a later stage as you suggest,
just in case so he doesn't needlessly and permanently occupy a seat that could be used for other purposes.
What's going to happen when you attack him? If I understand the relations system correctly, either you'll need to raise a flag hostile to Portugal, which means the fort will attack you; or you attack him while under a flag friendly to Portugal, which is very naughty and will cost you lots of reputation.All 'SetCharacterRelation' are absolutely meaningless after my complete rewrite of the Nation and Sea Relations code.
Now all relations are based directly on the flag flown and nation relations.
Pirate and Portugal are hostile to each other, therefore a Portuguese fort will try to sink a Pirate ship.
By far the simplest solution to prevent that is to make Ferro Cerezo Portuguese with NPChar.nation = PORTUGAL; .
The fundamental problem remains - if you make an enemy character friendly to a fort then you need to turn hostile to the fort to attack him, and if you make him hostile to the fort then the fort attacks him. In some periods it may be less of a problem because of the way international relations are set, but in "Colonial Powers" you basically have two power blocs: Britain + Holland + Portugal against France + Spain. (And, of course, Pirates hostile to everyone as usual.) So without some temporary messing about, everyone is either allied to the fort or hostile to the fort.In this process, we did lose the ability to set relations between specific characters.
If at all possible, I'd like to avoid bringing that back and instead make sure that character nationalities and nation relations make sense in context.
As long as we get it right in the end. Thanks for catching!The latter. But it was I who suggested using case "prepare_ferro_to_Sea", so I'll accept part of the blame.
All I'm saying is that a permanently occupied seat that isn't used for anything relevant is superfluous.The main snag with using that seat for other purposes, e.g. some new side quest, is what happens when someone tries to do that side quest when this part of the main quest is active and Ferro Cerezo is supposed to be there? Likewise, anyone wanting to have new side quest action in Kralendijk tavern should avoid the seats used by Raoul Rheims and Toff Oremans.
You can add the "recognized" attribute to make him hostile regardless of flag flown.What's going to happen when you attack him? If I understand the relations system correctly, either you'll need to raise a flag hostile to Portugal, which means the fort will attack you; or you attack him while under a flag friendly to Portugal, which is very naughty and will cost you lots of reputation.
You could have used the "recognized" attribute there too.That does explain why my early attempts to turn the English convoy in "Convoy Strike" in "Ardent" didn't work. They disregarded the command to turn them hostile because they were still under an English flag and you were still under an English or allied flag (you wouldn't have got out of Curacao without being attacked by the fort otherwise). In the end I settled for temporarily setting Spain at war with England and having you auto-hoist a Spanish flag, then make Spain allied to England again when the battle was over.
Please think about those two attributes that already exist.The fundamental problem remains - if you make an enemy character friendly to a fort then you need to turn hostile to the fort to attack him, and if you make him hostile to the fort then the fort attacks him. In some periods it may be less of a problem because of the way international relations are set, but in "Colonial Powers" you basically have two power blocs: Britain + Holland + Portugal against France + Spain. (And, of course, Pirates hostile to everyone as usual.) So without some temporary messing about, everyone is either allied to the fort or hostile to the fort.
What exactly does "recognised" do? And, if Ferro Cerezo is Portuguese but "recognized" you and attacks you anyway, what will the fort do when you attack what it thinks is an ally?You can add the "recognized" attribute to make him hostile regardless of flag flown.
And you can add the "skipRM" attribute to avoid any potential penalties from attacking him.
That does mean you also don't gain any points for it,
but there are plenty more ships out there as targets for your promotions if you really need them.
So that shouldn't be all that much of a problem.
I'd never heard of "recognized". But I did know about "skipRM", and used it.You could have used the "recognized" attribute there too.
That is ship-specific and should do the trick.
It forces a ship to be hostile to you regardless of actual nation relations and flags flown.What exactly does "recognised" do?
The fort will do nothing. They're not in the same group as Ferro Cerezo, so the only link between them would be that they're both Portuguese.And, if Ferro Cerezo is Portuguese but "recognized" you and attacks you anyway, what will the fort do when you attack what it thinks is an ally?
Assuming the player is neutral/friendly to Portugal, Ferro Cerezo would be the only hostile Portuguese ship around.The problem with "skipRM" is that it is liable to confuse a player who doesn't know the technical workings of the game, has just got the hang of a relations system which requires you to hoist a hostile flag before attacking a ship, then has to figure out that this time he must not do so and can get away with attacking this ship, but not any other Portuguese ships which happen to be in the area.