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

Few minor modifications/additions/`bug-fixes` for PotC

One other thing--looks like Scheffnow's DialogMerge util was used on a number of files (the citizen files are the ones I've seen having this so far). I'd suggest not committing that part (while still comitting the _new_ stuff) to ease in translation and keep things as unchanged from stock as possible (i.e. only change the lines we mean to change, and leave the DLG_Text[] references where we've not added new, and if correcting existing text do the correction in the DLG_Text[] in the H file). In, say, Le Moigne's file that's exactly what you've done, so I'm guessing this was just something introduced at some point not on purpose. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />
 
Pieter: I dunno how I'd make the leeches `four-use`, unless some pistol code can be adapted for items. *shrug* I also have no price set for them, but you can if you'd like... the advantage to the leeches, as I see it, is they're free IF you first find a "stupid cormorant" in a chest and talk to Steven about buying meds, he'll "notice" it in your inventory and offer a trade. A much better deal than selling the dear, stupid bird for 19 pirate dollars.

NK: Most of the merged dialogs, especially if they're citizens, were my doing... I've always found it nearly impossible to just add dialog in the `two-file` system. I could try to `re-seperate`, but I probably couldn't get it done before the end of the month.
 
Nah, I can do that today with winmerge, no worries. I just wanted to make sure that I wasn't screwing something up you'd carefully done. <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" />

Regarding leeches: you could just add it as three items with the same picture and add a hack to the potion use formula to if item = leeches3 then remove it and add leeches2, then 2->1. If item is leeches1 then it gets removed normally.
 
URGH... That cormorant should really be an ALBATROSS... Or the picture should be changed to have it look like a cormorant. But I think the idea here is to echo the Rime of the Ancient Mariner - who killed an albatross and had to wear it (dead) around his neck because it caused all sorts of bad luck to the ship after he killed it.
 
<!--`QuoteBegin-NathanKell`+--><div class='quotetop'>QUOTE(NathanKell)</div><div class='quotemain'><!--QuoteEBegin-->I'm going through and committing things that I'm 99% sure are stable; we can always delete 'em later.[/quote]I'm currently still working on getting all bugs I can find ironed out. Later today, I will update the modpack again, supposedly with een less bugs. The disarming mod will probably not work 100% properly yet, but if you turn it off by default, `no-one` should have troubles with it. I believe the rest of the additions should work fine enough... <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
Say: What if I rename the cormorant to Albatross?
BTW: The cormorant couldn't be sold, could it?

Funny that we just learned about The Rime of the Ancient Mariner a few weeks ago at school. <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" />
 
Does anyone have any idea where the code for the abilities/perks can be found? I want to find the code for the "rush" ability, but seem to have a hard time finding it. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/ohmy.gif" style="vertical-align:middle" emoid=":eek:" border="0" alt="ohmy.gif" />
This because, supposedle, when using the rush ability, you cannot block. I want the same for the 'fistfighting' mod. It's really `crappy-lloking` and at least being unable to block would already be a huge improvement...
 
I'm trying to improve the fistfighting code. This is what I currently have:<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    if( CheckAttribute(weapon, "fist" ) && enemy.chr_ai.group != LAI_GROUP_PLAYER )

    // PB: New weapons attribute, exclusively for your fists

    {

 int rank = makeint(attack.rank)

 int punch = rand (rank) + rank;

 // Calculates the strength of your punch; character's rank increases damage



 LAi_ApplyCharacterDamage(enemy, punch);

 // Applies damage to enemy



 LAi_CheckKillCharacter(enemy);

 // Checks if this has killed the character



 if(rand(100)< punch +10) // ccc added +10

 // Checks if punch knocks enemy out; character's rank increases chance

 {

     LAi_SetPoorTypeNoGroup(enemy);   // makes initial target collapse or cover

     enemy.stuntime = locTmpTime;   // stores the time of this, for reawakening

     enemy.stuntime.dialog.filename = enemy.dialog.filename;   // saves original dialog

     enemy.dialog.filename = "stunned_dialog.c";   // assigns "stunned" dialog during stuntime

     if(enemy.sex == "man") {PlaySound("OBJECTSVoicesdeadmaledead1.wav")}   // groan

     else{PlaySound("OBJECTSVoicesdeadfemaledead_wom2.wav")}

     Log_SetStringToLog("WHACK! You knocked out your opponent!");



     float u, v, w;      // coordinates for effects

     GetCharacterPos(enemy, &u, &v, &w);    // determines position of initial target

     CreateParticleSystem("stars" , u, v+1, w, 0.0, 0.0, 0.0, sti(20) );

     // displays the "stars" particle effect on the victim

 }

 else

 {

            LAi_group_Attack(attack, enemy);    // makes victim and associates attack you

 }

    }<!--c2--></div><!--ec2-->This seems to work quite fine. It does damage to the enemy between your rank and twice your rank. It also has the ability to knock your opponent out. I even managed to get rid of the applying damage twice problem by adding<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    if(!CheckAttribute(weapon, "fist" ) )    // PB: Fists will only do damage once with one hit

    {LAi_ApplyCharacterAttackDamage(attack, enemy, attackDmg, hitDmg);}<!--c2--></div><!--ec2-->However: I would like it if the knocking out code wouldn't run if you just killed your enemy, but I don't know how to say "if(enemy isn't dead)" in code. I tried "if(!LAi_CheckKillCharacter(enemy))", but that just caused the game to run quite slowly, while not doing what it's supposed to at all. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/ohmy.gif" style="vertical-align:middle" emoid=":eek:" border="0" alt="ohmy.gif" />
 
BTW: For some reason, I am receiving error messages for the towntable.c file in lines 50 and 64. The game does run though... <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/unsure.gif" style="vertical-align:middle" emoid=":?" border="0" alt="unsure.gif" />
 
I made a new version of the Post Build 12 mods available. There are several bugfixes and improvement to existing features (especially the disarming and fistfighting, but also some others; CCC's edits for the firedrill have been implemented and at the request of NK, the cheats handling has been changed a little bit so you don't need to start a new game when wanting to use cheats). File available from <a href="http://millenniumdock.bravepages.com/storage/others/potcmods.htm" target="_blank">here</a> like usual. Hope this works better than the last version. And I hope to be able to get rid of all left bugs within the next week.
 
Renaming the cormorant is a good idea; I actually did it in some files I have yet to contribute (the animist fix) because they're not ready yet.

Pieter, you should really change your personal title from "`Modder-to`-be" to "Another modding addict" <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#>/yes.gif" style="vertical-align:middle" emoid=":yes" border="0" alt="yes.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" /> You are doing a wonderful job! Thank you again for all your hard work! <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" />
 
Pieter, you ought to have access to the CVS, since you're basically doing that work anyway. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/wink.gif" style="vertical-align:middle" emoid=";)" border="0" alt="wink.gif" />

Meantime, I (and those on dialup too I don't doubt) would be much obliged if you'd upload a separate package of just program*.*, resourceini*.*, and resourcequeststext, so we can update via a 2mb file rather than 26mb (that is if none of the art changes).

Also, I think I found the reason for the problems in portraits, there's a number of ? in the face_nnn entries.
 
In terms of no block, you want to look at the function void LAi_ApplyCharacterBladeDamage() in LAi_FightParams.c

Specifically, this section deals with rush.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->    if(IsCharacterPerkOn(enemy, "Rush"))

    {

 pBreak = pBreak + 0.9;

    }<!--c2--></div><!--ec2-->

But what you want to do is somewhat below:
find
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->if(isBlocked)

    {

    //Âåðîÿòíîñòü ïðîáèâêè<!--c2--></div><!--ec2-->
Change to:
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->isBlocked = isBlocked && CheckAttribute(enemy.equip.blade) && enemy.equip.blade != "bladex4";

if(isBlocked)

    {

    //Âåðîÿòíîñòü ïðîáèâêè<!--c2--></div><!--ec2-->
(bladex4 is your fists, right?)

This will also not allow people with no equipped blade to block.

******************

Although reading again above I see what you mean is to disallow the _animation_, not the effect? If that's the case, I don't think it can be done--IIRC when rushing you can still _physically_ block, it just doesn't do any good.
 
What you want rather than CheckKill is the function
LAi_IsDead(aref chr), which returns true if that char is dead. CheckKill is a `heavy-duty` function run to _handle_ the dying of a character, not when you just want to know whether the ticker's still ticking.

But this is an edit to, or copy of, ApplyBladeDamage, right?
And so you _do_ need the CheckKill function because that's what actually does the killing, rather than the `damage-applying`.
But CheckKill doesn't return a value, as you found, so you can't use it in an if; so what you need is the following.
(Assuming you want the Attack() function to be if they're still alive and not knocked out, rather than if they are not alive...otherwise put the else {block} out of the if{} statement and remove the else)
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->if( CheckAttribute(weapon, "fist" ) && enemy.chr_ai.group != LAI_GROUP_PLAYER )

// PB: New weapons attribute, exclusively for your fists

{

    int rank = makeint(attack.rank)

    int punch = rand (rank) + rank;

    // Calculates the strength of your punch; character's rank increases damage



    LAi_ApplyCharacterDamage(enemy, punch);

    // Applies damage to enemy



    LAi_CheckKillCharacter(enemy); // Checks if this has killed the character



    if(!LAi_IsDead(enemy)) //checks if char now dead or not

    {

 if(rand(100)< punch +10) // ccc added +10

 // Checks if punch knocks enemy out; character's rank increases chance

 {

     LAi_SetPoorTypeNoGroup(enemy);  // makes initial target collapse or cover

     enemy.stuntime = locTmpTime;  // stores the time of this, for reawakening

     enemy.stuntime.dialog.filename = enemy.dialog.filename;  // saves original dialog

     enemy.dialog.filename = "stunned_dialog.c";  // assigns "stunned" dialog during stuntime

     if(enemy.sex == "man") {PlaySound("OBJECTSVoicesdeadmaledead1.wav")}  // groan

     else{PlaySound("OBJECTSVoicesdeadfemaledead_wom2.wav")}

     Log_SetStringToLog("WHACK! You knocked out your opponent!");



     float u, v, w;    // coordinates for effects

     GetCharacterPos(enemy, &u, &v, &w);  // determines position of initial target

     CreateParticleSystem("stars" , u, v+1, w, 0.0, 0.0, 0.0, sti(20) );

     // displays the "stars" particle effect on the victim

 }

 else

 {

     LAi_group_Attack(attack, enemy);  // makes victim and associates attack you

 }

    }

}<!--c2--></div><!--ec2-->
 
If I may suggest something about this thread, however...
And that is that we split off the talk about specific mods into mod specific threads, and leave this thread just for talking about the pack as a whole.
 
"I am receiving error messages for the towntable.c file in lines 50 and 64"

What's the error? no rAP data? Probably means it's looking for a town before the town table has been initialized.
 
<!--`QuoteBegin-CatalinaThePirate`+--><div class='quotetop'>QUOTE(CatalinaThePirate)</div><div class='quotemain'><!--QuoteEBegin-->Pieter, you should really change your personal title from "`Modder-to`-be" to "Another modding addict"  xD:  :yes <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" />  You are doing a wonderful job!  Thank you again for all your hard work!   <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/onya.gif" style="vertical-align:middle" emoid=":onya" border="0" alt="onya.gif" />[/quote]

Darn tootin' right! <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" />
---
And in re Albatross, that reminds me of an idea I'd like to bring up: The Great Typo Hunt, or more fully, improving text.
At points in the past we've done some text updates, fixing translation errors &c (Cat and Kieron and Sailor Al are the heroes of this IIRC)...
But in re the Albatross and the brothel (as IIRC Alan Smithee brings up), it's probably past time to do another grand round of it.

And this is also a wonderful opportunity for "modding newbies" to get involved: it's pretty much No Experience Necessary; just read through the text in the game, and every time you find a problem, rewrite it.

Lord knows we've a great bunch of writers here...

And it's also past time to get the writing out of the *.c files and into the *.h files, for translation ease.
 
Who's `Jean-Leon` Voltaire? The char (in Douwesen.c inits) points to an undefined location and `non-existant` dialog... (and a model called "test")
 
The following files are unneeded because the ANI files for the various heads reference the original AN files (as they should), and these are just copies of them.
They total 10.3MB, so it's a considerable savings.
<!--c1--><div class='codetop'>CODE</div><div class='codemain'><!--ec1-->h_50grey1.an

h_apothecary.an

h_beatrice.an

h_blacksmith1.an

h_blacksmith2.an

h_blacksmith4.an

h_blacksmith5.an

h_blacksmith6.an

h_blacksmith7.an

h_capnhook.an

h_girlpatch.an

h_gypsycaptain.an

h_ladyinred.an

h_wurmwoode.an<!--c2--></div><!--ec2-->

<b>Note to modders: You do _not_ need to make a copy of h_original_model.<i>AN</i>, only the *.<i>ANI</i>.</b>
When you make that copy of the ANI, it will still point to the original AN, and all will be well.

{If and when we can change and add head animations, /then/ we'll be messing with these files}
 
And before I go any farther, I'd like to clear something up. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />

Pieter: _none_ of this is any comment upon your work; in fact I find the compiling--and modding!--work you've been and are doing excellent.
This goes for everyone else as well. <img src="http://www.piratesahoy.com/forum/style_emoticons/<#EMO_DIR#>/smile.gif" style="vertical-align:middle" emoid=":)" border="0" alt="smile.gif" />

It's just my way to comment (to death) everything I see. <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#>/oops3.gif" style="vertical-align:middle" emoid=":eek:ops2" border="0" alt="oops3.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" />
 
Back
Top