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

Included in Build Perks Mod V2.6 Unlockable Perks! (READABLE BOOKS!)

Well, the perks are working ok now. It will take some time to see how the game is affected.
 
Pieter try adding a check in PROGRAM\INTERFACE\perks.c at row 332
Interesting thought. We'd have to add some attributes to those perks and then check on that.
Disadvantage to that here though is that those perks would only be hidden from view; enemies would still get them as your level progresses.
So they might get an unfair advantage then.

Might be worthwhile for the one storyline-dependent perk we've got though.
I couldn't make that hide by reinitializing, but your suggestion is worth a try. :cheers
 
This here works:
Code:
bool CheckPerkAvailable(string perkName)
{
   if(sti(GetStorylineVar(FindCurrentStoryline(), "WR_PUZZLES")) < 1 && perkName == "GunFighter") return false; // JRH
   return true;
   //if( CheckCharacterPerk(refUsedCharacter,perkName) ) return false;
   //return true;
}
 
This new perks system isn't working out for me. I started another storyline to mess with some ships, didn't even save anything, and the perks are all there in my only game.

Methinks I'll just have to remember to NOT give meself those perks. Old habits die hard.
 
That really doesn't make much sense. Can you try this:
1. Start the game
2. Start a new game on whatever storyline tickles your fancy
3. Check the Abilities menu

I'm pretty sure they're gone then.

I could use the system mentioned in my previous post for this, but it shouldn't be necessary since you'll have that mod either on or off.
 
Started a new game as a Buccaneer and checked abilities, and the list is nice and short, then started my game and all the perks are there.
 
When you say "started my game", do you mean "loaded my game"? As in "load a savegame"? That makes a difference.
The short list will only work on games started after the code change.
 
I loaded a game I started yesterday and I'm only up to level 5. That is after the code change and it did have the short list for a while.
 
One way to get the long list back:
1. Start a game that has the short list
2. Load an older savegame that had the long list
3. Load the savegame that had the short list again
4. The removed abilities will now be appended to the end of the abilities list because the previously loaded savegame DID have them

All without closing the game. Could that have happened?
 
I don't think so because I started this new game just to get the short list. Supposedly all the old saves were deleted when the new game started. I will manually delete all saves and then start a new game.
 
If need be, we could do the "display" thing too. Might be a good idea some time anyway, since you can swap between Iron Man Mode and the others ingame.
Only disadvantage would be that this would NOT stop enemies from getting those abilities.
 
But I want enemies to get those abilities because they are too weak in the first place. It doesn't make sense when a class 5 pinnace can sink a class 2 battleship.
 
Should we make that default behaviour then? That would make REALISTIC_ABILITIES have quite an influence on game difficulty as well.
Alternatively, we could have them hidden only if REALISTIC_ABILITIES is on and your difficulty is Adventurer or above.
Or another idea still: Create another setting called DIFFICULT_ABILITIES or something.

Also note that since enemies still get those abilities, if you hire them as officers, they might also still have them.
You just won't see that.
 
That all sounds good but I haven't been able to actually test it yet. It will take 1-2 weeks to test.
 
I think the enemies should have them indeed.
I think we should just have a variable for each perk for the character. On default they are all on. A quest can set them off (I could incorperate that in the way I'm doing for the sidequests now). or the settings can set some perks off.

So that means you should have a functions like:
bool CheckPerkActive(string perkname)
{
//Check the attribute (PChar.(perkname), true)
//return true if the attribute is true and false if its false. Return true if the attribute doesn't exist (to keep compatabilty with old games).
}

And in the interface
Before drawing the perk you should check if the function returns true for the perkname.
 
Display mode sounds best. I started a new game after cleaning out all of the saves and exiting and restarting POTC and had the short menu. Played for a while and it stayed short, then started another game and checked for the short menu and then quit. Then went back to my game and yup, it had the long menu again.
 
Looks like we've got our work cut out for us then. Of course ideally we should make the display based on perk attributes.
But that'd require a bit more figuring out. :facepalm
 
Something strange goes here. I've started a new game on journeyman/iron man. None of the sea perks was in the list. But as soon as I left the port all of them reappeared at the end of the list and are quite selectable.
I think I start to understand why they are called sea perks. :)
 
Back
Top