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

Need Help Is there a way to get rid of the random armed people?

Lonious

Master Mariner
Greetings all,

Is there a way to toggle off the random armed citizens you encounter in towns/jungles? I actually have more in mind about altering the mod, but I think this is the one I want to figure out the most.

Thanks!
 
See if you can do what you want by tweaking these settings in PROGRAM\InternalSettings.h:
Code:
// VICE CITY (ccc, done with a lot of help by NK) - generates lots of friendly and/or hostile people in town
#define TOWN_VCSKIP_DISABLEALL            1         // BOOL - change to 0 if vags still generated if loc has skip attr.
#define TOWN_ENC_CHANCE                    1.0     // FLOAT - chance for anyone to be generated in town during day
#define TOWN_ENC_CHANCE_NIGHT            0.4     // FLOAT - chance, like above, but at night
#define TOWN_BANDIT_CHANCE                0.1     // FLOAT - chance of there being bandits at all. x2 if at night.
#define TOWN_BANDIT_RESPAWN_CH            0.1     // FLOAT - chance for bandits to be spawned again that day.
#define TOWN_BANDIT_ENC_SCALAR            0.25     // FLOAT - bandit probability scaled by this
#define TOWN_BANDIT_RESPAWN_SCL            0.2     // FLOAT - scalar to bandit prob if already bandits gen'd today.
#define TOWN_BANDIT_MAX                    0.2     // FLOAT - max bandit probability
#define TOWN_OFFSET                        -5        // INT - offset to rank for monsters in town, for Create_Officer(). CURRENTLY ALSO USED FOR HOUSE
#define DEFAULT_TOWN_MONSTERPROB        1.0     // FLOAT - default probability for bandits in a town (if there is not a town-specific setting)

Those random citizens were a feature added by dear 'ol @CouchcaptainCharles and, with his regular sense of humour, he called it the "Vice City" Mod. :rofl
 
See if you can do what you want by tweaking these settings in PROGRAM\InternalSettings.h:
Code:
// VICE CITY (ccc, done with a lot of help by NK) - generates lots of friendly and/or hostile people in town
#define TOWN_VCSKIP_DISABLEALL            1         // BOOL - change to 0 if vags still generated if loc has skip attr.
#define TOWN_ENC_CHANCE                    1.0     // FLOAT - chance for anyone to be generated in town during day
#define TOWN_ENC_CHANCE_NIGHT            0.4     // FLOAT - chance, like above, but at night
#define TOWN_BANDIT_CHANCE                0.1     // FLOAT - chance of there being bandits at all. x2 if at night.
#define TOWN_BANDIT_RESPAWN_CH            0.1     // FLOAT - chance for bandits to be spawned again that day.
#define TOWN_BANDIT_ENC_SCALAR            0.25     // FLOAT - bandit probability scaled by this
#define TOWN_BANDIT_RESPAWN_SCL            0.2     // FLOAT - scalar to bandit prob if already bandits gen'd today.
#define TOWN_BANDIT_MAX                    0.2     // FLOAT - max bandit probability
#define TOWN_OFFSET                        -5        // INT - offset to rank for monsters in town, for Create_Officer(). CURRENTLY ALSO USED FOR HOUSE
#define DEFAULT_TOWN_MONSTERPROB        1.0     // FLOAT - default probability for bandits in a town (if there is not a town-specific setting)

Those random citizens were a feature added by dear 'ol @CouchcaptainCharles and, with his regular sense of humour, he called it the "Vice City" Mod. :rofl

Ah, I see. Thanks for the tip! Will check this out.
 
See if you can do what you want by tweaking these settings in PROGRAM\InternalSettings.h:
Code:
// VICE CITY (ccc, done with a lot of help by NK) - generates lots of friendly and/or hostile people in town
#define TOWN_VCSKIP_DISABLEALL            1         // BOOL - change to 0 if vags still generated if loc has skip attr.
#define TOWN_ENC_CHANCE                    1.0     // FLOAT - chance for anyone to be generated in town during day
#define TOWN_ENC_CHANCE_NIGHT            0.4     // FLOAT - chance, like above, but at night
#define TOWN_BANDIT_CHANCE                0.1     // FLOAT - chance of there being bandits at all. x2 if at night.
#define TOWN_BANDIT_RESPAWN_CH            0.1     // FLOAT - chance for bandits to be spawned again that day.
#define TOWN_BANDIT_ENC_SCALAR            0.25     // FLOAT - bandit probability scaled by this
#define TOWN_BANDIT_RESPAWN_SCL            0.2     // FLOAT - scalar to bandit prob if already bandits gen'd today.
#define TOWN_BANDIT_MAX                    0.2     // FLOAT - max bandit probability
#define TOWN_OFFSET                        -5        // INT - offset to rank for monsters in town, for Create_Officer(). CURRENTLY ALSO USED FOR HOUSE
#define DEFAULT_TOWN_MONSTERPROB        1.0     // FLOAT - default probability for bandits in a town (if there is not a town-specific setting)

Those random citizens were a feature added by dear 'ol @CouchcaptainCharles and, with his regular sense of humour, he called it the "Vice City" Mod. :rofl

Ok, I mentioned that I have some other questions...

It seems to me that ships surrender way too early, and they keep running from me. Just now I used the Jack Aubrey ship (levelled myself up to 30 through cheats) and faced off with a fleet of 3 - two Tier 3 frigates and one Tier 5 (IIRC). They just kept running from me, and one of them even surrendered. in the original game, they would have chased and torn my ship to pieces.

Also, has the enemy ship AI been changed? I noticed they all move in one direction instead of independently.

Is there a way to make sea battles more challenging? (so far, they seem rather easy)

The boarding is also strange. I tried boarding a Tier 4 frigate with the Dauntless-class (I am Level 20) and my entire crew got slashed to pieces in the first deck! Shouldn't they be the ones running from their lives from getting boarded by a ship of much higher class? In the original it would have been a piece of cake. The sheer disparity between crew numbers should have made the fight one-sided...in my favour.
 
Late reply here, but I think I can answer your questions ingame, but not from a modding point of view.

It seems to me that ships surrender way too early, and they keep running from me. Just now I used the Jack Aubrey ship (levelled myself up to 30 through cheats) and faced off with a fleet of 3 - two Tier 3 frigates and one Tier 5 (IIRC). They just kept running from me, and one of them even surrendered. in the original game, they would have chased and torn my ship to pieces.
I'm not very sure, but maybe it has to do with your level, and the enemy captain's level for their ships. If your enemy fleet had a merchant ship (which I presume is the Tier 5 one), I believe that the fleet will flee away if your captain's level is far superior to them, as well as trying to protect its merchant ship in the fleet. Merchant ships do surrender fairly easy if you chase them long enough, and hit them hardly with several broadsides of your cannons.

Which difficulty level were you playing? Landlubber and Marine are the easier ones, so that could mean that the enemy fleet will be very sensible to your overall characteristics, and thus, run away.
Also, has the enemy ship AI been changed? I noticed they all move in one direction instead of independently.
The AI tends to group the whole fleet with the same strategy, I think. They all tend to separate each other whenever you pursue one, if they run away. They also go together, and this can easily see on the military coast ships of the islands.
Is there a way to make sea battles more challenging? (so far, they seem rather easy)
As mentioned above, try to increase the level difficulty. You can do that by asking one of your officers about it.
The boarding is also strange. I tried boarding a Tier 4 frigate with the Dauntless-class (I am Level 20) and my entire crew got slashed to pieces in the first deck! Shouldn't they be the ones running from their lives from getting boarded by a ship of much higher class? In the original it would have been a piece of cake. The sheer disparity between crew numbers should have made the fight one-sided...in my favour.
There are a number of factors involved when boarding. One of them is the already mentioned difficulty level.

· Did you have less crew morale than the enemy ship? This is one of the major factors to take into account. The less morale you have, the harder it is for them to kill the crew, and they will receive more damage.
· Did you put them a huge amount of good swords and pistols on the weaponslocker? If you do not put weapons there, they will fight with cutlasses, which are pretty mediocre, and useless against a good military crew.
· Maybe the enemy captain had more level than you, and had good abilities, so their crew would be hard to kill. Merchant crew is weaker and easier to defeat than military ones. This would be the scale, from easy to hard difficulty, for the crew: Merchant < Pirate < Military.

Those I believe are the most important ones.
 
Late reply here, but I think I can answer your questions ingame, but not from a modding point of view.


I'm not very sure, but maybe it has to do with your level, and the enemy captain's level for their ships. If your enemy fleet had a merchant ship (which I presume is the Tier 5 one), I believe that the fleet will flee away if your captain's level is far superior to them, as well as trying to protect its merchant ship in the fleet. Merchant ships do surrender fairly easy if you chase them long enough, and hit them hardly with several broadsides of your cannons.
Thanks for your response.

They weren't merchant ships, but French warships. I think the AI seems to have a tendency to "run away" and then turn back to me, then attempt to attack me from a great distance. Strange.
Which difficulty level were you playing? Landlubber and Marine are the easier ones, so that could mean that the enemy fleet will be very sensible to your overall characteristics, and thus, run away.
Swashbuckler.

The AI tends to group the whole fleet with the same strategy, I think. They all tend to separate each other whenever you pursue one, if they run away. They also go together, and this can easily see on the military coast ships of the islands.

As mentioned above, try to increase the level difficulty. You can do that by asking one of your officers about it.

Anyways, is there a way to bring back the AI from the stock game? I feel like that could satisfy my concern.

There are a number of factors involved when boarding. One of them is the already mentioned difficulty level.

· Did you have less crew morale than the enemy ship? This is one of the major factors to take into account. The less morale you have, the harder it is for them to kill the crew, and they will receive more damage.
· Did you put them a huge amount of good swords and pistols on the weaponslocker? If you do not put weapons there, they will fight with cutlasses, which are pretty mediocre, and useless against a good military crew.
· Maybe the enemy captain had more level than you, and had good abilities, so their crew would be hard to kill. Merchant crew is weaker and easier to defeat than military ones. This would be the scale, from easy to hard difficulty, for the crew: Merchant < Pirate < Military.

Those I believe are the most important ones.
I've heard of this. Regardless though, I think if a First Rate boards a tier 4 ship, the First Rate should win. The crew disparity is just too high. I just think it's really unrealistic for this to happen. In the original game, the deciding factor of most boarding fights was which ship had more crew, and I wish it would have stayed that way. IMO in the mod it looks like the deciding factor is your Level vs. theirs.

In any case, I'm more interested in whether or not there's a way to bring back the old AI, since I'd like to test that if possible.
 
Also, has the enemy ship AI been changed? I noticed they all move in one direction instead of independently.
Didn't all ships in one group stay together, even in the original game?
Seems to make sense to me for them to do that...

The game engine AI hasn't been changed (unless we're talking Maelstrom, where apparently it has?).
But Screwface did add some more on-the-fly decision-making to it.
This could make them decide to run away instead of fighting.
See PROGRAM\Screwface_functions.c .

I think the AI seems to have a tendency to "run away" and then turn back to me, then attempt to attack me from a great distance. Strange.
Distance IS a significant factor in Screwface's code.
So perhaps that could indeed be related?

Try deleting this line from PROGRAM\BATTLE_INTERFACE\LogInterface.c:
Code:
Improve_SeaAi(groupe); // Improve AI for this group
 
Didn't all ships in one group stay together, even in the original game?
Seems to make sense to me for them to do that...

The game engine AI hasn't been changed (unless we're talking Maelstrom, where apparently it has?).
But Screwface did add some more on-the-fly decision-making to it.
This could make them decide to run away instead of fighting.
See PROGRAM\Screwface_functions.c .


Distance IS a significant factor in Screwface's code.
So perhaps that could indeed be related?

Try deleting this line from PROGRAM\BATTLE_INTERFACE\LogInterface.c:
Code:
Improve_SeaAi(groupe); // Improve AI for this group
Thanks for the suggestions. I'll try to look into this. Actually, I think the level might have something to do with it? I just kind of remember the original ships being more aggressive. Now, they seem to be always running away.
 
Actually, I think the level might have something to do with it?
Level or rank are parameters I don't see used in "Screwface_functions.c" at all.
Nor difficulty, for that matter...

Having a look at the comments in that file should give you some idea of the sort of "thinking" that the AI does.
Certainly they consider "running away" much more often than without all these changes.
Which only makes sense from their point of view, doesn't it?
Why would they want to get themselves all beat up?

Kind-of gives the piratey player a different sort of challenge instead of "pounding enemies into submission".
You're going to have to succeed at catching them at all!
Which means being clever, with small, smart, fast, manoeuvrable little ships.
Same as pirates used in real life as well.

And then definitely try to disable them with chainshot; so that even when they want to escape, they just plain can't.


I've always been fantasizing about putting reputation and fame into the mix somehow.
So you could work on the Blackbeard approach: scare people SO much that they give up without much of a fight.

But I never got round to doing it.
And I don't know if ever I will.
Dunno who might actually care...
 
Level or rank are parameters I don't see used in "Screwface_functions.c" at all.
Nor difficulty, for that matter...

Having a look at the comments in that file should give you some idea of the sort of "thinking" that the AI does.
Certainly they consider "running away" much more often than without all these changes.
Which only makes sense from their point of view, doesn't it?
Why would they want to get themselves all beat up?

Kind-of gives the piratey player a different sort of challenge instead of "pounding enemies into submission".
You're going to have to succeed at catching them at all!
Which means being clever, with small, smart, fast, manoeuvrable little ships.
Same as pirates used in real life as well.

And then definitely try to disable them with chainshot; so that even when they want to escape, they just plain can't.


I've always been fantasizing about putting reputation and fame into the mix somehow.
So you could work on the Blackbeard approach: scare people SO much that they give up without much of a fight.

But I never got round to doing it.
And I don't know if ever I will.
Dunno who might actually care...
Instead of making a new thread I figured I'd just post in here.

So, is there any way I can disable the Screwface functions? I want to experiment with the behaviours of the original game. Would appreciate your insights.
 
So, is there any way I can disable the Screwface functions? I want to experiment with the behaviours of the original game. Would appreciate your insights.
Didn't I mention that already?
Find this line in PROGRAM\BATTLE_INTERFACE\LogInterface.c and put // in front of it:
Code:
Improve_SeaAi(groupe); // Improve AI for this group
 
Didn't I mention that already?
Find this line in PROGRAM\BATTLE_INTERFACE\LogInterface.c and put // in front of it:
Code:
Improve_SeaAi(groupe); // Improve AI for this group

Will certainly try this out. So far I think there's been some change. It looks like fleets don't move in one motion anymore, which is what I was looking to achieve.
 
Will certainly try this out. So far I think there's been some change. It looks like fleets don't move in one motion anymore, which is what I was looking to achieve.
I think it stops fleets from "reconsidering" based on changing conditions.
So they'll likely be more single-minded in their tasks with that line removed.
 
I think it stops fleets from "reconsidering" based on changing conditions.
So they'll likely be more single-minded in their tasks with that line removed.
Well, thankfully I have both options possible, it seems. I tend to prefer the organic-looking motions from the stock game, over the sight of eight giant ships of the line turning around in one uniform motion, as if drones under the control of some sea god, in an attempt to kill my little brig.
 
Well, thankfully I have both options possible, it seems. I tend to prefer the organic-looking motions from the stock game, over the sight of eight giant ships of the line turning around in one uniform motion, as if drones under the control of some sea god, in an attempt to kill my little brig.
Perhaps that is because new tasks are given all at the same time?
With some effort, it should be possible to throw some random delay on there.
Not sure if that's worth it though; or if that would really improve things for you...?
 
Perhaps that is because new tasks are given all at the same time?
With some effort, it should be possible to throw some random delay on there.
Not sure if that's worth it though; or if that would really improve things for you...?
Maybe, but personally, I'm fine with how things are now. I was satisfied with the original game's difficulty regarding sea battles. If the enemy was in bigger ships than yours, and you could not outrun them, you knew you were screwed. Unless you had maxed out skills and abilities, that is (wherein sometimes I could do things like take on a couple of battleships on a frigate with some maneuvering). Afaik the mod doesn't actually change much in the manner of AI tactics, with the exception of that trigger that causes fleets to move in one direction (which I feel doesn't actually effect battles themselves that much really).

I had some issues with the AI surrendering too early, and too often, and I believe that has been raised around here before. Thankfully, one could just disable it in the code, and that's what I did. Now, you have to manually still sail to the target ship where the captain may or may not himself surrender. I don't actually see that big a change here personally.
 
Back
Top