• 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 Multiple payment in "A Worm in the Apple"

Grey Roger

Sea Dog
Staff member
Administrator
Storm Modder
In this savegame, Johan Elting is standing outside Mateus Santos' new home in Port Royale, ready to report that he was on time and Ambroz Bicenos is late. You talk to Santos, get paid, and tell him that you don't want to continue. The questbook does not update and you can talk to Santos again, get paid, and tell him that you don't want to continue. Repeat until bored.

In the regular "Hard Labours of an Assassin", if you tell Santos that you don't want to continue, that ends the quest. But this version is tied to the main "Assassin" storyline in which your mission is to kill Santos, and ending the quest prematurely would probably break the main story, so if you refuse to continue, you can talk to Santos again and go on to the next mission. If you refuse again, you can talk to him again, and again, and if you do it at the point when you've just completed a mission rather than the point where he's just offered the next mission, you keep getting paid.

Suggestion: either modify "Mateus Santos_dialog.c" to remove the "link.l2" lines so you can't refuse to continue; or modify "quests_reaction.c" so that if you refuse to continue, you fail the main storyline mission and get the same result as if you'd missed the deadline for one of the "Apprentice" missions. Editing "Mateus Santos_dialog.c" is probably easier...
 

Attachments

  • -=Player=- Jamaica.zip
    901 KB · Views: 57
Is there a copy of "Mateus Santos_dialog.c" in the Assassin storyline folder? If so, editing that one should indeed be the simplest solution by far. :yes

You're having a lot of fun trying to break the game, aren't you? Good job! :onya
 
I'm not putting much effort into breaking the game, but I did wonder what would happen if I refused the next mission from Santos. So I saved game, ready to see a questbook entry saying that I was quitting the assassination business both for Santos and for Benavides, then I'd reload the savegame and continue as normal. Then I found out what happened. :D Next job: find out what happens if the time limit for one of these missions runs out...
 
Is there a copy of "Mateus Santos_dialog.c" in the Assassin storyline folder? If so, editing that one should indeed be the simplest solution by far. :yes
I will install POTC this week-end, so I cannot check the file. If there are many options in the dialog file, removing the one you don't want to continue the quest should fix that.
 
Does it really brake the main story? You could still kill him after you refused right?
 
You can't kill Mateus Santos except where the quest permits it, which is after you've talked to Vito Leone and accepted his offer to kill Santos. Until then, he's invulnerable.

Besides, that's not the problem I pointed out. The problem is that you get paid, tell him you don't want to work for him any more, talk to him again, get paid again, tell him you don't want to work for him any more, etc. Taking out the lines from "Mateus Santos_dialog.c" which allow you to say you don't want to work for him any more, or to refuse the next mission, solves the whole problem quite neatly. I'm going to try it next time I play, and it just so happens that I'm perfectly positioned to test it as my current game of "Assassin" is part way through this quest. :D
 
I understand but I think you should be able to refuse it.
The code says you first have to go to Redmond to finish the quest after you refused it.

Adding this to "case "Hit_refused_Mateus":" in quest reactions should make sure the dialog error is handeled.
Code:
PChar.quest.Hitman = "refused";

And also I think in the case "case "Hit_refused_Mateus_end":" there should be something to make him mortal again if what you say is true.
 
Does it really brake the main story? You could still kill him after you refused right?
Apparently this DOESN'T break the story, because the story will keep looping until you DO decide to continue.
It just doesn't make sense and makes for a bit of an exploit.

I understand but I think you should be able to refuse it.
The code says you first have to go to Redmond to finish the quest after you refused it.
For the sidequest version, yes you should. And you can.
But in this case it is included in the Assassin Main Quest which probably wouldn't make much sense if you don't finish it.
So by that reasoning, you shouldn't be able to refuse there. The alternative would probably be to break the main quest altogether.
 
Mateus Santos' house is in Redmond, now known as Port Royale, in this modified version of "Hard Labours of an Assassin". It's pretty much the same as the regular version except that Santos is now in Port Royale instead of San Juan, and some of the targets are also in different locations. Thus, just as you'd need to go to San Juan to initially talk to Santos and again after each mission to get paid and accept or reject the next one, you need to go to Port Royale for the same purposes.

The "Assassin" storyline and the modified version of the "Hard Labours of an Assassin" quest which is part of it are the work of @Bartolomeu o Portugues so I'll defer to his judgement about what to do.

@Bartolomeu o Portugues: remove the "link.l2" lines from the dialog file so the player can't refuse further missions from Mateus Santos; or allow the player to decline further missions and kill him without finishing the whole sequence? If the latter, it would be logical not to make Santos immortal in the first place so that he can be killed at any time. (Personally I'd prefer to just delete the "link.l2" lines, partly so the player can't bypass some or all of "The Worm in the Apple", and partly because it's easier. :D)
 
@Bartolomeu o Portugues: remove the "link.l2" lines from the dialog file so the player can't refuse further missions from Mateus Santos; or allow the player to decline further missions and kill him without finishing the whole sequence? If the latter, it would be logical not to make Santos immortal in the first place so that he can be killed at any time. (Personally I'd prefer to just delete the "link.l2" lines, partly so the player can't bypass some or all of "The Worm in the Apple", and partly because it's easier. :D)
If indeed the Assassin storyline has any individual copy of the "Mateus Santos_dialog.c" file, indeed removing the links would be my preferred solution too.
Simple, yet effective. Players aren't supposed to be dropping out of that main quest anyway. :cheeky
 
Also removed in this version of the file. Put this in "PROGRAM\Storyline\Assassin\dialogs".
 

Attachments

  • Mateus Santos_dialog.c
    8.2 KB · Views: 74
Back
Top