• 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 Non-Violent/Unarmed Characters

Levis

Find(Rum) = false;
Staff member
Administrator
Creative Support
Programmer
Storm Modder
2) Something has happened to Artois Voysey. He has gone non violent. He will not equip a sword and so he will not fight. I take his sword away and then give it back and then he equips it and will fight until the next map. Rinse and repeat.
I don't see anything in the logs about him.

No I had to clean out my saves soon after that so have nothing relevant.
You don't have a save with non-violent artois I asume then?
 
Last edited:
If someone has this problem please post a savegame
 
I still have Artie but have hired two new officers and he is restricted to shipboard duty only. Here is a save when is still went ashore with me.
 

Attachments

  • -=Mikey1=- Saint Martin. Marigot Port. December 6th, 1690.7z
    605.9 KB · Views: 112
was able to replicate the problem with this save ... weird thing tough is when I do a dump attributes of artois it does say he has the stuff equiped ... So I'm afraid the problem is in some hidden function somewhere ... :walkplank

Have you've had this problem in other savegames also @Hylie Pistof ?
 
No, this is the only time it has happened besides when I arm a monk. But monks are not supposed to be armed.
 
No, this is the only time it has happened besides when I arm a monk. But monks are not supposed to be armed.
hmmm thanks this might help me.
I saw a nodisarm flag for artois but maybe some other flag has been set by accident also. by comparing him to the monk I might find out.
 
I should say that this might be a one time glitch as I got a bad save right after hiring him. I didn't notice the bad save until later.
 
The "nodisarm" flag should be related to blade breaking, not to him refusing to fight.
 
I can say that I have the same problem too. Artois will not equip any weapon to him UNLESS you try to exchange things with him. With that, he automatically will equip the sword and gun, but it will only work in that scenario. If you go to another area, he will appear again with no weapons with him and you have to repeat the process again.
 
New game, same problem. Voysey will not fight and all weapons do not show unless you re equip him.
 
A couple of thing

Twice I have encountered both times I asked them how good they were., CTD

And all of the random people you encounter are not carrying blades, and this is problematic when they are highway men in the jungle and they attack you and you get the undrawn blade penalty.

And another one. Boarded a coast guard ship. Fought to the cabin. Capitan is unarmed and won't talk to me. So you are stuck there.
 
Last edited:
Twice I have encountered both times I asked them how good they were., CTD
Encountered what?

And all of the random people you encounter are not carrying blades, and this is problematic when they are highway men in the jungle and they attack you and you get the undrawn blade penalty.
ALL of them??? :shock

And another one. Boarded a coast guard ship. Fought to the cabin. Capitan is unarmed and won't talk to me. So you are stuck there.
I think I just fixed that one....
Fixed - Surrendered Quest Captain Refuses to Fight | PiratesAhoy!
 
Continuing from this thread: Fixed - Surrendered Quest Captain Refuses to Fight | PiratesAhoy!
I tried this with Voysey but it did not work.
How did you test that? With these lines?
Code:
   ch = CharacterFromID("Artois Voysey");
   DeleteAttribute(ch, "isMerchant");
I loaded that save you provided in the other thread and did a DumpAttributes on Artois.
That confirms that he DOES have the "isMerchant" attribute which is very likely to be affecting the problem.
So executing those two lines through console should fix it, I reckon.... :confused:
 
A couple of thing

Twice I have encountered both times I asked them how good they were., CTD

And all of the random people you encounter are not carrying blades, and this is problematic when they are highway men in the jungle and they attack you and you get the undrawn blade penalty.

And another one. Boarded a coast guard ship. Fought to the cabin. Capitan is unarmed and won't talk to me. So you are stuck there.
you did start a new game with this version?
 
Okay....time to either change how the isMerchant is given to people or make sure the SetMerchantType isn't used in the characterinit unless it's needed (this is a lot of cases I think).
 
@Jason reported a distinct lack of violence in the game as well:
And all of the random people you encounter are not carrying blades, and this is problematic when they are highway men in the jungle and they attack you and you get the undrawn blade penalty.
So far, all similar instances have been traced back to a change I made a few weeks ago:
Fixed - Merchants Equip Their Stock | PiratesAhoy!

Problem is that the "isMerchant" gets applied to a LOT more characters than are actually meant to have it.
For the "Quest Pirate" I was able to track down where and why this happened and addressed that at the source.
But for "Artois Voysey", I have yet been unable to figure out where and why he gets assigned like that.

For that line of code of mine to prevent item traders equipping items, I think I have an alternate approach that should prevent the non-violence.
In PROGRAM\Characters\characters_login.c find:
Code:
if (GetAttribute(chr,"isMerchant") == 1) return; // PB: Merchants shouldn't equip their own stock
Replace with:
Code:
if (CheckAttribute(chr,"itemtrade")) return; // PB: Merchants shouldn't equip their own stock
That should ensure only REAL item traders are affected by this behaviour and NOT any other characters who got set to "MerchantType" at some point.

However, that doesn't explain why this happens in the first place.
I think this also means that Artois may get set to OFFIC_TYPE_SHOPKEEPER by the CheckCharacterSetup function, which of course isn't intentional either. :facepalm
Probably @Levis will need to shed some light on this one. But for now, hopefully this change will make the game more playable again.
 
Back
Top