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 -
Which one do you mean? The only one that 'clears' all sorts of attributes on characters being reused that I can find is LAi_CreateFantomCharacterExOt .@Pieter Boelen where is the function again which resets all fantoms etc?
I think I've found a problem with this function .
Hmmm must have overlooked it ...Which one do you mean? The only one that 'clears' all sorts of attributes on characters being reused that I can find is LAi_CreateFantomCharacterExOt .
We were considering changing that to use ClearCharacter, but decided against that for now.
Or are you looking for something else?
if (HasSubStr(chr.id, "Enc_Officer_") && !bAllies(chr)) ClearCharacter(chr);
bool bAllies(ref refCharacter)
{
if(!CheckAttribute(refCharacter,"index")) return false;
if(sti(refCharacter.index)==-1) return false;
if(IsMainCharacter(refCharacter)) return true;
if(IsCompanion(refCharacter)) return true;
if(IsOfficer(refCharacter)) return true;
if(IsOfficerCompanion(refCharacter)) return true;
if(IsPassenger(refCharacter)) return true;
if(IsOnShoreLeave(refCharacter)) return true;
if(IsOfficerOnShoreLeave(refCharacter)) return true;
if(CheckAttribute(refCharacter, "StoredFellow")) return true; // PB: Prevent these characters being overwritten
return false;
}
As much as I like good new stuff, I myself have been deliberately holding off on doing NEW stuff for many, many months now because there is still too much unfinished/broken crap.First post update again. mostly questwork because I didn't want to do bugfixing for a change.
I will go back to bugfixing very soon .
It's just a small quest which I did need because of the fetchquest not showing up enough. And I need another place to sell ayahuasca when aruba is disabled.As much as I like good new stuff, I myself have been deliberately holding off on doing NEW stuff for many, many months now because there is still too much unfinished/broken crap.
But I know what you mean with "not wanting to do bugfixing for a change". I've been having the same for, well.... many, many months now!
if(skillval == 10 || xi_refCharacter.skill.(curSkill) == 0)
Fair enough.
By the way, what does this do?
Code:if(skillval == 10 || xi_refCharacter.skill.(curSkill) == 0)
GetCharacterSkill(attack,"fencing")
GetCharacterSkill(attack, SKILL_FENCING)
yeah at one point we just need to have a global replace of those thingsAnd this:
May be even better as:Code:GetCharacterSkill(attack,"fencing")
For some reason, those #defines aren't always consistently used, which is ANNOYING!Code:GetCharacterSkill(attack, SKILL_FENCING)
string boardermodel_val = "";
if (CheckAttribute(PChar, "Boarder.Model"))
{
boardermodel_val = PChar.Boarder.Model;
}
else
{
boardermodel_val = BOARDERMODEL;
}
string gmodel = "";
if (boardermodel_val == "") // KK
{
model = LAi_GetBoardingModel(PChar, &ani); //ccc original code // KK
}
else
{
//Levis TODO: Move this to seperate function
switch(boardermodel_val)
{
case "skeleton": gmodel = SelectBoardingGroup("skel", 1, 4, 1, "man"); model = ExtractBoarderModel(gmodel); break;
case "corsair": gmodel = SelectBoardingGroup("corsair", 1, 5, 1, "man"); model = ExtractBoarderModel(gmodel); break;
case "marine": gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, 1, "man"); model = ExtractBoarderModel(gmodel); break;
case "masked": gmodel = SelectBoardingGroup("mask_", 2, 4, 1, "man"); model = ExtractBoarderModel(gmodel); break;
case "girl": gmodel = SelectBoardingGroup("towngirl", 1, 7, 1, "woman"); model = ExtractBoarderModel(gmodel); break;
case "soldier": gmodel = SelectBoardingSoldiers(sti(PChar.nation), 1); model = ExtractBoarderModel(gmodel); break;
case "boarder": gmodel = SelectBoardingBoarders(1); model = ExtractBoarderModel(gmodel); break;
case "standard": model = LAi_GetBoardingModel(PChar, &ani); break;
}
}
Yes its necessary, read the spoiler in the first post to know why. This only happens if you make the "bad" choises@Levis, is that necessary? It is still nice to have for variety's sake, no?Code:DeleteAttribute(&Stores[GREENFORD_STORE],"apothecary"); //Remove from array so fetch quest won't pick it anymore
They aren't doing anything they haven't done during that time period .... We want historical accuracy right ?One question we may have to consider: Is the Church not being excessively nasty here?
I could imagine some people to consider at least some events there to be a bit controversial....