All changes posted by @Grey Roger are now included in here:
http://www.piratesahoy.net/threads/build-14-beta-3-5-internal-wip-for-testing.24817
http://www.piratesahoy.net/threads/build-14-beta-3-5-internal-wip-for-testing.24817
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 -
PChar.quest.Murray_wounded333.win_condition.l1.character = characterFromID("Soldier8X");
PChar.quest.Murray_wounded333.win_condition.l1.character = "Soldier8X";
I may have missed your full up-to-date version so was working from the last version I did have....Thanks! Except you used an obsolete version of "quests_reaction.c" which doesn't have my more recent changes, particularly all the "RemovePassenger" lines and the fix for "The Duchess and the Devil".![]()
WaitDate("", 0, 0, 1, 0, 0); // "", years, months, days, hours, minutes
Yup, it is.Is that the general command to force a certain amount of time to pass?
Not until after Beta 3.3 . When we introduced Commissioned and went playing with that, we figured that wasn't actually logical reason for the crew of navy ships to not consume rations.Hornblower is a commissioned officer. Does he consume rations?
Didn't even know that function existed, but indeed I found it in PROGRAM\QUESTS\quests.c:What does "TakeShipCommandFromOfficer(pchar.id);" do? Particularly if I insert it in the section "Go_to_Beach_for_Prison", which is right after the capture of Le Reve? (I found it in the "standard" storyline, somewhere among what looks like the bit about Rabel Yverneau, probably where you've brought the corvette to Jamaica and it's taken from you.)
bool GiveShipCommandToOfficer(string idCharacter, int idx)
{
int idxCh = GetCharacterIndex(idCharacter);
if(idxCh==-1) return false;
ref refCh = GetCharacter(idxCh);
if(idx==-1) return false;
if(CheckAttribute(refCh,"Fellows.Old.Passengers")) return false;
string sTmp;
aref arTmp;
makearef(arTmp,refCh.Fellows.Old.Passengers);
sTmp = "id0";
arTmp.(sTmp) = idx;
RemovePassenger(refCh,GetCharacter(idx));
ChangeCharacterAddress(GetCharacter(idx),"none","");
return true;
}
bool TakeShipCommandFromOfficer(string idCharacter)
{
int idxCh = GetCharacterIndex(idCharacter);
if(idxCh==-1) return false;
ref refCh = GetCharacter(idxCh);
if(!CheckAttribute(refCh,"Fellows.Old.Passengers")) return false;
int idx;
aref arTmp,arCur;
makearef(arTmp,refCh.Fellows.Old.Passengers);
arCur = GetAttributeN(arTmp,0);
idx = sti(GetAttributeValue(arCur));
AddPassenger(refCh,GetCharacter(idx),false);
DeleteAttribute(refCh,"Fellows.Old.Passengers");
if (!CheckAttribute(refCh,"Fellows.Old.Officers"))
DeleteAttribute(refCh,"Fellows.Old");
return true;
}
DeleteAttribute(pchar, "Ship");
ch.Ship.Type = SHIP_NOTUSED_TYPE_NAME;
ch.Ship.Name = "";
That is probably the simplest solution.Also found in the "standard" storyline is "AddCharacterGoods(pchar, GOOD_WHEAT, 40);" and a similar one for GOOD_RUM, so if I need to feed Hornblower while he's in prison, those seem like the lines to do it.
Which presumably means it is possible to stop you consuming rations. How? Can it be switched off and then back on during the game?Not until after Beta 3.3 . When we introduced Commissioned and went playing with that, we figured that wasn't actually logical reason for the crew of navy ships to not consume rations.
So now they do. However, that could indeed affect the Hornblower storyline which hopefully your playing brings to light.
Having put the PoTC directory into Windows Index, and knowing that "GiveShip2Character" exists, I tried searching for things like "RemoveShip" or "TakeShip", and found the one I mentioned. Your way is probably what I want. "GiveShip2Character" is already present, there's one for when you're released from prison and put back on the Indy.If you want to remove the player ship, this might work:I think that would set up your player character similar to how you start the Bartolomeu storyline, where you also don't have a ship for a while.Code:DeleteAttribute(pchar, "Ship"); ch.Ship.Type = SHIP_NOTUSED_TYPE_NAME; ch.Ship.Name = "";
Then use GiveShip2Character once you do need to go back to sea and that might sort this one out.
That is probably the simplest solution.![]()
Maybe a little later, but not right now. Want to finish at least part 23/25 of the GoldBug first. Maybe all.@@Jack Rackham or @@Bartolomeu o Portugues: Do you reckon you could help Grey Roger a bit in adding a few quest scenes at the end to introduce the change into Free Play mode for Hornblower?
If I recall, it was just done by setting the BuildSettings.h food toggle to false in the StartStoryline.c file, but I'm not convinced that is a very good approach.Which presumably means it is possible to stop you consuming rations. How? Can it be switched off and then back on during the game?
I figured that might be the case, so hopefully that will be a quick fix.Having put the PoTC directory into Windows Index, and knowing that "GiveShip2Character" exists, I tried searching for things like "RemoveShip" or "TakeShip", and found the one I mentioned. Your way is probably what I want. "GiveShip2Character" is already present, there's one for when you're released from prison and put back on the Indy.
It had better! I tested it!Incidentally, your fix for the battle scene on Guadeloupe worked.![]()
I'm not suggesting any huge amounts of work to be done; just tying up some loose ends in the story here and there.Maybe a little later, but not right now. Want to finish at least part 23/25 of the GoldBug first. Maybe all.
Indeed the storyline is already completed, but there are some rough edges here and there.Is the situation this: the Hornblower storyline is completed and you can continue playing in free play?
Yes, there are. With ENABLE_CHEATMODE on, there is a C.S. Forester "storyteller" character to be found in the Antigua port opening scene.Are there any jump starts in Hornblower?
I'll have to check when I get to the end of my current playthrough, but as I recall from last time, the game ends with Hornblower at the rank of Commander and in charge of Hotspur, which was his status at the start of the final action on Guadeloupe. The added code means he enters Mrs. Mason's house in command of Hotspur and leaves in command of Atropos, meaning Mrs. Mason has just given him a new ship as a wedding gift.Basically the story has a "traitor" character, but that one isn't dealt with before the story ends but also doesn't impact anything afterwards.
So that is a "loose end" that would be nice to close.
Originally it also wasn't set up to properly allow free play afterwards, so the story ends with you marrying Maria and officially being landlocked due to the (temporary) end of the war.
Grey Roger and me did add some code to the end of the storyline to put you in charge of a new ship and enable ordinary free play.
However, there is no dialog explaining this. So basically the last thing you know is that you get married and suddenly you are promoted and in charge of a new ship.
Works for gameplay but doesn't actually make any sense.![]()
Yup, that sounds about right. Do you have any thoughts on dealing with that traitor as well?I'll have to check when I get to the end of my current playthrough, but as I recall from last time, the game ends with Hornblower at the rank of Commander and in charge of Hotspur, which was his status at the start of the final action on Guadeloupe. The added code means he enters Mrs. Mason's house in command of Hotspur and leaves in command of Atropos, meaning Mrs. Mason has just given him a new ship as a wedding gift.A new quest which results in Hornblower being transferred to Atropos would be nice, even if it's just a midshipman running up to him and telling him to report to Naval HQ, where a senior officer tells Hornblower that he's been given the new ship.
Agreed. Plus renewed war with France is a very good reason for Hornblower getting a command again.During the first action on Guadeloupe, Hornblower is worried that if he gets caught in British uniform, it could start a war. If that's a reasonable concern then the French really won't like their signal tower and fort being blown up and their ships destroyed in port, so I'm going to add some more relation changes to resume war between Britain and France. Besides, unless I do that, free-play is going to be a bit boring with everyone at peace and only pirates to chase!
I don't want food consumption disabled entirely for Hornblower, just while he's in prison. And not necessarily for the whole time, just around where the "WaitDate" commands are doing their stuff. For preference, define a new variable somewhere in "quests_reaction.c", then do something like this:If I recall, it was just done by setting the BuildSettings.h food toggle to false in the StartStoryline.c file, but I'm not convinced that is a very good approach.
That might have weird side-effects, such as it being re-enabled upon loading a savegame (because then StartStoryline.c isn't run again) or remaining disabled even in other storylines afterwards.
old_food = FOOD_ON;
food_setting = false;
WaitDate("", 0, 0, 1, 0, 0);
FOOD_ON = old_food;
That should not be necessary. The ship has enough food and rum to get to where it's going, unless you divert from plot and go off in search of loot and side-quests. In that case you're effectively taking over the ship and may as well take over the responsibility of feeding it.If we do indeed want Hornblower to not consume rations at all during the main quest, we can figure out a different approach.
There is already an attribute for "notcaptain" that is used to prevent you from hiring officers.
The same attribute can be placed around the ration consumption code in PROGRAM\WorldMap\DailyCrewUpdate.c .
Not unless I ever learn how to write quests. Otherwise whoever wants to do the job can do what he likes to the traitor. I'll think more about new stuff after I've got the existing stuff working properly.Yup, that sounds about right. Do you have any thoughts on dealing with that traitor as well?
It might be a good reason for Hornblower getting a new command. He received command of Hotspur along with promotion back to Commander at the start of "Old Friends - New Enemies", and still has them when he returns from Guadeloupe to get married.Agreed. Plus renewed war with France is a very good reason for Hornblower getting a command again.