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 -
case "Story_SitAndDrinkWithDelacroix_4":
LAi_SetActorType(characterFromID("Armand Delacroix"));
ChangeCharacterAddress(characterFromID("Armand Delacroix"), "QC_port", "goto19");
DoQuestReloadToLocation("QC_port", "goto", "goto18", "Story_DelacroixGiddy");
break
LAi_Fade("Story_SitAndDrinkWithDelacroix_2", "Story_DelacroixStartTalkingInTavern");
case "Exit_Giddy":
Diag.CurrentNode = Diag.TempNode;
DialogExit();
LAi_QuestDelay("stand_up", 0.001);
AddDialogExitQuest("Story_SitAndDrinkWithDelacroix3");
break;
case "stand_up":
LAi_Fade("stand_up1", "stand_up2");
LAi_SetPlayerType(Pchar);
break;
case "Story_SitAndDrinkWithDelacroix3":
LAi_Fade("Story_SitAndDrinkWithDelacroix_4", "Story_DelacroixGiddy");
break;
case "Exit_Giddy":
Diag.CurrentNode = Diag.TempNode;
DialogExit();
LAi_QuestDelay("stand_up", 0.001);
AddDialogExitQuest("Story_SitAndDrinkWithDelacroix3");
break;
case "risks_3":
d.Text = DLG_TEXT[56];
Link.l1 = DLG_TEXT[57];
Link.l1.go = "exit_giddy";
AddDialogExitQuest("Exit_Giddy");
break;
case "risks_3":
d.Text = DLG_TEXT[56];
Link.l1 = DLG_TEXT[57];
Link.l1.go = "exit_giddy";
break;
It has to find a quest case "stand_up" somewhere, and presumably the only one available is the one in "Quests_common.c". Its function in the "Help the Lady" sidequest is indeed to make the player stand up and revert to "player" type, and is unnecessary - a simple 'LAi_SetPlayerType(Pchar)' appears to achieve all that.I think the stand_up in
Code:case "Exit_Giddy": Diag.CurrentNode = Diag.TempNode; DialogExit(); LAi_QuestDelay("stand_up", 0.001); AddDialogExitQuest("Story_SitAndDrinkWithDelacroix3"); break;
Just makes the player "stand up" after sitting at the table with Armand ( not certain about this ).
So I am not sure why it is activating cases in Quests_common.c
Quest name Story_SitAndDrinkWithDelacroix FOUND in SideQuestComplete
Quest name Story_SitAndDrinkWithDelacroix_2 FOUND in SideQuestComplete
Quest name Story_DelacroixStartTalkingInTavern FOUND in SideQuestComplete
LAi_type_actor_EndDialog -> LAi_type_actor_Reset
Quest name stand_up FOUND in CommonQuestComplete
LAi_Fade -> previous fade operation not ended!
Quest name Story_SitAndDrinkWithDelacroix3 FOUND in SideQuestComplete
Actor error: character <Blaze> now is not actor, his have type <player>
Quest name stand_up1 FOUND in CommonQuestComplete
Reload: Process started for locator_name = fakeReload and lockedReloadLocator =
reload_cur_island_index = -1
reload_cur_location_index = 152
reload_island_index = -1
reload_location_index = 145
Start reload
Quest name Story_SitAndDrinkWithDelacroix_4 FOUND in SideQuestComplete
PauseAllSounds
ReloadStartFade
ItemLogic: On unload location
ReloadEndFade
** Whr: CreateWeatherEnvironment - iCurWeatherhour = 14, theHour = 23
!gWeatherInit Whr_Generator() - Initialized
ItemLogic: On load location QC_port
ItemLogic: found 0 buttons
ItemLogic: Loaded model items\\pursem
Quest name Story_DelacroixGiddy FOUND in SideQuestComplete
SETTING MUSIC: music_pir_town
SETTING MUSIC: music_pir_town
Quest name stand_up2 FOUND in CommonQuestComplete
Quest name Story_DelacroixGiddy FOUND in SideQuestComplete
Quest name Story_SitAndDrinkWithDelacroix FOUND in SideQuestComplete
Quest name Story_SitAndDrinkWithDelacroix_2 FOUND in SideQuestComplete
Quest name Story_DelacroixStartTalkingInTavern FOUND in SideQuestComplete
Quest name Story_SitAndDrinkWithDelacroix3 FOUND in SideQuestComplete
LAi_Fade -> previous fade operation not ended!
Quest name stand_up FOUND in CommonQuestComplete
Reload: Process started for locator_name = fakeReload and lockedReloadLocator = reload1
reload_cur_island_index = -1
reload_cur_location_index = 152
reload_island_index = -1
reload_location_index = 145
Start reload
Quest name Story_SitAndDrinkWithDelacroix_4 FOUND in SideQuestComplete
PauseAllSounds
ReloadStartFade
ItemLogic: On unload location
ReloadEndFade
** Whr: CreateWeatherEnvironment - iCurWeatherhour = 16, theHour = 23
!gWeatherInit Whr_Generator() - Initialized
ItemLogic: On load location QC_port
ItemLogic: found 0 buttons
ItemLogic: Loaded model items\\purse
Quest name Story_DelacroixGiddy FOUND in SideQuestComplete
Actor error: character <Blaze> now is not actor, his have type <player>
Quest name stand_up1 FOUND in CommonQuestComplete
Quest name Story_DelacroixGiddy FOUND in SideQuestComplete
case "Exit_Giddy":
Diag.CurrentNode = Diag.TempNode;
DialogExit();
LAi_QuestDelay("stand_up", 0.001);
AddDialogExitQuest("Story_SitAndDrinkWithDelacroix3");
break;
case "Exit_Giddy":
Diag.CurrentNode = Diag.TempNode;
DialogExit();
LAi_QuestDelay("Story_SitAndDrinkWithDelacroix3", 1);
AddDialogExitQuest("stand_up");
break;
After the performance update I did to bring the check function in place and have it run at set times instead of being depended on the framerate, it now only checks every 5 ms or so, this gives the game enough time to first handle the dialog exit quest and then do the stand_up.
First of all I think this is programmed VERY bad to try to use the LAi_Questdelay to bypass the exitquest.
So I'd say just reverse the two questcalls as stand_up should be called first. and give the otherone a delay of just 1. That should fix it and make it better.
So Like this:
Code:case "Exit_Giddy": Diag.CurrentNode = Diag.TempNode; DialogExit(); LAi_QuestDelay("Story_SitAndDrinkWithDelacroix3", 1); AddDialogExitQuest("stand_up"); break;
I didn't look at the questcases themself, but now looking at them I agree with @Grey Roger just adding the setplayertype should do the trick too .There is also the problem that the case "stand-up" in Quests_common.c is nothing to do with the Help the Lady quest - it is for the Edgar Attwood Quest .
I think someone was just trying to use the code again without thinking things through completely.
The best solution to this specific quest's ( Help the Lady) problem, I think, is the one by @Grey Roger in Post#3.
It does. I tried it.I didn't look at the questcases themself, but now looking at them I agree with @Grey Roger just adding the setplayertype should do the trick too .
the stand_up questcase is also used in soldier2.c which also seems to be linked to attwood, so I'm find with moving it. maybe even renaming it to prevent confusion.It does. I tried it.
The net effect of the call on "stand_up" is a combination of 'LAi_SetPlayerType(Pchar)' and a teleport to a location which does not exist. We don't want the teleport, which just leaves the 'LAi_SetPlayerType(Pchar)'. So "stand_up" is both unnecessary and wrong, being for a different quest - which then just leaves the question, why is it in "quests_common.c"? Shouldn't "stand_up" be somewhere near other "Attwood" code in "quests_side.c" instead? The game doesn't care where it is, but placing it somewhere near where it's used may prevent future modders from mistakenly believing that something called "stand_up" in the common quest code file is a general piece of code to make a character stand up - which is probably what happened here.