I do not understand the questions.
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 -
LAi_SetActorType(characterFromID("Bellamy"));
LAi_ActorAttack(characterfromID("Bellamy"), PChar, "");
PChar.quest.Bellamy_dead.win_condition.l1 = "NPC_Death";
PChar.quest.Bellamy_dead.win_condition.l1.character = "Bellamy";
PChar.quest.Bellamy_dead.win_condition = "Bellamy_dead";
LAi_group_MoveCharacter(characterfromID("Bellamy"), "DOUWESEN_PIRATE_SOLDIERS");
LAi_group_SetRelation("DOUWESEN_PIRATE_SOLDIERS", LAI_GROUP_PLAYER, LAI_GROUP_ENEMY);
LAi_group_FightGroups("DOUWESEN_PIRATE_SOLDIERS", LAI_GROUP_PLAYER, true);
LAi_group_SetCheck("DOUWESEN_PIRATE_SOLDIERS", "Bellamy_dead");
Locations[FindLocation("Pirate_Fort")].reload.l2.disable = 1;
case "Bellamy_dead":
Locations[FindLocation("Pirate_Fort")].reload.l2.disable = 0;
break;
It depends on what you want to do. If you want a duel between your character and one enemy, with everyone else standing aside, then actor attack is the way to do it.Actor attack does not trigger the regular "flashing danger icon and music", so the groups are often better.
I don't think the status is remembered, otherwise if you really do need to fight a group of Portuguese soldiers for some story reason, you can never again safely go to Sao Jorge.I recommend against using the Conceicao group on another Island, as the status is remembered and you could be attacked then later on a Portuguese Island for no apparent reason.
That's why I used "FRANCE_SOLDIERS". On the other hand, if you create one group and then keep using it for your own quest enemies, it wouldn't do any harm. Let it stay in memory, you're going to be using it again anyway...It is also not good to create new groups if you don't need to, because they remain in memory after being used.
I think ActorAttack was originally intended to have two actors fight each other. Even for a one-on-one fight, it is possible to use FightGroups.It depends on what you want to do. If you want a duel between your character and one enemy, with everyone else standing aside, then actor attack is the way to do it.
I can guarantee you that it IS remembered.I don't think the status is remembered, otherwise if you really do need to fight a group of Portuguese soldiers for some story reason, you can never again safely go to Sao Jorge.
Can't remember exactly where the relevant code is, but I know I've seen it many times. Might be LAi_monsters.c .It has to clear the memory of that group being hostile when the fight is over. If it didn't, and you got into a fight with one of the standard groups, that group would potentially remain hostile later, which is not good if you intentionally want to fight a group of Portuguese soldiers at one point
True and true.That's why I used "FRANCE_SOLDIERS". On the other hand, if you create one group and then keep using it for your own quest enemies, it wouldn't do any harm. Let it stay in memory, you're going to be using it again anyway...
I'm just posting it for the sake of having it said. Not trying to convince anyone; just telling it how it is.Look at the quest code for "Assassin" and "Bartolomeu". You're trying to convince the wrong person about the danger of creating new groups.
The game doesn't care in which file characters are defined.You can, yes. I've never been entirely sure whether "TempQuest.c" or "TempQuestEnemy.c" are even necessary.
string relation = LAI_GROUP_NEUTRAL;
if(CheckAttribute(Models[GetModelIndex(PChar.model)],"camouflage") && !ownDeckStarted()) // PB: Recode this to be a general mod
{ // PB: Used for Bartolomeu and Assassin storylines
if (GetLocationNation(location) != PERSONAL_NATION) relation = LAI_GROUP_ENEMY; // camouflagecloak makes you suspicious
if(Whr_IsNight() && !CheckCharacterItem(PChar,"cursedcoin")) // camouflage works only at night
{
grdlook = 5; // sight reduced if player camouflaged
grdhear = 1; // hearradius if player camouflaged
ptrlook = 5; // sight reduced if player camouflaged
ptrhear = 1; // hearradius if player camouflaged
mnslook = 5; // sight reduced if player camouflaged
mnshear = 1; // hearradius if player camouflaged
}
}
else
{
// resets relations to neutral upon locationloading, as originally intended for VC
// KK -->
if (GetLocationNation(location) != PERSONAL_NATION)
{
// PB: For Bartolomeu -->
if(CheckAttribute(location,"dangerous") && GetNationRelation2MainCharacter(GetLocationNation(location)) <= RELATION_ENEMY && rand(1) == 0) // KK
{
relation = LAI_GROUP_ENEMY;
}
else
{
relation = LAI_GROUP_NEUTRAL;
}
// PB: For Bartolomeu <--
}
else
relation = LAI_GROUP_FRIEND;
// <-- KK
}
// ccc sneakmod sets grouprelation, sight and hearradius according to new disguise
// for travellers, residents etc.
LAi_group_SetRelation(LAI_DEFAULT_GROUP, LAI_GROUP_PLAYER, relation);
LAi_group_SetLookRadius(LAI_DEFAULT_GROUP, mnslook);
LAi_group_SetHearRadius(LAI_DEFAULT_GROUP, mnshear);
// for all soldiers and citizens, based on NK RM mod, thanks :)
for(int j = 0; j < NATIONS_QUANTITY; j++)
{
LAi_group_SetRelation(LAI_GROUP_GUARDS, LAI_GROUP_PLAYER, relation); // KK
LAi_group_SetRelation(LAI_GROUP_PATROL, LAI_GROUP_PLAYER, relation); // KK
LAi_group_SetRelation(GetSoldiersGroup(j), LAI_GROUP_PLAYER, relation);
LAi_group_SetRelation(GetCitizensGroup(j), LAI_GROUP_PLAYER, relation);
LAi_group_SetLookRadius(GetSoldiersGroup(j), grdlook);
LAi_group_SetHearRadius(GetSoldiersGroup(j), grdhear);
LAi_group_SetLookRadius(LAI_GROUP_GUARDS, grdlook); // KK
LAi_group_SetHearRadius(LAI_GROUP_GUARDS, grdhear); // KK
LAi_group_SetLookRadius(LAI_GROUP_PATROL, ptrlook); // KK
LAi_group_SetHearRadius(LAI_GROUP_PATROL, ptrhear); // KK
}
// KK -->
if (GetLocationNation(location) != PERSONAL_NATION) {
LAi_group_SetRelation(LAI_GROUP_GUARDS, LAI_GROUP_MONSTERS, LAI_GROUP_NEUTRAL);
LAi_group_SetRelation(LAI_GROUP_PATROL, LAI_GROUP_MONSTERS, LAI_GROUP_NEUTRAL);
} else {
LAi_group_SetRelation(LAI_GROUP_GUARDS, LAI_GROUP_MONSTERS, LAI_GROUP_ENEMY);
LAi_group_SetRelation(LAI_GROUP_PATROL, LAI_GROUP_MONSTERS, LAI_GROUP_ENEMY);
LAi_group_FightGroupsEx(LAI_GROUP_GUARDS, LAI_GROUP_MONSTERS, true, -1, -1, false, false);
LAi_group_FightGroupsEx(LAI_GROUP_PATROL, LAI_GROUP_MONSTERS, true, -1, -1, false, false);
}
// <-- KK
If Donquixote Doflamingo starts by sitting, presumably on locator "sit1", then you'll have to make him stand up before he can fight. He also needs to be positioned to another locator because if he stands on "sit1", he'll be stuck in the chair, unable to move and fight. Here's how you could do that:The Enemys:
* Bellamy walks in front of Dutch Smuggler Home of Bonaire, and will attack me.
* Donquixote Doflamingo is sitting in Pirate Chief House of Bonaire
ChangeCharacterAddressGroup(characterfromID("Donquixote Doflamingo"), "Douwesen_Pirate_Residence", "goto", "goto1");
LAi_SetActorType(characterFromID("Donquixote Doflamingo"));
LAi_ActorAttack(characterfromID("Donquixote Doflamingo"), PChar, "");
PChar.quest.Donquixote_dead.win_condition.l1 = "NPC_Death";
PChar.quest.Donquixote_dead.win_condition.l1.character = "Donquixote Doflamingo";
PChar.quest.Donquixote_dead.win_condition = "Donquixote_dead";