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.

High Priority Change way shared XP works

Discussion in 'Build Testing List' started by jsv, Dec 22, 2015.

  1. Hylie Pistof

    Hylie Pistof Curmudgeon Staff Member QA Tester Storm Modder

    Joined:
    Jan 15, 2010
    Messages:
    13,763
    Gender:
    Male
    More general feedback. I'm at level 27 now and three officers are at level 30. That's correct, they passed me! This happened when everyone started getting the shared XP perk. Before that they were trailing me but were close and seemed to be keeping pace. Overall I'm fine with this as it makes the officers quite valuable.
     
  2. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Unless I'm very much mistaken, only one officer should need to have the Shared XP perk.
    But I didn't double check on that so I'm not sure.

    Officers exceeding the player is good though.
    Could you confirm if they indeed gain skills that make sense for their officer type?
     
  3. Hylie Pistof

    Hylie Pistof Curmudgeon Staff Member QA Tester Storm Modder

    Joined:
    Jan 15, 2010
    Messages:
    13,763
    Gender:
    Male
    :shrug I can't tell, but here they all are. The one who was the Horror of the High Seas is now a Bloke and I haven't had Gibbs and Masse very long.

    POTC4_2016_03_21_03_23_34_582.jpg POTC4_2016_03_21_03_23_59_939.jpg POTC4_2016_03_21_03_24_09_252.jpg POTC4_2016_03_21_03_24_22_281.jpg POTC4_2016_03_21_03_24_38_333.jpg POTC4_2016_03_21_03_24_52_722.jpg POTC4_2016_03_21_03_25_13_474.jpg POTC4_2016_03_21_03_25_21_868.jpg
     
  4. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Your right; it's difficult to tell from that....

    Which reminds me.... At some point I would double check also if those tick marks still do anything.
     
  5. Hylie Pistof

    Hylie Pistof Curmudgeon Staff Member QA Tester Storm Modder

    Joined:
    Jan 15, 2010
    Messages:
    13,763
    Gender:
    Male
    Hmm, it kinda looks like the tick marks aren't doing much.
     
  6. Talisman

    Talisman Smuggler Storm Modder

    Joined:
    Apr 29, 2009
    Messages:
    2,825
    Gender:
    Male
    Location:
    Hiding From The Coastguard
    :aar



    I have not been able to keep up with all the discussions on the leveling system ( and its current state ).
    So if what I say next is due to my lack of knowledge – please just ignore this post.

    What is the relationship now between a character’s level and their health points?

    In the post by @Hylie Pistof above ( #163 ) there appear to be some officers with more health than officers on a higher level than them.

    I thought that health increased with the levels - or I think it used to - ( so the higher the level the more health you had ). And that this was a consistent principle.



    In Hylies post :-

    J De Masse - Level 9 – Health 290

    J Gibbs – Level 22 – Health 344

    R Bloom – Level 24 – Health 440

    A Bastos – Level 25 – Health 240

    Jean Croix – Level 27 – Health 341

    S Chartres – Level 31 – Health 319

    A Voysey – Level 32 - Health 360

    B Coffier - Level 32 – Health 506



    I am assuming Hylie has not been to someone like the apothecary and bought more health for certain officers.

    If he has, he has spent a fortune :rofl


    :drunk
     
  7. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Levis gave some officer types health bonuses and/or penalties.
    I'm not entirely sure how that is set up to work, but I know he did do that.
    Check program\characters\officertypes to see the definitions.
    Hopefully that explains it. :doff
     
  8. Hylie Pistof

    Hylie Pistof Curmudgeon Staff Member QA Tester Storm Modder

    Joined:
    Jan 15, 2010
    Messages:
    13,763
    Gender:
    Male
    Methinks the HP system works more or less ok. One has to remember who these officers are. Masse, Bloom, and Coffier are bulls with lots of HP. Gibbs is down a bit and Voysey is kinda weak. Bastos and Chartres are the only "normal" officers of the bunch and it shows. I only used the apothecary on one officer a single time and it was Bastos.

    Later on I want to propose a change to the HP system with the player starting with 100 HP and being capped at 200 HP. This would make equipment much more valuable.
     
    Pieter Boelen likes this.
  9. Talisman

    Talisman Smuggler Storm Modder

    Joined:
    Apr 29, 2009
    Messages:
    2,825
    Gender:
    Male
    Location:
    Hiding From The Coastguard
    Thanks for the explanations @Pieter Boelen and @Hylie Pistof . :doff

    I will have a look at that file.

    This is how out of touch I get, not having played the game properly for a while. :oops:

    :drunk
     
    Pieter Boelen likes this.
  10. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    @Grey Roger: Did you get any chance to play around with this yet?
    Does it behave more reasonable now at all...?
     
  11. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,405
    I haven't got anywhere near level 27.

    Officers in the shore party do now earn Fencing XP as they're supposed to. They don't earn much else, mainly because I'm still developing and testing "Ardent" which supplies you with a quartermaster, master at arms and fighter. They do now earn some XP for quest completions because I've changed all the XP handouts in "Ardent" to give some Leadership, some of a skill relevant to the quest, and some "" so that everyone gets a bit. So officers still lag behind me in overall levelling up. But then, as I'm concentrating on following the plot, the only XP up for grabs are Leadership (still the main quest XP handout), Fencing and Sailing (on the way from one quest location to another).

    Maybe allow shore party officers to earn a small percentage of everything, rising to a larger percentage if you have "Shared XP"? It doesn't matter what their shipboard job is - right here and now ashore, they're doing whatever you're doing and should be getting some experience from it.

    What does 'ch.HPBonus' in a character definition do?
     
  12. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    Leadership, fencing and sailing are indeed the skills where I figure it is OK if the player does increase faster than the officers.
    Fits for a main character who is a Captain.
    If you have no First Mate or Navigator, I would certainly expect that. :yes

    I don't think I'll ever be sold on the idea of sharing every sort of XP with all characters in the shore party.
    We talked about it before and that would go against the whole concept of the shore party being specifically meant to help you out in fights.

    Used to be the other way around in the original game, with only officers in the shore party counting for anything. All others were basically passengers.
    I'm very glad that was changed a few years back so that you can leave officers with a role but no need for fencing skill safely on the ship.

    For example, a quartermaster doesn't need to be with you to do the job anyway.
    If you go to the Merchant and discuss what you want, the quartermaster can handle the remainder of the transaction on his own.
    I always imagine there to be some invisible delegation going on behind the scenes.

    Adding a non-fencing bonus to the shore party would also create a reason for more micromanagement, which we didn't want either.
    So I don't think I'll be doing that, I'm afraid.

    Of course in normal play, that shouldn't really be necessary anyway.
    You should gain all types of XP if you play all elements of the game.
    If you have no officer for that role, then the player still gets some of the XP.
    But eventually I'd expect players should want one of all officer types.
    Until you do, you'll be at a bit of a disadvantage.
    That's OK though; creates some progression throughout the game and gives you something to strive for.

    HP bonus is a positive or negative number that gets added to that character's HP.
    Positive increases the HP and negative does the opposite, of course.
    This is what gets increased through the Apothecary too.
     
  13. Grey Roger

    Grey Roger Sea Dog Staff Member Storm Modder

    Joined:
    Feb 12, 2007
    Messages:
    6,405
    On the contrary, not adding a non-fencing bonus to the shore party creates a reason for micromanagement. In fact, the whole system of not allowing officers anything except their job-related skills is just asking for it.

    Just before putting to sea, make sure at least one of the officers is a gunner, so you get your free ammo. At sea, turn every0ne into navigators so they all get the XP from direct-sailing. When you're about to go into a battle, turn your gunner (or any other officer if you don't have one) into a gunner so he gets the XP from your shooting. If you have a decent master at arms or boatswain, turn him back to his original role so you get his Grappling skill and perks. When you return to shore, turn all your shore party into First Mates so they get their share of any quest XP being handed out. And when you're about to trade, turn them all into quartermasters (especially the real one if he's with you) so they get a share of Commerce XP (and if your real quartermaster is there, you get his skill and perks). If you're doing anything Sneak-related, make sure you have a Doctor with you, he's the one who contributes (and benefits from) Sneak, otherwise turn at least one of your officers into a Doctor so he gets Sneak XP.

    Almost everyone in "PROGRAM\Characters\init\officers.c" has 'ch.HPBonus = 100' (except Fred Bob, who has 200) which may explain why some of the officers in @Hylie Pistof's screenshots have exceptionally high HP.
     
  14. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    You could do what you decribe, I suppose. If you want to drive yourself absolutely mental.
    You aren´t supposed to though and you shouldn´t really need to.
    Unless you want all your officers to become Superman at the same time.

    I could think of several solutions though: Make sure you can´t reassign officer roles more than once a day or so.
    Seems reasonable to me, because swapping roles all the time basically makes no sense anyway.
    But would we really have to enforce that? Seriously, why would anyone want to put themselves through all that pain???

    What you describe could always be considered an exploit as long as officer roles have anything to do with skills gained at all.
    Yet it does make complete and utter sense for XP and officer roles to be linked like that.

    Or we would go with a completely alternate approach, which is how @pedrwyth originally assumed the system to work:
    Use the skill importances that are completely fixed per character and cannot be influenced by the player one bit.
    Then at least there is no way of using silly exploits. But it also has the disadvantage that you have zero control over it.
    Reasigning officer roles would never get a character better at the accompanying skills then.
    Doesn´t sound like the best solution either.

    As far as I´m concerned: If people feel the need to abuse the system and drive themselves crazy in the progress, so be it.
    Hopefully most players will be sensible enough to just use their officer roles the way they're meant to be used.

    I'm afraid we can keep going back and forth on this for all eternity.
    Knowing what I know about how things work on a real ship with real officers, I like the concept behind the current logic.
    No, it isn't geared towards letting all your officers gain experience in everything. Decidedly the opposite, in fact.
    That is very much on purpose, because that is simply not how things work.

    Would definitely be part of the reason. :yes
     
  15. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    @Grey Roger: If I read you correctly, this is the section of code that you want:
    Code:
     //Now handle the officers
     if(group == XP_GROUP_OFFIC)
     {
     float skillmult, tempmult;
     capt = GetCharacter(FindCaptainIndex(chref)); // Get the captain of the ship
     for(i=-1; i < GetPassengersQuantity(capt); i++) // Start at -1 to include captain
     {
     if (i == -1) cn = sti(capt.index); // Captain of the group
     else cn = GetPassenger(capt, i); // Passenger of this character
     if (cn < 0) continue; // Skip invalid characters
     chr = GetCharacter(cn); // Reference to the character
     if (CheckAttribute(chr,"prisoned") && sti(chr.prisoned)) continue; // Filter prisoned characters
     if(DEBUG_EXPERIENCE>1) Trace("XP LOG: Loop "+i+", Checking Officer "+GetMySimpleName(chr)+" with id "+chr.id);
    
     // Determine Skill Multiplier for this character
     skillmult = 0.0;
     if (cn == sti(chref.index)) skillmult = 1.0; // The character who gained the XP gets 100%
     if (expName == "") skillmult = 1.0; // All characters join in "general XP"
     if (skillmult < 0.5 && IsOfficer(chr)) skillmult = 0.5; // Character is in the player shore party
     if (skillmult < 0.5 && SharedXP) skillmult = 0.5; // Sharing XP, so everybody gets at least 50%
     if(DEBUG_EXPERIENCE>1) Trace("XP LOG: skillmult = "+skillmult);
    
     // Add Experience
     if (skillmult > 0.0) // If any XP is to be added to this character
     {
     if(AddXP(chr, expName, makeint(_exp*skillmult), XP_GROUP_PLAYER)) LevelUp = true; // Add that XP and see if it resulted in a Level-Up
     }
     }
     }
    
    Or an alternative:
    Code:
     // Determine Skill Multiplier for this character
     if (SharedXP) // Shared XP is active
     {
     if (IsOfficer(chr)) skillmult = 1.0; // Character is in the player shore party
     else skillmult = 0.5; // Character is on the ship
     }
     else
     {
     if (IsOfficer(chr)) skillmult = 0.5; // Character is in the player shore party
     else skillmult = 0.1; // Character is on the ship
     }
     if (cn == sti(chref.index)) skillmult = 1.0; // The character who gained the XP gets 100%
    
    This one based on your wish that all officers get some XP (10%) regardless of Shared XP and with Shared XP they'd get more.

    Unless I am very much mistaken, both approaches would mean all your characters end up gaining the same XP.
    I'm not convinced I understood you right on that, so I suggest you make your own section of code that does what you would want it to.

    If that is truly what you want, we can add it to the game with a toggle on it that defaults to off.
    We could even have it always on within your own storyline. Does that sound workable to you?
     
  16. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    ^ That is wrong, by the way. Those importances ARE changed as soon as you change officer types.

    I've been working through the code and if I understand correctly, they should still have their effect.
    Though whether it is a notable effect, I do not know.

    Also: Holy crap, could this code be any more complicated???
    I've been staring at it forever and it is just SO annoying. :modding
     
    Hylie Pistof likes this.
  17. Tingyun

    Tingyun Corsair Storm Modder

    Joined:
    Aug 8, 2016
    Messages:
    1,445
    Gender:
    Male
    So it seems share XP works on melee skill as well (in the time I spent hacking around the maltese crypts, my officers all gained 1-2 melee skill even though not fighting anyone themselves.

    Was this a deliberate decision as some point (the first page of the thread here indicates melee XP would not be shared)? Just want to make sure it isn't a bug.
     
  18. Levis

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

    Joined:
    Oct 6, 2013
    Messages:
    6,691
    Gender:
    Male
    Occupation:
    ICT
    Location:
    University Twente (Netherlands)
    Code seems to sugest it is suppost to do what you say indeed.
     
    Tingyun likes this.
  19. Pieter Boelen

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

    Joined:
    Nov 11, 2004
    Messages:
    66,609
    Gender:
    Male
    Occupation:
    Maritime Research: Project Engineer (Analysis)
    Location:
    Wageningen, The Netherlands
    @Grey Roger insisted on fencing being shared even without Shared XP, if I recall.
    Reason was that the officers can learn from seeing each other's fighting.
     
    Tingyun likes this.
  20. Tingyun

    Tingyun Corsair Storm Modder

    Joined:
    Aug 8, 2016
    Messages:
    1,445
    Gender:
    Male
    Pieter,

    Not sure if the reason makes sense when they are out of your shoreparty. My officers all went up 2 ranks of fencing skill from me fighting alone in the crypt.

    Also it means there is never truly a noncombatent officer. I had intended to roleplay my navigator as just a smart guy who focusses on navigation, but he is going to be a deadly swordsmen no matter what. ;)

    EDIT: Also, it is very fast. My navigator doesn't fight, and is almost keeping pace with my own fencing skill.
     

Share This Page