1. Dismiss Notice
  2. 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
  3. 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
  4. New Horizons logo

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

  5. 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.

Feature Request Pirate ranks look odd in dialogs

Discussion in 'Build Beta and Brainstorming' started by Grey Roger, May 29, 2017.

  1. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,368
    You get "Art of War", alias "relationbook", as a result of 'GivePromotionReward' in "PROGRAM\NK.c". The mere act of getting the book is supposed to set attribute "PChar.Got_Relation_Book" because getting it ought to trigger case "Got_Relation_Book" in "quests_common.c", which sets the attribute. So I don't know why I keep getting more of them. I'll need to get another promotion, then dump attributes and see if "PChar.Got_Relation_Book" is set. Better yet, I'll see if I can distinguish between pirate and non-pirate, so pirates get "Under the Jolly Roger", alias "piratebook", instead. (Which will then need a corresponding attribute so you don't accumulate piles of those instead...)
     
  2. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,563
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    @Grey Roger: Did you to this on a New Game or an existing save?
    If I recall, the quest case to check for the "relationbook" item is set at game start.
    So if that hasn't been set, then you would keep the infinite loop. :facepalm

    That would indeed make far more sense! :onya
     
  3. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,368
    Pirates don't get ranks like "Lieutenant", "Teniente" etc. They get fame ratings, e.g. "Freebooter". This looks odd in dialogs where "GetMyFullName" is used; someone is liable to call you "Unknown Pirate Jack Sparrow", for example.

    Any time when that happens while I've been playing "Hoist The Colours", I've been changing the dialog file to use "GetMySimpleName" instead. What I'm now wondering is, should we change the definition of "GetMyFullName" so that it does not include your rank if your nation is Pirate? Because anyone who is playing any other storyline, including FreePlay, who joins the Brotherhood, is going to face the same problem if any general or sidequest dialog uses "GetMyFullName".

    Perhaps only leave out the rank at lower level. The idea of someone calling me "Dread Pirate Jack Sparrow" is appealing. Then again, one promotion later I'd be "Scourge of the Archipelago Jack Sparrow", which could either be awesome or very clumsy.
     
  4. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,563
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    :rofl :rofl :rofl

    That is indeed another unintented side-effect of being able to join the Pirates.
    All the "LoM functionality" was never made with the intention to allow that and we are not sort-of "abusing" the system. :wp

    That sounds very sensible indeed. :yes

    I think anybody playing a pirate character could include any such prefixes in their character name.
    You can always change your name in mid-game anyway. It agree with you that, with few exceptions, it does sound very clumsy for pirate ranks.
     
  5. Levis

    Levis Find(Rum) = false; Staff Member Programmer Creative Support Storm Modder

    Joined:
    Oct 6, 2013
    Messages:
    6,656
    Gender:
    Male
    Occupation:
    ICT
    Location:
    University Twente (Netherlands)
    Any progress on this?
     
  6. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,368
    Yes - the current installer includes a version of "PROGRAM\Dialog_func.c" which has this in the definition of "GetMyFullName":
    Code:
        if (CheckAttribute(chr, "nation") && HasRank(chr, sti(chr.nation)) && sti(chr.nation) != PIRATE) {
           name = XI_ConvertString(GetRankName(chr, sti(chr.nation))) + " ";
       }
    The check for nation not being PIRATE is new and prevents pirates from having their "rank" included in their full name.
     
  7. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,563
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    'sti(chr.nation)' is your current flag, rather than your Served Nation. Is that OK here?
     
  8. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,368
    The original version was this:
    Code:
        // PB: Include rank -->
       if (CheckAttribute(chr, "nation") && HasRank(chr, sti(chr.nation))) {
           name = XI_ConvertString(GetRankName(chr, sti(chr.nation))) + " ";
       }
       // PB: Include rank <--
    'sti(chr.nation)' seemed alright to you at that time. ;) All I did was add the check that you're not PIRATE. It always seemed to work well enough for everyone except pirates, and now it works for them as well by not adding their "ranks".
     
  9. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,563
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Apparently so.... :confused:

    For NPC's, of course it doesn't matter much. Only perhaps companions, who have an "original nation" independent of their flag.
    But I don't think they ever get ranks, except perhaps some Hornblower/navy officers.
    What happens with the displayed rank if you have a ranked NPC companion and you change flags?
    You can talk to them in their ship's cabin.

    Otherwise, the only potential issue I see is for the player.
    But I suppose, if you fly a fake flag for which you have no rank, you'll end up using your regular name.
    Only when you have a rank to match your flag, is your rank appended to your name.
    Does make some sense; you wouldn't want to increase the lie of a false flag by adding a pretend rank to it.

    Long story short: Probably OK.
     
  10. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,368
    Another point, if you have multiple LoM's, your served nation is PERSONAL. I'm not sure what "GetMyFullName" would do if it checked served nation rather than flag, but it probably wouldn't be pretty... On the other hand, if it goes by flag, and you have ranks with different nations, you can choose which one to use.

    NPC nationality is determined by their "chr.nation" attribute. That, in fact, is probably why it checks "chr.nation" rather than served nation, as served nation only applies to the player. As it is, NPC's do display their own ranks correctly. Exhibit A, which is what's going to happen when Hornblower receives his promotion to Post Captain:
    governor_briefing.jpg
    The governor has just used 'GetMyFullName(CharacterFromID("Sir Edward Pellew"))' to tell you who is going to give you your orders.
     
    Pieter Boelen likes this.
  11. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,563
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Since we saw you can't get a rank with your served nation (yet?), it would do nothing at all.
    Not ideal.

    Agreed. :onya

    Indeed I remember that from when we set it up too. So it's fine. :woot
     

Share This Page