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

Included in Build Regarding Town Guard/Soldier Strength

Pieter Boelen

Navigation Officer
Administrator
Storm Modder
Hearts of Oak Donator
Let's start out with a short history lesson:
A few years back, we decided to give soldiers nation-specific weapons instead of randomly assigned ones.
This looks nice, seems more historically accurate and also makes them more dangerous.

However, town guards were often still complete push-overs, which meant that rather than them being "dangerous",
they ended up being a great source of high-quality weapons for characters in the early game.
That was, of course, a bit of an exploit.

What we did at that time is to make town guards notably stronger than they used to be, especially on higher difficulty levels.
This definitely made them more of a force to be reckoned with, sometimes TOO MUCH SO, because various parts of some quests became too difficult.
The most recent example was: Included in Build - Standard Storyline: Easier Guards on First Mission | PiratesAhoy!

Separately to this, we also found that being able to steal from street merchants was a similar exploit, but even worse.
You could get their ENTIRE inventory without much of any concern.
To counter that, @CouchcaptainCharles decided to trigger the "Merchant Guild" from showing up when you do that.

Eventually the above two changes were combined and led to this rather new feature: Included in Build - Challenging to Steal from Item Traders and Town Guards | PiratesAhoy!
With this implemented, if you'd steal from an item trader OR kill a town guard,
the location would be locked and more enemies would show up,
making it decidedly harder (though deliberately not quite impossible) to get away with trying to make use of these exploits.


If you paid complete attention to the above, you may have noticed that there are now TWO systems in place to make town guards more dangerous:
1. They are made notably stronger than regular soldiers, especially on higher difficulty levels
2. The additional Soldier Reinforcements that show up when you end up killing them

Note that neither of these two features affects any soldiers that aren't town guards, nor does this affect Town Capture.
In other words: This might be considered a bit of a weird situation.


Now my question to you guys who play the game: How would you want this to work?
We could, for example, get rid of the "strong town guards" code as the Soldier Reinforcements could be considered to be serving that exact same purpose.
Any and all feedback you could give will be much appreciated. :doff
 
I'd favour getting rid of the strong regular town guards. These are basically drones whose job is to stand around all day, look tough, and deal with minor trouble. They're basically the equivalent of your local policeman on the street. Putting them back to original strength also means quests which rely on you taking out guards ("Tales of a Sea Hawk" early on, and possibly "Assassin" when you break into St. Pierre town hall to steal documents) aren't excessively difficult. Maybe give these guards basic weapons so there's less incentive to mug them.

If that then makes the guards too weak, perhaps make the reinforcements stronger. These are the tougher soldiers whose job is to deal with trouble that is too much for the basic guards. They're basicall y the equivalent of the SWAT team. So you could also give them the fancy weapons, and perhaps also use the offset to make them a bit tougher than the player character. The upshot is that it would be easy enough to take out a regular guard, but you wouldn't get much reward for doing so, and then you get to face the elite guards who will try to make your life difficult and short.
 
I'd favour getting rid of the strong regular town guards. These are basically drones whose job is to stand around all day, look tough, and deal with minor trouble. They're basically the equivalent of your local policeman on the street.
I do believe that would make the most sense.

Maybe give these guards basic weapons so there's less incentive to mug them.
That gets a bit more complex, because at the moment those types of soldiers are the main ones who DO get the custom ones.
For now I'd suggest leaving it like that. We can reconsider this when we get to tackling this one:
Planned Feature - Correctly Assign Weapons for Character Type | PiratesAhoy!

If that then makes the guards too weak, perhaps make the reinforcements stronger. These are the tougher soldiers whose job is to deal with trouble that is too much for the basic guards. They're basicall y the equivalent of the SWAT team.
Indeed that should be quite simple now that it uses the LAi_CreateFantomGroup function and just requires increasing that single offset number.
We could feed a difficulty-dependent number in there as well. I like the idea. :onya

The upshot is that it would be easy enough to take out a regular guard, but you wouldn't get much reward for doing so, and then you get to face the elite guards who will try to make your life difficult and short.
For the time being, the situation would probably be that taking out the regular guard and taking the reward would be simple enough.
But you then have to survive all the waves that come after, which are stronger and you cannot escape either, so good luck with that one! :wp
 
As far as I'm concerned the system is completely broken and has been for a long time. Any interaction with soldiers of any type results in death.

POTC4 2016-01-24 10-08-29-68.jpg The color of their uniforms means nothing as the result is always the same.
 
Any interaction with soldiers of any type results in death.
Sounds like my efforts to make it hard to steal from the soldiers and merchants has worked then.
Though it may have worked a bit too well. :facepalm

The color of their uniforms means nothing as the result is always the same.
Yup, that's the "Merchant Guild" al-right! They rush in when any item trader gets killed or robbed.
They completely fill the location to the maximum. Which is probably a bit.... over-enthusiastic.... :wp

As far as I'm concerned the system is completely broken and has been for a long time.
I don't remember hearing any feedback from you until now. No worries though; now is as good a time as any! :doff

Since we now know we CAN make it stupidly risky to try any "funny business" with merchants and soldiers,
how much risk would you actually consider reasonable? It needs to be risky enough that you wouldn't want to do it in the early game.
But later in the game, if you're feeling particularly piratey, I do think you should have a chance of surviving.

"Stealing from merchants" also has HUGE penalties. I already toned it down a bit, but maybe a bit further down would be better still.

Tweaking all of this should be relatively easy. What to tweak it to is the main question.
 
I have stated my opinion several times and was forgotten, so have seen no need to repeat meself.

You are confusing yourself by looking at the color of their uniforms. It always ends in death with any and all soldiers whether intentional or accidental.
 
I have stated my opinion several times and was forgotten, so have seen no need to repeat meself.
If it doesn't become a Bug Tracker issue or gets listed as thread on the Beta & Brainstorming forum, you're pretty much guaranteed that stuff will be forgotten.
Not intentionally, but there is SO MUCH to keep track of that it just doesn't all fit in my head and I cannot pay attention to everything all the time.

So if you have any thoughts on what would be reasonable for this, please do repeat it.
I'm specifically asking this time, so good chance that something actually gets done this time.
As long as I know WHAT to do. Which right now, I don't.
 
The only places I can recall beating the soldiers are in the taverns when they recognize me and at San Martin. Everywhere else I die.
 
OK, I understand that part.
But what changes would be required so that it becomes more doable?

Stuff we can tweak:
- Remove the "strong town guards" code
- Reduce the number of soldier reinforcements (currently 2 for every wave)
- Reduce the number of Merchant Guild soldiers (currently maximum number of characters)
- Change the strength of the reinforcements compared to the player (currently should be around equal, possibly scaled to some extent by difficulty)
- Optional: Weapons carried by the soldiers

Any suggestions?
 
No idea.

Early in the game I have no chance against soldiers. Later on I can beat them.

When reinforcements arrive it is game over.

I know nothing of the merchant guild soldiers. They just appear at random for no known reason. Then it is game over.
 
Early in the game I have no chance against soldiers. Later on I can beat them.
That's good.

When reinforcements arrive it is game over.
That is.... debatable if it is good or not. I'd want it to be quite a challenge, but not completely impossible.

I know nothing of the merchant guild soldiers. They just appear at random for no known reason.
Their appearance is not at all random. They show up ONLY when an item trader gets robbed or killed.
If they show up without that seeming to be the reason, then be assured that this WAS the reason anyway.
This gets logged to your Ship's Log now as well.

The question then isn't: "Why did the Merchant Guild show up and kill me?"
The question is: "Why did an item trader get killed apparently without me doing it?"

So we would need to know what item traders were around in the scene. Where exactly did it happen?
Ideally with a savegame right before it happened, though a save after it happened would be better than nothing as well.

I could probably add some extra debug logs to compile.log to write WHO actually did the stealing/killing so that we get more details on the exact events.
 
If no one else has a problem, then it is just me and I will continue playing as a totally peaceful merchant and when attacked by soldiers just immediately reload from the last save.
 
If no one else has a problem, then it is just me and I will continue playing as a totally peaceful merchant and when attacked by soldiers just immediately reload from the last save.
It isn't that I don't want to fix it. But if I don't know why and how this happens, then fixing it is completely impossible.
So it is far, far better if you "play like normal".

If seemingly weird stuff happens, we need to figure out the reason.
As I said, I can "add some extra debug logs to compile.log" that should give us more insight.
But as it is you who encounters the problem, it needs to be you who does the testing for it.

All I can do is to ask questions to figure out the reason, add extra debug code and try to analyse the results from those logs.
 
The "extra strong officer code" is here in PROGRAM\Characters\characters_init.c:
Code:
    // Baste: Strong Soldiers -->
     chr.rank = 11+GetDifficulty()*3+rand(6*GetDifficulty());   // Landlubber: between 14 and 20 - Swashbuckler: between 23 and 47
     //chr.skill.Fencing = 4+rand(GetDifficulty());       // Landlubber: between 4 and 5 - Swashbuckler: between 4  and 8
     //Levis removed the perks cause they are added later now.
     /*                 chr.perks.list.BasicDefence = true;
                     chr.perks.list.AdvancedDefence = true;
                     chr.perks.list.CriticalHit = true;
                     chr.perks.list.SwordplayProfessional = true;
                     chr.perks.list.Gunman = true;
                     chr.perks.list.GunProfessional = true;
     if(rand(10) > GetDifficulty())   chr.perks.list.Rush = true;
     if(rand(20) > GetDifficulty())   chr.perks.list.Toughness = true;
     // Baste: Strong Soldiers <--*/
Just remove that and they should be "back to normal".

The strength of the "Soldier Reinforcements" should be reasonable enough.
You get TWO for every town guard that you kill. Please let me know if you think it should be ONE instead.

Likewise with the "Merchant Guild", the number of enemies is the MAXIMUM POSSIBLE.
If you know a more reasonable number, please let me know.
The first random number that springs to my mind is FIVE.
 
If no one else has a problem, then it is just me and I will continue playing as a totally peaceful merchant and when attacked by soldiers just immediately reload from the last save.
I double-checked the code and the "Merchant Guild" show up IF:
1. Someone tries to STEAL from an item trader using a thief's knife (only the player can do this)
2. You stun the item trader and try to look him through dialog
3. Someone poisons an item trader
4. Any character in the player group kills an item trader with a blade
5. Any character in the player group kills an item trader with a gun

An "item trader" is defined as a character with the "itemtrade" attribute.
Only characters who can have stuff available for sale ever have this.
For random characters, this is ERASED when their character ID is reused.

Note that #3 there says SOMEONE and not "any character in the player group".
I don't know if that is the problem, but it is definitely incorrect. To fix, do the following...

In PROGRAM\Loc_ai\LAi_events.c find:
Code:
       effects_to_play += " poison";

       if(CheckAttribute(enemy,"itemtrade")) MerchantGuildAttack(enemy, true);   // PB: For streetmerchants only
Replace with:
Code:
       effects_to_play += " poison";
       
       if(GetAttribute(attack, "chr_ai.group") == LAI_GROUP_PLAYER && CheckAttribute(enemy, "itemtrade"))   // PB: For streetmerchants only
       {
         MerchantGuildAttack(enemy, true);
       }
 
Question to players:
With the SoldierReinforcements function, it is quite easy to change it so that instead of 1-2 showing up for every guard you kill, a WHOLE BUNCH show up, but only for the FIRST guard you kill.
But.... would that be considered an improvement?

Other idea would be to NOT trigger extra soldiers at all.
The locked location and the remaining town guards could be considered enough.

Changing this is easy. So the real question is: How do you actually guys want it?

Idea for the Future:
Ideally I wouldn't want to lock the location either, but until the AI group relations are sorted out, that will remain necessary.
But when that IS sorted out, we shouldn't need to reset the town guard relations to neutral on every location reload.
That would mean that they remember, which means that you ARE given the chance to escape, but you DO need to reach your ship or the jungle without dying.

And I imagine the fort might end up shooting at your ship when you try to escape.
So that would make it a brand new challenge! But I don't see it working like that any time soon.
 
So..... It seems players agree it should be different.
But I'm not quite getting the feedback I need to figure out WHAT specific changes are wanted.

That means there are two things I can do:
1. Just try random things and hope to get feedback if things are better after these changes or not
2. Not do anything

I'm inclined to go with #2. No useful feedback = nothing will happen, even if it IS easy to change.
In other words: Further improvements are 100% conditional on your feedback.
You want it better? Explain what you would consider "better". :rolleyes:
 
New suggestion: The current situation in Build 14 Beta 4 is basically the "worst case scenario".
It really cannot be made much "nastier" than it is right now.

What about I make some slight code changes to create the "best case scenario"?
This would be:
- NO strong town guards
- "Soldier Reinforcements" would be skipped and only the "location lock" would remain
- Only five Merchant Guild soldiers when they show up

Then at least you guys could see if it is then still difficult or actually a bit too easy. In the end, this is a matter of balancing.
Which is easy from a coding point of view, but NOT from a gameplay/testing point of view.

Does that sound like a plan?
 
Back
Top