1. GOG.com logo

    Thanks to YOUR votes, GOG.com now sells:
    - Sea Dogs - Sea Dogs: Caribbean Tales
    - Sea Dogs: City of Abandoned Ships

    Vote now to add Pirates of the Caribbean to the list!

    Dismiss Notice
  2. Under the Crossbones Podcast

    A Pirate Podcast with Interviews
    Music, Comedy and all things Pirate!

    - Episode Guide - About - Subscribe -
    - Twitter - Facebook - iTunes - Android -
    - Youtube - Fill the Coffers -

    Dismiss Notice
  3. New Horizons logo

    Quick links for PotC: New Horizons
    - Download latest version
    - Wiki - FAQ - Report bugs here
    - ModDB profile

  4. GOF logo

    Quick links for AoP2: Gentlemen of Fortune 2
    - Downloads and info
    - Historical Immersion Supermod
    - ModDB Profile

Dismiss Notice
New to the forum?
Please take a moment to read our Welcome Message and Forum Rules.

New side quest

Discussion in 'Build Beta and Brainstorming' started by Grey Roger, Jun 19, 2017 at 11:33 AM.

  1. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    I'm working on a little sidequest which I hope people will find amusing. It's based very loosely on a swindle perpetrated in Germany at the turn of the 20th century, and which will require a good deal of artistic licence. (Holland already plays the role of Brandenburg for the purpose of getting a couple of ships into the game. It will do so again for this little story.)

    You'll start by meeting a man named Willem Voigt in Philipsburg tavern. (Replace "Willem" with the German "Wilhelm" and look him up on Wikipedia, and you'll find the original story...) He has a cunning plan to rob a governor.
    He wants to dress up as a soldier, march into the townhall, pretend to arrest the governor for fraud, confiscate the cashbox as evidence, and get out of there before anyone realises what's happened.

    But Voigt is already under suspicion. He's also not especially brave, though he is good-natured and doesn't want to upset anyone unnecessarily.
    When you try to leave Philipsburg, a guard arrests him and wants to arrest you as an accomplice. When you claim you know nothing of Voigt's schemes and merely accepted a fare from him to take him to Port Royale, he backs you up. Or, if you try to go down the tunnel to Marigot, Voigt simply refuses to follow you.

    This short quest is merely intended to give you the idea of the scam. With Voigt out of the way, it's up to you to do the job yourself.
    The real Wilhelm Voigt got his uniform by buying bits of it from various fleamarkets. You'll do it by finding a soldier in any Dutch tavern, getting him drunk, and stealing his uniform. But that's just a common soldier's uniform, whereas you need the uniform of an army kapitein. The tailor will do that, if you have proof that you're entitled to wear a captain's uniform. You can get that from Yedam Kinne, the forger in Bridgetown, provided you haven't already killed him - if you have, I'll have to make alternative arrangements.

    Then you'll commandeer a couple of real soldiers to assist you. You go into Kralendijk townhall, arrest the governor, grab the loot, and get out of town.

    If you ever return to Kralendijk, you'll be arrested and imprisoned. And then pardoned. The king has read about the whole thing and was highly amused. The real Wilhelm Voigt was also caught, imprisoned, and pardoned by the Kaiser.

    The Kapitein of Kralendijk is coming...
     
    ANSEL and Blackjack like this.
  2. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    65,442
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Sounds like fun! :onya
     
  3. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    I need to give the Kralendijk tailor some dialog related to this quest. What is the preferred method - edit the general "tailor_dialog.c/h"which seems to be used by all tailors, or make a specific copy for this one and then edit "PROGRAM\Characters\init\Douwesen.c" to make him use it?
     
  4. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    65,442
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Probably the best solution would be to use the "two dialogs for one character" method that is also used for governors now.
    All quest-specific dialog can be in the individual dialogs, while the generic tailor functionality remains localized in one single file.
    That prevents copying existing code, because that becomes very difficult to maintain.

    Maybe in this case, you can do it in reverse?
    So all tailors would share the same base dialog, but you can give them an inidividual quest dialog in addition.
     
  5. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    There are already "tailor_dialog.c/h" and "tailor.c/h". The latter is the "Dialog.Filename.Groupdialog". But whereas the "Dialog.Filename.Groupdialog" for governors is the one which deals with generic governor stuff, for tailors it's the one which deals with @Levis' fetch quest stuff - tailors seem to have them reversed. (So, apparently, do blacksmiths and priests, and in both cases it's also the group file which handles @Levis quests.)
     
  6. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    65,442
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Indeed it can work either way.

    Of course since both the tailor code AND the Fetch Quest functionality are generic, it would make the most sense for all of that to be in the same file.
    I think the only reason why it isn't, is because gunsmiths get a different GroupDialog.

    In theory, I think you can create a second, additional GroupDialog purely for your own purposes.

    Alternatively, doesn't "tailor.c" contain a lot of actual functions? If so, move those functions to, say, PROGRAM\Models\models.c .
    That leaves only dialog code in the actual dialog file.
    Then if you make a Douwesen-only copy of that file, it doesn't matter so much for maintainability.
    At least then all the actual code is read from one single place anyway. Maybe that would be easiest?
     
  7. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    Yes, "Gunsmith_fetch.c". Guess what that does. ;)

    It is "tailor_dialog.c" which contains actual functions. "tailor.c" is just fetch-quest stuff. I'm becoming inclined to add my bit to "tailor.c/h", with a check 'if PChar.location == "Douwesen_TailorsShop"' to make sure it only activates if you're in the right place.
     
  8. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    65,442
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Almost the same, but slightly different. :wp

    Ah, then I got my filenames mixed up. Move those functions from "tailor_dialog.c" to models.c, then copy "tailor_dialog.c" for your specific guy.

    Not the cleanest solution, but should work.
    There are so many messy solutions already implemented and so few people doing active modding these days, so skipping to an easy solution might indeed be wise.
     
  9. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    Another problem with cleaning the functions out of "tailor_dialog.c" and then making a town-specific version is that there's also a lot of code from @El_Rapido to do general tailor-specific cheaty stuff such as buy the pirate collection, reset character or reset perks. If you're trying for easy maintainability, we're still better off having one general tailor dialog. Then I put my quest stuff into it with the check that you're in the right place. (I already had to do something similar in "Ardent", to "Fadrique Castillo_dialog.c". Fadrique Castillo is the tavern keeper in Havana, but the same dialog file is also used by Valerio Xalmiento in Cartagena, and he's the one I needed for the convoy mission. So "Fadrique Castillo_dialog.c" checks if you're in Cartagena tavern before allowing the storyline dialog.)

    "tailor.c" is already used for quest purposes. I may as well use it for mine as well. :D
     
  10. Pieter Boelen

    Pieter Boelen (Not So) Old Seadog Staff Member Administrator Storm Modder Hearts of Oak Donator

    Joined:
    Nov 11, 2004
    Messages:
    65,442
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    That El Rapido stuff is in the dialog code though, not in the functions, right?

    In the end, the ultimate goal is to use "whatever works". :razz
     
  11. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    5,578
    Exactly. So if the intention is to make it easy to maintain the contents of the dialog file, whether it's the functions or El Rapido's dialog stuff, then making a separate copy of the dialog file is probably not a good idea even if the functions are removed.
    Fair enough. I'll do my work in "tailor.c/h", and make it conditional on you being in the Kralendijk tailor shop as opposed to any other tailor shop.
     
    Pieter Boelen likes this.

Share This Page