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

Fixed Minor issues with native Loot

Tingyun

Corsair
Storm Modder
@Levis we discussed this a few weeks ago, but wanted to make a report so we don't completely forget.

Obviously a set of minor issues only to be addressed later when there is time.

We discussed three issues with native loot:

1) They don't have a tomahawk unless they had a chance to swing at you before getting killed in melee. Seems odd one would appear out of nowhere and otherwise be nonexistent if they are killed at range or through stealth.

2) They often don't have arrows as loot if killed right away, from stealth or such.

3) The chance of them having the really good stuff that sells for 1000 gold, like idols or expensive minerals, should probably be 50% or so. Currently they are 100% to have one major piece of loot + one minor piece of loot.
 
1) They don't have a tomahawk unless they had a chance to swing at you before getting killed in melee. Seems odd one would appear out of nowhere and otherwise be nonexistent if they are killed at range or through stealth.
That is indeed how @Jack Rackham coded it. :yes
 
Maybe it is just the practical way to do it, but it is a noticeable weirdness when fighting natives. ;)

Of course, I wouldn't care if the tomahawks didn't sell for a fair bit. Since you can never buy tomahawks anyway, so we don't have to balance their price against other weapons, and bows only sell for about 33, indicating native weapons aren't in demand, maybe we should just cut down on their price?

After the 50% general price cut, tomahawks still have a price of 661. Reducing that would cut down on native loot in about the easiest way possible.
 
Tomahawks are rated the same as engraved felling axes and are priced accordingly. Anyway, if you've defeated a bunch of enemies and looted their stuff, why shouldn't you be able to cash it in for a worthwhile reward? Especially if you're going to reduce the chance of getting treasure from them. You're not exactly going to become absurdly wealthy selling tomahawks at 1323 each, let alone at 661 each, and you're facing an angry native armed with a tomahawk to get each one.
 
Grey Roger,

Their price shouldn't be balanced against other weapons because they aren't for sale. They are strictly a loot item that the player sells, so their price should be balanced to be appropriate reward for the risk involved in obtaining them.

And native loot is indeed out of all proportion to risk. Speaking as a castaway, I would kill bands of natives in the jungle from level 1. Cobblestones, poison throwing knives. A couple of thousand gold a pop, and completely easy, because they travel spread out, unlike bandits.

Later, natives remain easy to kill. Their weapons don't advance to keep pace. By the time outlaws are fielding decent guns and good swords, and traveling in tight packs posing more risk, native loot is still about twice as valuable a reward as from an outlaw.

So native loot should be cut down, not because I am against the player being rewarded, but because the player is rewarded too much from natives in proportion to risk taken and rewards from other enemies.
 
Maybe it is just the practical way to do it, but it is a noticeable weirdness when fighting natives. ;)
I think it should be doable to give the tomahawk in the same section of code that they get the bow and arrow, then don't give it again when they try to equip it and already have it.

Of course, I wouldn't care if the tomahawks didn't sell for a fair bit. Since you can never buy tomahawks anyway, so we don't have to balance their price against other weapons, and bows only sell for about 33, indicating native weapons aren't in demand, maybe we should just cut down on their price?
Indeed I don't see why tomahawks should be worth a lot. Aren't they pretty much a stick, a rock and some rope?
 
No, they have metal blades. Of course, if they're cheaper and more primitive than other axes then perhaps their stats should reflect that. ;)

Wasn't there a plan to have Indian stuff for sale at the Indian store on Aruba? If that ever happens, and if tomahawks are decent weapons available for minimal cost, I can see that store suddenly becoming very popular...
 
I think the inflated stats just sort of need to be accepted as a consequence of the weird way POTC bakes damage so much into the sword used, with such drastic differences. Natives need a decent weapon, at least unless someone wants to program in a tiered leveled progression of native weapons.

Here's what I propose: Tomahawks go from 661 to 100.

If the Indian store later gets implemented, and if the player wants to make an extra trip to Aruba, then he gets to save a couple of thousand gold. Not a big deal, its not like he can't make 20,000 sailing some cargo to a normal island. ;) Besides, the real exploit in buying tomahawks would be that the player can get them at a low level, not their price, so we'd probably just set the min level high enough that the gold wouldn't matter at that stage.

Meanwhile, Tomahawks remain more than twice the price of boarding axes, and sure, the engraved felling axe is much more expensive, but it is engraved and beautifully crafted. There are plenty of rich and noble swords many times the price of comparable stat alternatives.
 
Natives are specifically equipped in PROGRAM\Loc_ai\LAi_equip.c:
Code:
    else
     {
       blade = "bladearrows"; //JRH: Make indians use arrow
       GiveItem2Character(chr, "tomahawk"); // PB: Make sure they already HAVE a Tomahawk
     }
     // Sulan <--

     GiveItem2Character(chr, blade);
     EquipCharacterByItem(chr, blade);
I propose adding the line marked 'Make sure they already HAVE a Tomahawk' and see what that does.

And then in PROGRAM\Loc_ai\LAi_events.c find:
Code:
        if(CheckAttribute(weapon, "id") && weapon.id != "tomahawk")
         {
           RemoveCharacterEquip(attack, BLADE_ITEM_TYPE );
           GiveItem2Character(attack, "tomahawk");
           EquipCharacterByItem(attack, "tomahawk");
         }
Replace with:
Code:
        if(CheckAttribute(weapon, "id") && weapon.id != "tomahawk")
         {
           RemoveCharacterEquip(attack, BLADE_ITEM_TYPE );
           if (!CheckCharacterItem(attack, "tomahawk")) GiveItem2Character(attack, "tomahawk"); // Skip this if they already have one
           EquipCharacterByItem(attack, "tomahawk");
         }

@Jack Rackham: Please check if my above suggestions make sense to you.

Then in PROGRAM\LandEncounters\LEnc_monsters.c is where they get some extra money and loot:
Code:
  if (sti(GetAttribute(chr, "isIndian")) == true)
   {
     gunProb = 1.0;
     chr.name = VC_MUMMY_NAME; // ccc10.2
     chr.lastname = VC_MUMMY_LNAME; // ccc10.2
     if(VC_MUMMY_NOMONEY) chr.money = 0; // NK
     GiveItem2Character(chr, "indian"+ makeint(1 + rand(15)) );   // jun05 booty for stealing
     GiveItem2Character(chr, "mineral"+ makeint(1 + rand(2)) );   // jun05 booty for stealing
   }
This is where you can add some further randomization.
 
Wasn't there a plan to have Indian stuff for sale at the Indian store on Aruba? If that ever happens, and if tomahawks are decent weapons available for minimal cost, I can see that store suddenly becoming very popular...

still in the works. But first we need another indian trader somewhere so its always aviable if aruba is disabled ;).
 
Marked as "Fix in Progress", because I suggested some code changes to make them always have a Tomahawk.
@Jack Rackham: Can you confirm if you approve of that?
Also, do you know what's up with the being able to have no arrows as per the opening post?

@Tingyun: Will you be tackling the remaining balancing issue here?
 
Can you confirm if you approve of that?
Also, do you know what's up with the being able to have no arrows as per the opening post?
Sure, they can always have a tomahawk.
Don't know why they can be out of arrows. We give them some from start and they don't consume
arrows when firing them.
 
Pieter, sure, I'll do the price cut on the tomahawk next time I take a stab at the items file (don't want to put another version out there of that file for one price change right now, I'll have it on my list to do next time I have more stuff to do with it).

The Indian loot thing you already located where it gets determined. I just need to learn how to make a random chance of not getting one of the loot items.

In other words, I'll add both to my list, and address soon. :)
 
I just need to learn how to make a random chance of not getting one of the loot items.
Just add if (frnd() < 0.5) in front for a 50% chance. You can change that number to whatever you want.
'frnd()' returns a random number between 0.0 and 1.0 .
 
if (frnd() < 0.5) {GiveItem2Character(chr, "indian"+ makeint(1 + rand(15)) ); }
if (frnd() < 0.25) {GiveItem2Character(chr, "mineral"+ makeint(1 + rand(2)) ); }

The minerals mostly all go for 500-1000, some of the other items are themselves reasonably low prices, some are high price 1,000- 2,000 gold, so in total I think we are then looking at slightly over 500 gold of loot on average with the lowered price tomahawk included. Seems reasonable, but let me know if anyone thinks too low and we need to raise the chances.

Will leave for feedback for a couple of days and see if someone thinks 500 gold is too little. I'm ok with raising them a bit if someone feels strongly.
 
Last edited:
Was there also an issue with the Tomahawk essentially being a far-too-awesome weapon that you can get far-too-easily even in the early game?
As in... it's sort-of handed to you on a silver platter?
 
Pieter, I thought so, and it is exactly that for the castaway. Because a castaway starts low level.

But for any normal start, swords you'd use instead of a tomahawk appear around level 9. That is only 4 levels into the game for most starts. Not a big deal for the player to be able to get that weapon a little early.

And if he wants to get an overpowered weapon, there are plenty of other opportunities anyway. Specific dungeons and sidequests, heck, just a shovel in the maltese crypt and you have infinite french noble swords at level 1.

So it only really is a castaway advantage, and not any more so then tons of other routes to early weapons. I'd say no need to mess with it. :)

(and if we do start trying to address those kinds of concerns, we really end up in the path of rethinking the dramatic difference in weapon tiers...;) )
 
Pieter, I thought so, and it is exactly that for the castaway. Because a castaway starts low level.

But for any normal start, swords you'd use instead of a tomahawk appear around level 9. That is only 4 levels into the game for most starts. Not a big deal for the player to be able to get that weapon a little early.

And if he wants to get an overpowered weapon, there are plenty of other opportunities anyway. Specific dungeons and sidequests, heck, just a shovel in the maltese crypt and you have infinite french noble swords at level 1.

So it only really is a castaway advantage, and not any more so then tons of other routes to early weapons. I'd say no need to mess with it. :)
Ah, well that sounds OK then. Castaways using Tomahawks as best weapon for them at that point, is actually quite alright.
Seems to fit in relatively well with the idea of being a castaway. ;)
 
Back
Top