• New Horizons on Maelstrom
    Maelstrom New Horizons


    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!

Black Pearl

I found out there is a problem with the Black Pearl crew as it seems that they are not skeletons.

First question;

were there LowCharacters on the pearl in the normal game?
Did anyone see skeletons walking on board the pearl when they spotted it near Falaise de Fleur in the normal game?
Hoping for an answer soon <img src="style_emoticons/<#EMO_DIR#>/keith.gif" style="vertical-align:middle" emoid=":keith" border="0" alt="keith.gif" />
 
<!--quoteo(post=214456:date=Sep 16 2007, 12:40 PM:name=Captain. Jack Sparrow)--><div class='quotetop'>QUOTE(Captain. Jack Sparrow @ Sep 16 2007, 12:40 PM) [snapback]214456[/snapback]</div><div class='quotemain'><!--quotec-->I found out there is a problem with the Black Pearl crew as it seems that they are not skeletons.

First question;

were there LowCharacters on the pearl in the normal game?
Did anyone see skeletons walking on board the pearl when they spotted it near Falaise de Fleur in the normal game?
Hoping for an answer soon <img src="style_emoticons/<#EMO_DIR#>/keith.gif" style="vertical-align:middle" emoid=":keith" border="0" alt="keith.gif" /><!--QuoteEnd--></div><!--QuoteEEnd-->

I haven't played normal game campaign much but i do have used that Black Pearl at start in normal game and at day there are just ordinary sailors seen and at night there are SKELETONS! <img src="style_emoticons/<#EMO_DIR#>/piratesing.gif" style="vertical-align:middle" emoid=":shock" border="0" alt="piratesing.gif" />
Seems like Build mods Black Pearl dont have skeletons enabled.

I would like to enable skeletons on my Black Pearl i want my skeletons to be seen at day too ..help? <img src="style_emoticons/<#EMO_DIR#>/bounce.gif" style="vertical-align:middle" emoid=":b:" border="0" alt="bounce.gif" />
 
Does the old Black Pearl model have skeletons? I can imagine the new Black Pearl doesn't, but I wonder why the old one wouldn't if it once did. <img src="style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />
 
if we knew the answer to guestions like that we'd be a whole lot further with the bugfixing. <img src="style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
Ok, then who was the first one to place LowCharacters on the boat when in First Person Sailing? And not only in Third Person Sailing?
He must have changed something considering the path and what was loaded when in First Person?
 
I got the following from KK Mod:
C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\buildinfo
[codebox]1. Boardable Black Pearl.
During the final battle near Khael Roa "Black Pearl" might be captured, but
only after use of artefact from the Temple. "Black Pearl" crewmembers will
get killed from cannon fire only after use that artefact, although without it
she will get damage and loose cannons. During boarding skeletons on "Black
Pearl" will die like normal cutthroats.

To enable this feature set REALISTIC_BLACKPEARL to 1 in BuildSettings.h.
Other switch, BARBOSSA_CAN_SURRENDER, is set to 0 by default. This means that
he, together with cursed pirates, will fight until last skeleton get killed.
Setting this to 1 will enable taking Barbossa as hostage to kill, ransom,
release him or hire as officer later. This setting allows also adding to the
crew some cursed pirates who survived boarding.

6. Improvements in CCC's boarding party.
I have added two new groups as boardingmodel: "soldier" and "boarder". With
a "soldier" setting boarders will be soldiers of nation whose flag Nathaniel is
currently using. Models for Nathaniel's flag can be set in NATHANIEL_BOARDER_1
to NATHANIEL_BOARDER_10 entries. BOARDER_INDEX decides if selection should be
made randomly (-1), sequential (0 for NATHANIEL_BOARDER_1 to
NATHANIEL_BOARDER_5 or 100 for NATHANIEL_BOARDER_6 to NATHANIEL_BOARDER_10),
or it should be clones of the one character (1-99). If any of
NATHANIEL_BOARDER_* is set to "", the stock default boarding character will be
loaded. Parameters NATHANIEL_BOARDER_* are names of *.gm files from
RESOURCE\models\characters directory with one additional letter at the end
informing if character is man (M), woman (W) or skeleton (S).[/codebox]


C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\PROGRAM\Loc_ai
[codebox]

// added by MAXIMUS [abordage mod] -->
if(newDeck==true || Locations[locIndex].id.label == "Boarding town")
{
if ((BOARDER_INDEX == 0) || (BOARDER_INDEX == 100))
boarder_num++;
switch(BOARDERMODEL)
{
case "skeleton": gmodel = SelectBoardingGroup("skel", 1, 4, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "corsair": gmodel = SelectBoardingGroup("corsair", 1, 5, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "marine": gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "masked": gmodel = SelectBoardingGroup("mask_", 2, 4, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "girl": gmodel = SelectBoardingGroup("towngirl", 1, 7, boarder_num, "woman"); model = ExtractBoarderModel(gmodel); break;
case "soldier": gmodel = SelectBoardingSoldiers(iNation, boarder_num); model = ExtractBoarderModel(gmodel); break;
case "boarder": gmodel = SelectBoardingSoldiers(NATHANIEL_NATION, boarder_num); model = ExtractBoarderModel(gmodel); break;
case "standard": model = LAi_GetBoardingModel(GetMainCharacter(), &ani); break;
}

// model = LAi_GetBoardingModel(GetMainCharacter(), &ani); //ccc original code
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, model, ani, "rld", "aloc" + i); //ccc original code
}
else
{
// added by MAXIMUS [abordage mod] <--
// KK -->
if ((BOARDER_INDEX == 0) || (BOARDER_INDEX == 100))
boarder_num++;
switch(BOARDERMODEL)
{
case "skeleton":
gmodel = SelectBoardingGroup("skel", 1, 4, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = "skeleton";
break;

case "corsair":
gmodel = SelectBoardingGroup("corsair", 1, 5, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "marine":
gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "masked":
gmodel = SelectBoardingGroup("mask_", 2, 4, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "girl":
gmodel = SelectBoardingGroup("towngirl", 1, 7, boarder_num, "woman");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "woman", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = "woman";
break;

case "soldier":
gmodel = SelectBoardingSoldiers(iNation, boarder_num);
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), ExtractBoarderAni(gmodel), "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = ExtractBoarderSex(gmodel);
break;

case "boarder":
gmodel = SelectBoardingSoldiers(NATHANIEL_NATION, boarder_num);
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), ExtractBoarderAni(gmodel), "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = ExtractBoarderSex(gmodel);
break;
// <-- KK[/codebox]


More files to look into:
C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\PROGRAM\Models\initModels.C

Maybe anyone can look into this? <img src="style_emoticons/<#EMO_DIR#>/dunno.gif" style="vertical-align:middle" emoid=":shrug" border="0" alt="dunno.gif" />
I am quite new to the code so..
 
ppl check out this movie

<a href="http://www.youtube.com/watch?v=Oi9wfVH_rps" target="_blank">http://www.youtube.com/watch?v=Oi9wfVH_rps</a>
 
<!--quoteo(post=214564:date=Sep 17 2007, 02:27 PM:name=Captain. Jack Sparrow)--><div class='quotetop'>QUOTE(Captain. Jack Sparrow @ Sep 17 2007, 02:27 PM) [snapback]214564[/snapback]</div><div class='quotemain'><!--quotec-->I got the following from KK Mod:
C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\buildinfo
[codebox]1. Boardable Black Pearl.
During the final battle near Khael Roa "Black Pearl" might be captured, but
only after use of artefact from the Temple. "Black Pearl" crewmembers will
get killed from cannon fire only after use that artefact, although without it
she will get damage and loose cannons. During boarding skeletons on "Black
Pearl" will die like normal cutthroats.

To enable this feature set REALISTIC_BLACKPEARL to 1 in BuildSettings.h.
Other switch, BARBOSSA_CAN_SURRENDER, is set to 0 by default. This means that
he, together with cursed pirates, will fight until last skeleton get killed.
Setting this to 1 will enable taking Barbossa as hostage to kill, ransom,
release him or hire as officer later. This setting allows also adding to the
crew some cursed pirates who survived boarding.

6. Improvements in CCC's boarding party.
I have added two new groups as boardingmodel: "soldier" and "boarder". With
a "soldier" setting boarders will be soldiers of nation whose flag Nathaniel is
currently using. Models for Nathaniel's flag can be set in NATHANIEL_BOARDER_1
to NATHANIEL_BOARDER_10 entries. BOARDER_INDEX decides if selection should be
made randomly (-1), sequential (0 for NATHANIEL_BOARDER_1 to
NATHANIEL_BOARDER_5 or 100 for NATHANIEL_BOARDER_6 to NATHANIEL_BOARDER_10),
or it should be clones of the one character (1-99). If any of
NATHANIEL_BOARDER_* is set to "", the stock default boarding character will be
loaded. Parameters NATHANIEL_BOARDER_* are names of *.gm files from
RESOURCE\models\characters directory with one additional letter at the end
informing if character is man (M), woman (W) or skeleton (S).[/codebox]


C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\PROGRAM\Loc_ai
[codebox]

// added by MAXIMUS [abordage mod] -->
if(newDeck==true || Locations[locIndex].id.label == "Boarding town")
{
if ((BOARDER_INDEX == 0) || (BOARDER_INDEX == 100))
boarder_num++;
switch(BOARDERMODEL)
{
case "skeleton": gmodel = SelectBoardingGroup("skel", 1, 4, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "corsair": gmodel = SelectBoardingGroup("corsair", 1, 5, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "marine": gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "masked": gmodel = SelectBoardingGroup("mask_", 2, 4, boarder_num, "man"); model = ExtractBoarderModel(gmodel); break;
case "girl": gmodel = SelectBoardingGroup("towngirl", 1, 7, boarder_num, "woman"); model = ExtractBoarderModel(gmodel); break;
case "soldier": gmodel = SelectBoardingSoldiers(iNation, boarder_num); model = ExtractBoarderModel(gmodel); break;
case "boarder": gmodel = SelectBoardingSoldiers(NATHANIEL_NATION, boarder_num); model = ExtractBoarderModel(gmodel); break;
case "standard": model = LAi_GetBoardingModel(GetMainCharacter(), &ani); break;
}

// model = LAi_GetBoardingModel(GetMainCharacter(), &ani); //ccc original code
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, model, ani, "rld", "aloc" + i); //ccc original code
}
else
{
// added by MAXIMUS [abordage mod] <--
// KK -->
if ((BOARDER_INDEX == 0) || (BOARDER_INDEX == 100))
boarder_num++;
switch(BOARDERMODEL)
{
case "skeleton":
gmodel = SelectBoardingGroup("skel", 1, 4, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = "skeleton";
break;

case "corsair":
gmodel = SelectBoardingGroup("corsair", 1, 5, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "marine":
gmodel = SelectBoardingGroup("rn_warnt18_", 1, 5, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "masked":
gmodel = SelectBoardingGroup("mask_", 2, 4, boarder_num, "man");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "man", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
break;

case "girl":
gmodel = SelectBoardingGroup("towngirl", 1, 7, boarder_num, "woman");
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), "woman", "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = "woman";
break;

case "soldier":
gmodel = SelectBoardingSoldiers(iNation, boarder_num);
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), ExtractBoarderAni(gmodel), "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = ExtractBoarderSex(gmodel);
break;

case "boarder":
gmodel = SelectBoardingSoldiers(NATHANIEL_NATION, boarder_num);
chr = LAi_CreateFantomCharacterEx(true, 0, true, true, 0.25, ExtractBoarderModel(gmodel), ExtractBoarderAni(gmodel), "rld", stringret(!swaplocs, chLocator, enLocator)); // NK on MC boarded, reverse locs. 05-04-22
chr.sex = ExtractBoarderSex(gmodel);
break;
// <-- KK[/codebox]


More files to look into:
C:\Program Files\Bethesda Softworks\Pirates of the Caribbean BUILD\PROGRAM\Models\initModels.C

Maybe anyone can look into this? <img src="style_emoticons/<#EMO_DIR#>/dunno.gif" style="vertical-align:middle" emoid=":shrug" border="0" alt="dunno.gif" />
I am quite new to the code so..<!--QuoteEnd--></div><!--QuoteEEnd-->


All that code you reference has to do with STANDARD character models (your boarding party uses the standard character models). I think what you are asking about is the low-poly models used on the ship walk function. These are two separate things (character model versus low-poly ship walk model). I'm not a 3d modeler, so that's about all I know.

kevin
 
KevinAtlanta is correct. The code you refer to has to do with the models seen during the boarding scenes. I am pretty sure that the sailors visisble in 1st person 3D sailing mode mod has nothing to do with the disappearance of the skeletons. I think that particular mod was only the removal of one line of code that would hide the sailors in 1st person 3D sailing mode. If anything I think that the skeletons were added through the game engine somehow and that the many modifications to the original game's Black Pearl (including copying her and using her as lineship) have something to do with the disappearance. Although it might also have to do with the character ID of the Pearl's captain: This was changed from "Big Boss" to "Barbossa". Perhaps the game's engine looked for the character ID and not the ship itself?
 
I only took out the code that was refering to skeleton models..

I got a picture of the blackpearl at night! <img src="style_emoticons/<#EMO_DIR#>/biggrin.gif" style="vertical-align:middle" emoid=":D" border="0" alt="biggrin.gif" />
There ARE skeleton low-poly models walking on deck!
<a href="http://imageshack.us" target="_blank"><img src="http://img257.imageshack.us/img257/4828/blackpearlskeletoncrewgy5.jpg" border="0" class="linked-image" /></a>


(Ever tried to replace the blackpearl model with the new one in the original game? And not in a build?)
 
<!--quoteo(post=214597:date=Sep 18 2007, 09:40 AM:name=Pieter Boelen)--><div class='quotetop'>QUOTE(Pieter Boelen @ Sep 18 2007, 09:40 AM) [snapback]214597[/snapback]</div><div class='quotemain'><!--quotec-->Although it might also have to do with the character ID of the Pearl's captain: This was changed from "Big Boss" to "Barbossa". Perhaps the game's engine looked for the character ID and not the ship itself?<!--QuoteEnd--></div><!--QuoteEEnd-->

Where is this option ..in witch file?
 
So I replaced the files of the original game in Models\Ships\BlackPearl with the files inside theblackpearl and overwrote any files.

Then I started the game and the crew worked <img src="style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
Here are some ingame pictures of day and night;

<img src="http://img530.imageshack.us/img530/4610/theblackpearlcreweh7.jpg" border="0" class="linked-image" />

<img src="http://img209.imageshack.us/img209/5168/theblackpearlskeletoncrts9.jpg" border="0" class="linked-image" />
 
Nice. Now we'll need to find out a way to put that back into our game.

The Big Boss is in PROGRAM\Characters\init\TempQuestCharacters.c. However, this character is not used in the game anymore. Instead Barbossa is used. Perhaps if we give Barbossa the Big Boss character ID, the skeletons will work again? That will require modifications to PROGRAM\QUESTS\quests_reaction.c.
 
This seems worth looking into. I have done a bit of mucking around with this and have found the following. It's not the Big Boss ID as I get skellys on deck with the ship in my possession if I copy theblackpearl into the stock black pearls files. Two its not the walkfile. As I replaced the info in the black pearls walkfile with that from our theblackpearl.

I even took a nice moonlit screenshot

<a href="http://img141.imageshack.us/my.php?image=skellycrewdj7.png" target="_blank"><img src="http://img141.imageshack.us/img141/9026/skellycrewdj7.th.png" border="0" class="linked-image" /></a>

I suspect its something to do with the name SHIP_BLACK_PEARL or simply BlackPearl (rather than theBlackPearl) authouh I can't find any evidence of a check in the code anywhere that dictates when skellys appear on the deck or not. In fact I can't even find where It calls Lo_Man for the basic ships.
 
I think the whole loMen and skeleton stuff is hardcoded somewhere. So putting the new theBlackPearl into the BlackPearl folder does work? Is that in Build 13 or the stock game? I recall even the old Black Pearl didn't have a skeleton crew anymore in the modpack.
 
That was the stuff from the build added to the stock game. There must be something we've stopped using that it looks for. I have a feeling it may be SHIP_BLACK_PEARL, as I have a feeling its just called BlackPearl now.
 
So if I understand correctly: BlackPearl in the stock game has skeletons. theBlackPearl renamed to BlackPearl in the stock game has skeletons. BlackPearl nor theBlackPearl in the Build have skeletons. So the question is then: What did we do to remove the skeletons? Could it have to do with the "Lineship" changes? I suppose we'll need to compare the stock game's BlackPearl entry with the Build's and see if we can get our skeletons back. I would really like to have them back. <img src="style_emoticons/<#EMO_DIR#>/icon_mrgreen1.gif" style="vertical-align:middle" emoid=":cheeky" border="0" alt="icon_mrgreen1.gif" />
 
Well I just did a quick compare (of the blackpearl entrys in ships_init.c between a stock file and the most recent build.)
Here is the section from a stock Ships_init.c
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//-------------------------------------------------------------------------
// BLACK_PEARL
//-------------------------------------------------------------------------
    makeref(refShip,ShipsTypes[SHIP_BLACK_PEARL]);
    refShip.Name            = "BlackPearl";
    refShip.Class            = 1;
    refShip.Cannon          = CANNON_TYPE_CANNON_LBS32;
    refShip.MaxCaliber      = 32;
    refShip.Weight            = Tonnes2CWT(2200);
    refShip.Capacity        = 3500;
    refShip.CannonsQuantity = 44;
    refShip.MaxCrew         = 600;
    refShip.MinCrew         = 150;
    refShip.SpeedRate       = 17.2;
    refShip.TurnRate        = 26;
    refShip.Price           = 50000;
    refShip.HP              = 100000;
    refShip.SP              = 100;
    refShip.EmblemedSails.normalTex = "ships\sail_BlackPearl.tga";
    refShip.AbordageLocation = "BOARDING_BATTLESHIP";

    refship.WaterLine = 0.0;
    refship.SpeedDependWeight = 0.3;
    refship.SubSeaDependWeight = 0.9;
    refship.TurnDependWeight = 0.8;

    refShip.CanEncounter    = false;

    refship.InertiaAccelerationX    = 3.0;    refship.InertiaBrakingX        = 2.0;
    refship.InertiaAccelerationY    = 14;    refship.InertiaBrakingY        = 5;
    refship.InertiaAccelerationZ    = 5.0;    refship.InertiaBrakingZ        = 3.0;

    refShip.Height.Bombs.Y            = 1.0;    refShip.Height.Bombs.DY        = 0.5;
    refShip.Height.Grapes.Y            = 2.0;    refShip.Height.Grapes.DY    = 1.0;
    refShip.Height.Knippels.Y        = 10.0;    refShip.Height.Knippels.DY    = 8.0;
    refShip.Height.Balls.Y            = 1.0;    refShip.Height.Balls.DY        = 0.5;<!--c2--></div><!--ec2-->

and here is a section from a build 14 alpha 7 plus Ships_init.c file.

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//-------------------------------------------------------------------------
// BLACK_PEARL
//-------------------------------------------------------------------------
    makeref(refShip,ShipsTypes[n]);
    n++;
    refShip.Name            = "BlackPearl";
    refShip.BigPicTex        = 1; // PS
    refShip.BigPicTexName    = "SHIPS1"; // PS
    refShip.id                = refShip.Name; // PSX
    refShip.unique = true; // PRS3 04-09-10
    refShip.Class            = 1;
    refShip.Cannon            = CANNON_TYPE_LONG_LBS32;
    refShip.MaxCaliber      = 32;
    refShip.Weight            = Tonnes2CWT(2200);
    refShip.Capacity        = 3500;
    refShip.CannonsQuantity = 40; // KNB fix cannon qty
    refShip.Cannons.Borts.cannonf.qty = 2;
    refShip.Cannons.Borts.cannonb.qty = 4;
    refShip.MaxCrew         = 600;
    refShip.MinCrew         = 120; // NK - 150
    refShip.SpeedRate       = 16.2;
    refShip.TurnRate        = 42;
    refShip.Price           = 300000; // NK - 250000
    refShip.HP              = 100000;
    refShip.SP              = 100;
    refShip.EmblemedSails.normalTex = "sail_BlackPearl.tga";
    refShip.EmblemedSails.nationFileName = "sail_BlackPearl.tga";
    refShip.Viper_SailsTypeType = 5;
    refShip.Viper_SailsTypeModel = 1;
    refShip.Viper_SailsTypeColour = 2;
    refShip.Viper_SailsTypeDesign = 0;
    refShip.AbordageLocation = "BOARDING_BATTLESHIP";
    refShip.CannonsDeck = 2; // KK
    refShip.CargoHold = 1; // KK
    refShip.Type.Trade = false;
    refShip.Type.War = true;
    refShip.WaterLine = 0.0;
    refShip.SpeedDependWeight = 0.3;
    refShip.SubSeaDependWeight = 0.9;
    refShip.CanEncounter    = false;
    refShip.InertiaAccelerationX    = 3.0;    refShip.InertiaBrakingX        = 2.0;
    refShip.InertiaAccelerationY    = 14;    refShip.InertiaBrakingY        = 5;
    refShip.InertiaAccelerationZ    = 5.0;    refShip.InertiaBrakingZ        = 3.0;<!--c2--></div><!--ec2-->
I stripped out all the completely comment lines so things matched up better. (they didn't in the end but my theory was sound)

From what I can see that only non stat based difference is that in stock the id was set as part of makeref(refShip,ShipsTypes[x]); Which would make the stock black pearl ID SHIP_BLACK_PEARL whereas in the build it is defined using refShip.id. This makes the build black pearl BlackPearl.

This is what I feel to be the most obvious cause. I'll try adding a ship with that ID and see what happens (if only I could figure out how to add ships to the build.)
Another possibility for a test is to swap the IDs of a stock ship with the black pearl and see if it suddenly acquires skellys but it wont get us to the root of the problem.
 
Good one! That is very likely to be the cause. Now we just need to figure out how to counter it. <img src="style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />
 
Hmm this is puzzling. I just did more tests on stock.
I: Changed the black pearl's walk file with that of the Manowar
Changed the black pearl's name to BarbossaShip
Changed the black pearl's ID to SHIP_BARBOSSA_SHIP
Removed the black Pearl sails
Created a completely new ship with a different ID, Name and walkfile

None of this eliminated the Cursed Pirates on the Deck.

Then I swapped the ship.h numbers of the SHIP_FRIGATE_SAT and SHIP_BLACK_PEARL

Bingo. Started the game with the black pearl and went out at night. Normal men on deck.

Then I started the game again with the Satanist Frigate (Black Frigate Mefestio) as my starting ship. Well I think you can guess what happened but here is an image.
<a href="http://img516.imageshack.us/my.php?image=mefestioskellycrewix0.png" target="_blank"><img src="http://img516.imageshack.us/img516/2349/mefestioskellycrewix0.th.png" border="0" class="linked-image" /></a>
Looks like what we heard about that frigate from the woman on dowesen was correct!
When I created my clone of the black pearl with the different stats guess which ship.h number I chose to use. 164 the number of the black pearl.

It appears that the number 164 is somehow tied to the skelly pirates. A blanket search for 164 might turn something up but I suspect that this is hard coded.

Unfortunately we don't use the ship.h number system any more, we have some kind of automated function. I wonder who wrote the ship.h function. Cos I think to restore our cursed crew we need to override this function and give the pearl 164.

This will be my last post for a while as I am getting a new computer today. After I got my build installation shipshape as well.
 
Back
Top