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

Charlestown Mystery House Exploit

POOTIS

Powder Monkey
Hey guys! I guess I'm pretty good at finding exploits in the game, as I've posted some before. This time I noticed that I can get a lot of doubloons in a very short amount of time.

If you go to Charlestown and give the Mystery House a visit, you might find several NPCs walking around (usually 2-3) and each of them is a merchant. Sometimes these merchants will get attacked while conversating with you, when that happens other npcs will spawn but won't attack you until you leave the dialog. The dialog goes something like this -NPC: Hello Im a merchant/You:I'd like to check your wares/ NPC: I'm being robbed, here's 5k to protect me!
After that you can just leave the house and return. When you return all of the attackers will be gone and you can repeat this as much as you want. Even if the merchant doesn't get attacked, you could check out his wares several times until the ''robbery'' begins.

Welp... There goes me saying ''This time I'll make money as an honest merchant.'' to myself...

EDIT:
I found another exploit, this time in a mansion in Marigot, just in front of the chirch. When you enter it you can go to a study on the second floor and a bedroom to the right after the study. The NPCs there respawn and you can kill them as much as you want and loot them (usually the lady in the bedroom always has some trinket or a gem). No one will know of your actions when you exit the mansion and you can just go from the study to the bedroom as much as you'd like, since the NPCs will always respawn and when they do they won't be hostile towards you.

I managed to make quite a fortune by selling gems and trinkets, not as much as repeating the mystery house exploit, but still.
 
Last edited:
easiest exploit seems to be to buy ebony on Cuba and then sell it as contraband in Jamaica. Profit of 1k + per unit of ebony. If getting money 'legitimately' is that easy, why bother with exploits ? =)

All you need is a tier 7 ship and enough money to stock it up on ebony, sail to Jamaica (1 day travel on worldmap), sell it there, buy a Pinnace or 2 from the profit, go back to Cuba, stock up on Ebony, return to jamaica and boom you have 5 million in 20 minutes.

Other easier exploits are changing a ship's paint scheme in your fleet at the shipyard. When your main ship is a cheap vessel, and you click on an expensive companionship and go to the paint scheme, you'll notice that a lot of time it displays the paint schemes available to your own vessel rather than that of the companionship. As a result, a glitch might happen where the expensive ship will take over the cheap ship's model, while retaining it's own specs. Repairing it then actually earns you a set amount of money rather than costing you money. You can also continue repairing it when it's at 100% HP.

Had this happen when my own ship was a heavy lugger whilst my companionship was a Pinnace, lol. No matter if the Pinnace was damaged or not, I could repair it for -20k. That 20k went straight in to my pocket. It would also look like a lugger in the companion ship overview, but it would keep the Pinnace's cargo capacity and guns in reality.
 
Wasn't expecting this game to have so many exploits xD well I'll keep in mind the jamaican ebony, just in case I don't want to feel like I'm completely cheating when in need of a bit of coin
 
They just seem like things which could be avoided
Oftentimes, if nobody reports it, we don't even know it should be avoided.
Plus not all modders always considered all angles, so you never know what you're going to get.

In this case, how would you propose the exploit should be avoided?
 
For the mystery house I suggest removing the merchant NPCs, as it just seems like an unlikely place to have so many NPCs, which aren't hostile towards you. For the mansion, is it possible to inform the guards that the player's murdered innocent people, or is it possible to make the characters respawn in a longer time? As for the cuban ebony, simply lower the price for it in Jamaica, if possible of course. Unfortunately I have no idea about the ship bug.

I really do hope I'm not wasting anybody's time, I just thought that you might find the existence of these bugs interesting.
 
I can't see how merchant NPC's are put there, but I can think of another few ways to solve this problem:
  • Slap a 'vcskip' onto "Mystery_House" so that nobody appears there.
  • Lock the door so you can't get in. Its only current significance is in the "Hornblower" storyline, in which it gets a 'vcskip' so that no random characters can show up and get in the way of quest business.
  • In "PROGRAM\DIALOGS\Enc_Tradepost.c", change this line:
    Code:
    if(rand(100)<20) // chance for random attack, decrease last figure for fewer attacks
    Replace the 20 with a lower number to make robberies less likely; you can still try to trigger them but you'll be wasting more time doing so, time which you could just as well spend doing fun things. If this is your idea of a fun thing, we're not going to spoil your fun. ;) Or change the 20 to 0 so that robberies can't happen at all.
For the mansion, don't you get a reputation loss for attacking someone who hasn't drawn a weapon?
 
I really do hope I'm not wasting anybody's time, I just thought that you might find the existence of these bugs interesting.
Better to have you report it! Don't know how much will be done about it these days, but you never do know. :woot

Lock the door so you can't get in. Its only current significance is in the "Hornblower" storyline, in which it gets a 'vcskip' so that no random characters can show up and get in the way of quest business.
That does make sense to me in the first place.

Could this exploit also occur for other locations? Or is it really only this one?

For the mansion, don't you get a reputation loss for attacking someone who hasn't drawn a weapon?
Only for someone who doesn't have a weapon.
 
Thinking about it a bit more, I'm leaning towards simply making the robberies in "Mystery House" less likely. Someone presumably thought having some traders in there was a good idea so I don't want to remove that gameplay entirely. Besides, we'd also have to lock all the tunnels, then re-open them in "Hornblower"; as it is, they're a nice little Easter egg if you're not playing that storyline.
 
Thinking about it a bit more, I'm leaning towards simply making the robberies in "Mystery House" less likely. Someone presumably thought having some traders in there was a good idea so I don't want to remove that gameplay entirely.
My suspicion is that it was never intentional; just a side-effect of some code being copied that happened to support random traders showing up.
 
Also:
... you can still try to trigger them but you'll be wasting more time doing so, time which you could just as well spend doing fun things. If this is your idea of a fun thing, we're not going to spoil your fun. ;)

The other thing I can try is to replace this:
Code:
Ambush("outlaws", 1+sti(pchar.skill.fencing), LAI_GROUP_ENEMY, LAI_GROUP_ENEMY, "");
with this:
Code:
Ambush("outlaws", 1+sti(pchar.skill.fencing), LAI_GROUP_ENEMY, LAI_GROUP_ENEMY, "reload1");
That should force the robbers to come from the exit to town rather than a random locator. Now let's see you try to run away without fighting. :p
 
Is "Enc_Tradepost.c" always used in a location where "reload1" is the exit to town?
 
"PROGRAM\LandEncounters\LEnc_monsters.c" defines a tradepost as:
Code:
if (location.type == "house" && HasSubStr(location.filespath.models, "Store")) locid = "Tradepost"; // KK
So, somewhere with location type "house" but with "store" in its models path name. "Mystery_House" fits that description:
Code:
    Locations[n].id = "Mystery_House";
   locations[n].id.label = "Mystery House";
   Locations[n].filespath.models = "locations\inside\StoreHouse";
   Locations[n].image = "Inside_Storehouse.tga";

   //Town sack
   Locations[n].townsack = "Charlestown";

   //Sound
   locations[n].type = "house";
   locations[n].fastreload = "Charlestown";
Anyone want to volunteer to look through all locations to check if anywhere else matches? :D

I don't think I've seen wandering merchants like the ones in "Mystery House" anywhere else. Actual stores are, as far as I know, type "shop". Houses are type "house" and their pathnames tend to be for models appropriate to a house or residence. So shopkeepers get the proper shopkeeper dialog and house dwellers get the proper resident dialog. If someone subsequently reports the same exploit as in "Mystery House" but somewhere else, I'll rethink this strategy, otherwise we might as well leave the fun in.
 
I think it may only occur then with the "random location upon ANY reload" mod then.
But that's always off, because it doesn't make a whole lot of sense.
 
Meanwhile, I think I've dealt with the one involving killing women in their bedrooms.

You didn't lose reputation for killing the lady - you do now!
rep_loss.jpg

But that's just the start. When you leave the bedroom:
avengers.jpg
That's triggered by "ExitFromLocation", not by "Location". So you won't escape by fast-travelling. Even if you teleport to your own ship's deck, my avengers will come after you!

But they won't follow to the next next location, so if you defeat them or run away, you're safe. In fact, the quickest way to evade them is probably to go straight back into the bedroom you just left. If you haven't learned from your mistake, and kill the next lady, you get to face them again. If you have learned, or if you go somewhere else and try to talk to the lady in another bedroom...
recognised.jpg
Both answers appear to lead to the same result - she summons her husband and his guard, the same as if you persist in annoying her in normal dialog. There is, however, a hidden difference. If you keep on apologising, eventually you're forgiven and ladies revert to normal dialog options.

Extract the zip file and copy the "PROGRAM" file to your game installation top level folder, where Windows should ask to merge it with the existing "PROGRAM" folder.
 

Attachments

  • ladys_revenge.zip
    56.7 KB · Views: 232
The added merchants used to happen in the Loansharks office in Port Royal along with the robbers on occasion. This was a nice addition and you generally had to fight in a confined space - unlike the Mystery House.

I would not like to see it totally removed as more content is better - as everybody plays the game slightly differently - a reason why the game is sooooo good.:cheers
 
Back
Top