• 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!

CCC, please read, boarding/crew mod

CatalinaThePirate

Unholy Terror,
Storm Modder
CouchCaptainCharles... It has been brought up that we would like to have your boarding/crew mod in the new Build...

<a href="http://forum.piratesahoy.net/ftopic3012.php" target="_blank">http://forum.piratesahoy.net/ftopic3012.php</a>

As it is your idea and your code - and even tho you posted it publicly, naturally we'd like to ask your permission to add this. I think it would work well as a switchable mod through BuildSettings.h - and there is considerable interest in this...

And while I have ya readin' this, does this, as I surmise, allow one to have a customized crew? If one can have a group of uniformed soldiers as your crew, you should be able to designate a group of pirates or skellies or townspeople or ordinary seamen with a recognizable sign somewhere on their person so you can immediately see who is your crew and who is the enemy? Right?

Let me know what you think! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" />

THANKS!!! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
Thanks a lot for asking, Cat <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
Sorry for my late reply, but at the moment I can hardly spare any time for PotC. That also means that I can not take part in any modpublication project.
But feel free to use anything that I have published if it is of any use for you. I explicitly consider all my work public property for the WHOLE community, and I am always happy if someone takes my mods, posts or tutorials and develops them into his own mods. Never mind the credits as long as the game gets more interesting.
So i'd be honoured if you develop that "boardingpositon & model" idea further.

For convenience's sake the original post about that again:
<!--quoteo--><div class='quotetop'>QUOTE</div><div class='quotemain'><!--quotec-->Now that's a coincidence! Just this very day have I changed the "load boarding" procedure a little, for two reasons:

1. It's sometimes difficult to distinguish your sailors from pirates

2. I personally don't like it that the bordingscene jumpstarts with you and your men spread evenly over two ships, each one locked in exactly one duel with exactly one enemy. It would IMHO be more realistic if each crew starts on their own ship and starts to attack as one more or less closed swarm.

Well, both things can be changed easily. Open the file

programLoc_AILAI_boarding  

and find this section:

model = LAi_GetBoardingModel(GetMainCharacter(), &ani);  
chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, model, ani, "rld", "loc" + i);  

Replace it with this

//model = LAi_GetBoardingModel(GetMainCharacter(), &ani); //ccc original code
//chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, model, ani, "rld", "loc" + i); //ccc original code
chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, "soldier_eng", "man", "rld", "loc" + 1); //ccc new model and position of own crw

"soldier_eng" will turn your crew into English soldiers. You can of course use also  "soldier_fra" or any other charactermodel.
"loc" + 1 positions your men in one compact group at your side.

Then find this line a little bit below

chr = LAi_CreateFantomCharacterEx(boarding_erank -mchr_rank, true, true, 0.25, model, ani, "rld", "aloc" + i);

and replace it with this

//chr = LAi_CreateFantomCharacterEx(boarding_erank -mchr_rank, true, true, 0.25, model, ani, "rld", "aloc" + i); //ccc original code
chr = LAi_CreateFantomCharacterEx(boarding_erank -mchr_rank, true, true, 0.25, model, ani, "rld", "aloc" + 2); //ccc pos of enemy

"aloc" + 2 positions the enemycrew in one compact swarm on the opposite ship, and the two swarms attack each other in a nice melee. Apart from looking much more realistic this allows you to apply some battle tactics like attacking the enemy"formation" from the rear or blocking the attack at the "gangway" plank.<!--QuoteEnd--></div><!--QuoteEEnd-->

Yes, you can use any model you want for your boarders, even Danielles or skeletons, by replacing the "soldier_eng" in the last line of this:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//model = LAi_GetBoardingModel(GetMainCharacter(), &ani);    //ccc original code

//chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, model, ani, "rld", "loc" + i);    //ccc original code

chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, "soldier_eng", "man", "rld", "loc" + 1);    //ccc new model and position of own crw<!--c2--></div><!--ec2-->

For variation: if you have modelnames with numbers at the end you can easily select a random variety like this:

<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, "pirat" + (1 + rand(9)), "man", "rld", "loc" + 1);<!--c2--></div><!--ec2-->

or
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, "towngirl" + (1 + rand(6)), "woman", "rld", "loc" + 1);    // WOMENS LIB !!<!--c2--></div><!--ec2-->


To make this tweakable, so that any player can use his favourite model, insert a variablename instead:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->chr = LAi_CreateFantomCharacterEx(0, true, true, 0.25, BOARDER, "man", "rld", "loc" + 1);<!--c2--></div><!--ec2-->

and insert the define for BOARDER into buildsettings.h:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->#define BOARDER    "Will" // replace with any modelname from resource/models/characters, but caution, some don't have the right animation!<!--c2--></div><!--ec2-->

HTH <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
 
<!--`QuoteBegin-CouchcaptainCharles`+--><div class='quotetop'>QUOTE(CouchcaptainCharles)</div><div class='quotemain'><!--QuoteEBegin-->... feel free to use anything that I have published if it is of any use for you. I explicitly consider all my work public property for the WHOLE community, and I am always happy if someone takes my mods, posts or tutorials and develops them into his own mods. Never mind the credits as long as the game gets more interesting.[/quote]Thankee thar, CouchcaptainCharles! Yer generosity be a fine example fer dis ol' shrimper! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" />
 
Doubtless I'll be including this in the Build 12 release. I've have numerous problems with the way boarding is done to date, from an historical perspective. Props, to ye, CouchCaptainCharles. Ye'll get full credit, I'll be bound! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
Thank you SO MUCH, CCC! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/bow.gif" style="vertical-align:middle" emoid=":bow" border="0" alt="bow.gif" />

Looking forward to getting this running in the game - heh... And customizing my crew:

<img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/sailr.gif" style="vertical-align:middle" emoid=":sail" border="0" alt="sailr.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/guns.gif" style="vertical-align:middle" emoid=":2guns" border="0" alt="guns.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/urgh.gif" style="vertical-align:middle" emoid=":urgh" border="0" alt="urgh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/pirate3.gif" style="vertical-align:middle" emoid=":p2" border="0" alt="pirate3.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/pirate2.gif" style="vertical-align:middle" emoid=":p:" border="0" alt="pirate2.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/whippa.gif" style="vertical-align:middle" emoid=":whipa" border="0" alt="whippa.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/duel_pa.gif" style="vertical-align:middle" emoid=":ixi" border="0" alt="duel_pa.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/mad.gif" style="vertical-align:middle" emoid=":c" border="0" alt="mad.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/buds.gif" style="vertical-align:middle" emoid=":drunk" border="0" alt="buds.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/dunno.gif" style="vertical-align:middle" emoid=":shrug" border="0" alt="dunno.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/ko.gif" style="vertical-align:middle" emoid=":ko" border="0" alt="ko.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/pirate_plain.gif" style="vertical-align:middle" emoid=":p3" border="0" alt="pirate_plain.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/diomed.gif" style="vertical-align:middle" emoid=":dio" border="0" alt="diomed.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/keith.gif" style="vertical-align:middle" emoid=":keith" border="0" alt="keith.gif" />
 
hey cat, re. your post in the other thread:

i can definitely put this in for you. ccc has given various possibilities about which boarding model to use - which one do you want implemented? random models (as now), or some particular model? (all towngirls vs all danielles? <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> all the women hate danielle...)

ooh or even better, i can make it optable in buildsettings.h...
 
<!--`QuoteBegin-Kieron`+--><div class='quotetop'>QUOTE(Kieron)</div><div class='quotemain'><!--QuoteEBegin--> i can make it optable in buildsettings.h...[/quote]Oh most definitely optable. I think we can all choose whatever models we wish to use as crew - some will want soldiers, some will want marines, some will want an army of Danielles (hee hee!), some will want skellies... I love this because it IS so easily customized!!!
 
First, good stuff CCC! That should help immersion a good deal.

But second, I highly recommend that, instead of editing `own-crew` models _there_, you edit them in nations_init.c and leave model = LAi_GetBoardingModel(GetMainCharacter(), &ani); uncommented.

This way you can define as many `own-crew` models as you like, and even have separate models for separate situations (since it's set up that you can if you like use different models on a `per-nation` basis, i.e. model1 if enemy nation is pirate, model2 if not).

And it'll all refresh on reinit, too.

The relevant section is:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->//Player boarding command

    for(int i = 0; i < MAX_NATIONS; i++)

    {

 makeref(rNation,Nations);

//NK -->

 rNation.boardingModel.player.m0 = "black_corsair";

 rNation.boardingModel.player.m0.ani = "man";

 rNation.boardingModel.player.m1 = "sailor1";

 rNation.boardingModel.player.m1.ani = "man";

 rNation.boardingModel.player.m2 = "sailor2";

 rNation.boardingModel.player.m2.ani = "man";

 rNation.boardingModel.player.m3 = "sailor3";

 rNation.boardingModel.player.m3.ani = "man";

 rNation.boardingModel.player.m4 = "sailor4";

 rNation.boardingModel.player.m4.ani = "man";

 rNation.boardingModel.player.m5 = "sailor5";

 rNation.boardingModel.player.m5.ani = "man";

 rNation.boardingModel.player.m6 = "sailor6";

 rNation.boardingModel.player.m6.ani = "man";

 rNation.boardingModel.player.m7 = "bocman4";

 rNation.boardingModel.player.m7.ani = "man";

 rNation.boardingModel.player.m8 = "chameleon";

 rNation.boardingModel.player.m8.ani = "man";

//NK <--<!--c2--></div><!--ec2-->
As you can see right now it's a for loop to set the same model list to every nation, but you can just as easily set them explicitly for each nation differently.

If you look above there in the file you see the same structure is used for all the nations for _their_ models too.
it's Nation[idx].boardingmodel.(side).mX = modelname;
ditto.mX.ani = anim
where (side) is either enemy or player.
So England would have
Nation[idx].boardingmodel.enemy.mX = Soldier_ENG
and
Nation[idx].boardingmodel.player.mX = player_model_vs_england.

Right now as I mentioned above it sets the _same_ playermodel.* entries for all nations.
 
Yes, Nathan! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" /> That's more like what I was thinking! I like it!!! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
how would we decide whether to use 'normal' or 'nation' models? i suppose it could check the relation to the player of the nation whose flag he's flying, and if it's less than 0 use 'normal,' and if it's more than 0 use 'nation'?

(does that make sense?)
 
Cat: that's actually stock POTC. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />
Kieron: Um, I'm not sure what you mean. In that you're always using a nation model, because the boarding model selection set is based on the nation of the character whose ship you are boarding (.enemy.* for him and .player.* for you). It's just that, stock, .player.* is always the same.
 
yes but you don't want the player's men to be dressed as the soldiers of your nation if you're not a naval ship <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/happy.gif" style="vertical-align:middle" emoid="^_^" border="0" alt="happy.gif" />
 
As usual has Nathan found a more sophisticated version of my minimalistic tweak <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/icon_praise.gif" style="vertical-align:middle" emoid=":bow" border="0" alt="icon_praise.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />

Overwriting nations_init would surely allow for more variants.


<!--`QuoteBegin-Kieron`+--><div class='quotetop'>QUOTE(Kieron)</div><div class='quotemain'><!--QuoteEBegin-->yes but you don't want the player's men to be dressed as the soldiers of your nation if you're not a naval ship <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/happy.gif" style="vertical-align:middle" emoid="^_^" border="0" alt="happy.gif" />[/quote]

Kieron, FAIK the game uses the models from that " //Player boarding command " section for the players crew in every case. So if you just overwrite those eight with your own modelselection or variables there is no danger that you will get soldiermodels for your crew.
 
I knew that was stock, Nathan... I meant being able to define a group and use the group as your boarding party - switchable to other groups, say, if you were a privateer but started up a military career, or vice versa, you were military, but now decide to go PIRATE... You could have a group of skellies as your crew, too... Heh, now THERE's a way to tell your crew from the crew of the ship you board! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" />
 
Except that your "minimalist" tweak is vastly more powerful. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/icon_praise.gif" style="vertical-align:middle" emoid=":bow" border="0" alt="icon_praise.gif" /> backatcha. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/icon_wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="icon_wink.gif" />
Since you can then parametrically generate the models, rather than just pulling from a stock list.
 
Don't you mean <i>"pirate</i>-metrically", Nathan? <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/tongue.gif" style="vertical-align:middle" emoid=":blah:" border="0" alt="tongue.gif" />
 
Spam alert:
Can't resist, or even <i>`parrot-metrically`</i>. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" />

Spam mode off:
 
<img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/mybad.gif" style="vertical-align:middle" emoid=":facepalm" border="0" alt="mybad.gif" /> My bad... <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/keith.gif" style="vertical-align:middle" emoid=":keith" border="0" alt="keith.gif" /> YOU bad! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/rolleyes.gif" style="vertical-align:middle" emoid=":rolleyes:" border="0" alt="rolleyes.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/bow.gif" style="vertical-align:middle" emoid=":bow" border="0" alt="bow.gif" />
 
We all Bad <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/laugh.gif" style="vertical-align:middle" emoid="xD:" border="0" alt="laugh.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
Heh... Yes, we are... <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/icon_mrgreen1.gif" style="vertical-align:middle" emoid=":cheeky" border="0" alt="icon_mrgreen1.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" /> <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/par-ty.gif" style="vertical-align:middle" emoid=":cheers" border="0" alt="par-ty.gif" />
 
Back
Top