Ah, now I see it! Take a close look at the win_conditions in case "Puerta_returns"...
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 -
Can you be more specific? I've looked at those quite a few times but I'm unable to see the error...Ah, now I see it! Take a close look at the win_conditions in case "Puerta_returns"...
case "rugbeater":
LAi_SetPlayerType(pchar)
GiveItem2Character("Isabel Marino", "blade37");
EquipCharacterByItem("Isabel Marino", "blade37");
LAi_SetImmortal(characterFromID("Ernesto Haraldo"), true);
LAi_SetImmortal(characterFromID("Isabel Marino"), true);
LAi_ActorAttack(CharacterFromID("Isabel Marino"), PChar, "");
pchar.quest.Windowjump.win_condition.l1 = "locator";
pchar.quest.Windowjump.win_condition.l1.location = "Haraldo_Bedroom";
pchar.quest.Windowjump.win_condition.l1.locator_group = "goto";
pchar.quest.Windowjump.win_condition.l1.locator = "goto6";
pchar.quest.Windowjump.win_condition = "Windowjump";
break;
1) LAi_SetPoorType(Pchar); doesn't even work when I put it in the console... It should work when PChar is player type, right?1) LAi_SetPoorType(Pchar); has always worked for me. Something else going on (dialog for ex) setting Pchar to actor?
2) Maybe Isabel is not set to actortype before she's ordered to attack?
Or maybe the location doesn't allow fights? Try draw your own blade.
case "rugbeater":
LAi_SetPlayerType(pchar)
case "caught4":
LAi_SetActorType(characterFromID("Isabel Marino"));
Characters[GetCharacterIndex("Isabel Marino")].dialog.currentnode = "flagranti";
LAi_ActorDialog(characterFromID("Isabel Marino"), Pchar, "", 0.5, 0);
break;
case "rugbeater":
LAi_SetPlayerType(pchar);
GiveItem2Character("Isabel Marino", "blade37");
EquipCharacterByItem("Isabel Marino", "blade37");
LAi_SetImmortal(characterFromID("Ernesto Haraldo"), true);
LAi_SetImmortal(characterFromID("Isabel Marino"), true);
LAi_SetActorType(characterFromID("Isabel Marino"));
LAi_ActorAttack(CharacterFromID("Isabel Marino"), PChar, "");
pchar.quest.Windowjump.win_condition.l1 = "locator";
pchar.quest.Windowjump.win_condition.l1.location = "Haraldo_Bedroom";
pchar.quest.Windowjump.win_condition.l1.locator_group = "goto";
pchar.quest.Windowjump.win_condition.l1.locator = "goto6";
pchar.quest.Windowjump.win_condition = "Windowjump";
break;
LAi_SetCheckMinHP(characterFromID("Fr_Prison_guard4"), LAi_GetCharacterHP(characterFromID("Fr_Prison_guard4"))-2.0, false, "guadeloupe_prison_guard_out_cold");
LAi_SetStunnedTypeNoGroup(characterFromID("Fr_Prison_guard4"));
LAi_SetFightMode(PChar, false);
LAi_group_MoveCharacter(CharacterFromID("Isabel Marino"), LAI_GROUP_MONSTERS);
Lai_SetCheckMinHP(CharacterFromID("Dirty Cesar"), 110.0, true, "Blaze_won_first_fight");
if (!CheckAttribute(CharacterfromID("Dirty Cesar"), "stuntime"))
{
LAi_QuestDelay("Blaze_won_first_fight", 0.1);
}
Possibly the same problem - Dirty Cesar is in the same AI group as other characters so they want to get involved in the fight. Put Dirty Cesar into a different AI group the same way I suggested for Isabel Marino.Of importance are the quest cases "First_fight" to "Audience_attacks". The red blinking and battle music start with LAi_ActorAttack(CharacterFromID("Dirty Cesar"), PChar, ""); in "First_fight2", so that's weird. And this battle phase doesn't end through all the quest cases.
You will need to cancel the Min HP checks. In case "Blaze_lost_first_fight", put this:A problem is that I have Lai_SetCheckMinHP in the cases "First_fight2" and "Second_fight2", but this still applies in the later group fight of "Audience_attacks". So I get the earlier quest cases "blaze_lost_first/second_fight" when my health is reduced in the group fight of "Audience_attacks". That's the main problem. I thought maybe this is because it all happens in one uninterrupted battle phase of red blinking? Perhaps it would help to form the group Furious_Audience in an earlier quest case?
LAi_RemoveCheckMinHP(CharacterFromID("Dirty Cesar"));
LAi_RemoveCheckMinHP(PChar);
I don't think that will work because 'CheckAttribute' is not running continuously. Near the start of "Ardent", I have a sequence of quest cases triggered by delays and movements:A second problem is what I already suspected: Even when I give Dirty Cesar and Chico Malo a predefined amount of HP, the amount of HP when they get stunned is random. So they sometimes sit down (stunned) before I've reduced them to the amount of HP I've tied to my quest cases. Perhaps instead of
Code:Lai_SetCheckMinHP(CharacterFromID("Dirty Cesar"), 110.0, true, "Blaze_won_first_fight");
I could try
Code:if (!CheckAttribute(CharacterfromID("Dirty Cesar"), "stuntime")) { LAi_QuestDelay("Blaze_won_first_fight", 0.1); }
would that make sense?
LAi_SetCheckMinHP(characterFromID("Dirty Cesar"), LAi_GetCharacterHP(characterFromID("Dirty Cesar"))-2.0, false, "Blaze_won_first_fight");
LAi_SetStunnedTypeNoGroup(characterFromID("Dirty Cesar"));
Yes.hey, it proves I'm getting somehwhere!
Not yet, perhaps; but it is possible to add new quest triggers.Checking the attribute can be useful once a quest case has been triggered but can not, as far as I know, be used as a trigger.
case "stunned":
return CheckAttribute(refCharacter, "stuntime");
break;