• 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 Improve officer importance

Why not just leave officers as they are, able to contribute skills and perks according to their job? But remove the restrictions on which perks you can give them. Then, when they're ready, you can assign them a different role. There is no need for the "no officer". And I know you can swap the officer to another role, give him the perk, then put him back again - this level of annoyance is unnecessary if you just don't restrict which perks he can learn in the first place.
Only reason from my side is to communicate it clearly to the player which abilities are contributed and which ones aren't.

Icons: as well as blue, grey or locked, there is also the tick. Perhaps make it that grey means he doesn't have the perk, grey means he does, and ticked means it's contributing. In fact, that's what I thought the tick meant anyway - if not, what does it mean? There's no need to mark a perk which an officer is unable to learn if the restriction on what he's allowed to learn is removed entirely. ;)
Ah, I forgot about the tick marks! Indeed that could be a solution. :yes

Recruiting in taverns: why prevent people from entering the tavern multiple times to search for a suitable officer? Nobody is forcing you to do that, so anyone who does not want to does not have to. Why remove the option for those who do?
There are two approaches possible:
1. Allow the player to ALWAYS find the officers he'd looking for with relative ease
2. Have officer availability be truly dependent on chance or certain variables

The current situation doesn't work well for either of those approaches.

If you want to ALWAYS find an officer, why have there be a random chance involved at all?
Just do away with that entirely and have an officer placed EVERY single time you enter a tavern, instead of having a stupid 50/50 chance that basically serves only to waste the player's time.

On the other hand, if officer appearance should be random, it doesn't make sense to have a repeated in/out routine on the part of the player make any difference.

Ultimately, the process if in/out to get your officers is annoying and unreleastic and I'd like to figure out something more reasonable.
Here are some thoughts:
1. ALWAYS generate an officer in the tavern: Simple solution, but there is no guarantee that the officer is what you want.
2. Generate an officer ONLY once a day in each tavern: Seems more reasonable, but since there is still no guarantee that the officer is what you want, it'll be even harder to fill out your ranks.
3. Post a job request with the tavern owner or through player dialog or so: Would allow you to influence the officer types generated, reducing the time you spend on searching.
4. Be able to directly generate any type of officer instantly by talking to the tavern owner: Basically allows you to get what you want straight away.
Perhaps not realistic, but at least does away with all the time-wasting that is in the current system.

I like a combination between #3 and #4. Adapt the "trader enters tavern" code to generate an officer of a certain type instead.
But limit this to once per day to simulate the efforts of the tavern owner to actually track down a character like the one you want.
Also gives you an incentive to stay at the tavern several days (increased profit for the owner!) if you want more than one officer.
We can then remove the stock game default officer generation altogether.
 
Problem with using the tickmark is that it now shows which perks area already contributed. So you can see if another officer is actually contributing this perk already on this ship. If you are going to sure the tickmarks for the officers to show which they CAN contribute but for the main character and captains of other ships you show which ARE contributed this is going to cause a lot of confusion.

The super officer is just one with some more perks. its mostly for fun. and Yes I want to add the "drug". it will be aviable trough the indian trader ;).

I like the idea of having officers generated when you ask for it. We could even have 2 or 3 officers at some times so you can pick :p.
 
There are two approaches possible:
1. Allow the player to ALWAYS find the officers he'd looking for with relative ease
2. Have officer availability be truly dependent on chance or certain variables

The current situation doesn't work well for either of those approaches.
It works well enough for 2, though the timing is unrealistic due to other things going on. In reality you'd hand your ship to the shipyard to be repaired and your weapons to the blacksmith to be polished, then spend a few days hanging around town and checking the tavern a few times to see who has shown up. In the game you put the ship in the shipyard and stand like a statue, several days pass in the blink of an eye; then you do the same in the blacksmith's; then you go to the tavern a few times to see if a suitable officer shows up. Short of completely rewriting the shipyard and blacksmith, the same net effect is achieved, but sequentially rather than in parallel.

Here are some thoughts:
1. ALWAYS generate an officer in the tavern: Simple solution, but there is no guarantee that the officer is what you want.
2. Generate an officer ONLY once a day in each tavern: Seems more reasonable, but since there is still no guarantee that the officer is what you want, it'll be even harder to fill out your ranks.
3. Post a job request with the tavern owner or through player dialog or so: Would allow you to influence the officer types generated, reducing the time you spend on searching.
4. Be able to directly generate any type of officer instantly by talking to the tavern owner: Basically allows you to get what you want straight away.
Perhaps not realistic, but at least does away with all the time-wasting that is in the current system.
3 seems most realistic, though I'd prefer it in addition to the current system, not replacing it entirely.

But limit this to once per day to simulate the efforts of the tavern owner to actually track down a character like the one you want.
Also gives you an incentive to stay at the tavern several days (increased profit for the owner!) if you want more than one officer.
Fine, so long as you get to visit the tavern each day while your weapons are being polished. That, I suspect, is not going to happen. ;) Besides, the tavern owner doesn't need to track down anyone. Either he puts up a notice saying "Carpenter wanted for hire" and lets the carpenters make themselves known, or anybody wanting to be hired tells him what they can do and he points you to the carpenter when you walk in - if there is one. If not, you try again later.

Don't forget the starting player, who doesn't much care what type of officer he gets in the first few taverns; it's later on, when he's got some of them and needs to complete the set that he gets choosy about what type of officer he wants. But he also wants officers whose alignment match his own so he can use them as prize captains. And he may have his own ideas about how his officers should look, and at this stage in the game he can't afford to buy them all new clothes.

Maybe I'm weird but I actually like checking the tavern to see if there's a suitable officer available, repeat until there is or until I give up. It's sort of another mini-game. Same as gambling - roll the dice, keep trying until I get the result I want (the other guy completely fleeced) or I give up (either I'm the one getting fleeced or it's too even and neither of us is going to fleece the other). You could replace all that with a single roll to get it over with, and to some extent the "High stakes" perk allows you to do that if you want. It's optional.

I like optional. It means different players can play the game however they want. :D
 
Problem with using the tickmark is that it now shows which perks area already contributed. So you can see if another officer is actually contributing this perk already on this ship. If you are going to sure the tickmarks for the officers to show which they CAN contribute but for the main character and captains of other ships you show which ARE contributed this is going to cause a lot of confusion.
I don't see a huge issue there. Tick marks would mean something different whether you are looking at a player/captain character compared to a regular officer.
That may be confusing in a way. But otherwise there IS no purpose to the tick marks for non player/captain characters.
Might as well give them a purpose there too. :shrug

I like the idea of having officers generated when you ask for it. We could even have 2 or 3 officers at some times so you can pick :p.
Well, you would ask for a certain type, right?
There could be an extra option to just generate ANY random officer type, which may be useful in the early game when you have none anyway.
Since it may be easier to find AN officer instead of a specific one, perhaps we could allow the player that option more than one time per day.
Alternatively, have such officers be of a generally higher level. So if you ask for a carpenter, you WILL get a carpenter. But he may not be very good.
But if you ask for ANY officer, you MAY get a carpenter. But the chance of him being good would be much higher.
 
It works well enough for 2, though the timing is unrealistic due to other things going on. In reality you'd hand your ship to the shipyard to be repaired and your weapons to the blacksmith to be polished, then spend a few days hanging around town and checking the tavern a few times to see who has shown up. In the game you put the ship in the shipyard and stand like a statue, several days pass in the blink of an eye; then you do the same in the blacksmith's; then you go to the tavern a few times to see if a suitable officer shows up. Short of completely rewriting the shipyard and blacksmith, the same net effect is achieved, but sequentially rather than in parallel.
I do wonder if there is some not-too-difficult method we can think of that basically does NOT make time pass instantly at shipyards/stores/blacksmiths.
Instead, the "go to sea" locators would be locked until your processes have been completed. Then you would basically be forced to stay ashore for a while.
And that gives you the opportunity to do things there, look for some quests further inland or immediately pass all time in the tavern.

Definitely one of my wishes. But I'm not sure if that can be easily accomplished. I fear that will uncover a lot of extra things to be dealt with.

3 seems most realistic, though I'd prefer it in addition to the current system, not replacing it entirely.
Possible... possible. I'm not the biggest fan of removing features either.
But I AM a big fan of improving immersion, realism and reducing reasons for the players to be annoyed. :cheeky
 
first:
The tickmarks now show if an other officer has the perks already so you know you dont have to select it for this officer. That functionablity would get lost then. And I still think it would be confusing. Then personally I perfer to add something to the name like a [*] in front of all perks which do contribute or something like that. or have them shown under the perks which are contributed with a blank space in between (that should be possible too I believe).

The problem with random officers is they will be different each time we check. so if we want to have the tavern owner ask around for us you could ask for the results and then ask again unless you got only 1 time to look at them all (which would be mean considering you might just need to get some money from your ship to pay them or something like that).
So unless we can easily store officers untill they are picked or removed this is going to be hard.
So I dont know if you know how easy it is to store characters @Pieter Boelen have you ever seen anything like that already? That way we can store officers at the tavern untill they are picked or expired. Else we would need to store them in the character object and remove them again, and we dont want that.
 
The tickmarks now show if an other officer has the perks already so you know you dont have to select it for this officer. That functionablity would get lost then. And I still think it would be confusing. Then personally I perfer to add something to the name like a [*] in front of all perks which do contribute or something like that. or have them shown under the perks which are contributed with a blank space in between (that should be possible too I believe).
True point. How about expanding the ability filter functionality instead?
Have one setting what just shows ALL available perks and another that shows ONLY those appropriate for the officer type.

The problem with random officers is they will be different each time we check. so if we want to have the tavern owner ask around for us you could ask for the results and then ask again unless you got only 1 time to look at them all (which would be mean considering you might just need to get some money from your ship to pay them or something like that).
So unless we can easily store officers untill they are picked or removed this is going to be hard.
So I dont know if you know how easy it is to store characters @Pieter Boelen have you ever seen anything like that already? That way we can store officers at the tavern untill they are picked or expired. Else we would need to store them in the character object and remove them again, and we dont want that.
My idea would be to quite literally copy the "Escort Quest generation" code. But instead of a random trader showing up, an officer of your requested type shows up instead.
No need to wait for the tavern owner to find someone, since the purpose of doing this is to make things more efficient for a player with specific wishes.

Currently any random officer is "lost" as soon as you leave the location anyway, so returning to your ship to get more money is never an option.
It would admittedly be nice to "store" him/her for a day, but that would be a secondary concern as far as I'm concerned.
It IS possible though, because I think random citizens in houses "persist" for a while as well.
 
It seems to me that you are making a mountain out of a mole hill and are just digging a hole for yourselves. Suggestion: Stop digging.

I like the old system just fine thank you.

I'm still trying to learn this new system and have found that changing officer's roles to get the perks they need is working. Carpenters seem to be best for the perks I want them to have and I have a few working on getting said perks.

I have one super officer who is a 10-10 at everything, but only has 1 perk. He really has no use off the ship.
 
From what I gather, there are two gameplay issues:

- Cannot freely assign abilities to officers because the interface won't let you.
Workaround: Swap officer types.
Proper solution: Allow this immediately in some way.

- Cannot find officer types you want.
Workaround: None. Nothing new here either.
Proper solution: Generate specific officer types on request.
 
1. The old system worked. The new system works by swapping their roles around, which is something I have always done anyway.

2. Different officers improve in different areas over time and I change their roles and give them perks to help them along on that.
 
My idea would be to quite literally copy the "Escort Quest generation" code. But instead of a random trader showing up, an officer of your requested type shows up instead.
Funny, that's pretty much what I was going to suggest next. xD You tell the tavern keeper what sort of officer you want, he says there's one just now, and you take or leave that one. Meanwhile the usual random officer is sitting staring at his drink on the table as now.

The main difference compared to what you suggested earlier is that the specific officer should be the high quality one, while the random ones who change every time you go into the tavern are the lesser types. The specific one is there to advertise his talent and get hired. The random drunks are just there to drink and maybe get hired if anybody notices them. Game-wise, what that means is that you have one shot at getting a good officer of the type you want, otherwise you're back to sifting through the random drunks. Moreover, the starting player who doesn't mind what type of officer he gets is also the one who can't afford the higher quality officers (who, indeed, might not want to be hired by a novice captain!) and who can't afford to buy them new outfits if he has his own ideas how he wants his officers to look. Anyone who gets annoyed visiting the tavern repeatedly gets to talk to the tavern keeper, anyone who wants to keep checking random officers for one they like gets to do so, everyone is happy. :)
Currently any random officer is "lost" as soon as you leave the location anyway, so returning to your ship to get more money is never an option.
It would admittedly be nice to "store" him/her for a day, but that would be a secondary concern as far as I'm concerned.
That loses the whole point of leaving random officers in, at least for me - if you don't like the random one who is there now, try again and see who the next one is. If that officer is still there, it's because I didn't want to hire him/her, so why would I want to see the same officer back there? Just make sure you have a couple of thousand gold to hand before you go hiring...
 
Funny, that's pretty much what I was going to suggest next. xD You tell the tavern keeper what sort of officer you want, he says there's one just now, and you take or leave that one. Meanwhile the usual random officer is sitting staring at his drink on the table as now.
Yup, sounds about right.
I was thinking the "asking" option might be overpowered, but if indeed we DO limit that to once a day, that sort-of evens out.
And the whole point WAS to potentially prevent players from being forced to waste a lot of time, so that might work....

Now my main question is how we can add such a feature to ALL tavern owners without requiring us to edit every single bloody one of their files.
I think @Levis did some things for that, but I'm not sure yet if that'll work as-is in this scenario.

That loses the whole point of leaving random officers in, at least for me - if you don't like the random one who is there now, try again and see who the next one is. If that officer is still there, it's because I didn't want to hire him/her, so why would I want to see the same officer back there? Just make sure you have a couple of thousand gold to hand before you go hiring...
Fair point. Skipping on that = less work. So I'm good with that! :cheeky
 
@Pieter Boelen yes we can add that option to all tavern owners relativly easy. Thats why I changed the dialog system a while back.
I will take a look at adding the dialog option if you can see if you can try to make the function to actually get the officer to appear, ok?
 
@Pieter Boelen yes we can add that option to all tavern owners relativly easy. Thats why I changed the dialog system a while back.
I will take a look at adding the dialog option if you can see if you can try to make the function to actually get the officer to appear, ok?
It's on my to-do list. Just have to find the opportunity to do it. I don't imagine it would be too difficult.
 
Just so you know, I'm working on making a function to generate an officer of a specific type that you can talk to and hire like normal.
This is what I have so far:
Code:
ref CreateOfficerType(string otype, int offset)
{
   ref ch;
   ch = GetCharacter(FindFreeRandomOfficer());
   ch.dialog.filename = "enc_officer_dialog.c";
   //ch.Dialog.CurrentNode = "hired";
   //ch.Dialog.TempNode = "hired";
   ch.quest.meeting = 0;
   ch.quest = "True";
   ch.reputation = rand(88) + 1;
   ch.nation = GetCurrentLocationNation();
   LAi_SetLoginTime(ch, 0.0, 24.0); // KK

   ch.quest.officertype = otype;
   LAi_Create_Officer(offset, &ch);
   SetModelfromArray(&ch, GetModelIndex(GetRandomModelForTypeNation(1, otype, sti(ch.nation))));
   LAi_NPC_Equip(&ch, sti(ch.rank), true, true);
   SetRandomNameToCharacter(&ch);
   DeleteAttribute(ch, "greeting");
   if(FindLoadedLocation() != -1) PlaceCharacter(&ch, "goto");
   return &ch;
}
For some reason he won't talk yet, but that will be fixed soon.
 
Btw I looked a bit into saving the officer and I think we are able to do it. it would require some editing of the officer generation code (for encounters) but we wanna do that non theless already.
 
As @Grey Roger suggested, we may not have to save them at all.
Not making any changes is always the simplest solution. And if we can get away with it....
 
This seems to be working:
Code:
ref CreateOfficerType(string otype, int offset)
{
   ref ch;
   ch = GetCharacter(FindFreeRandomOfficer());
   ch.dialog.filename = "enc_officer_dialog.c";
   ch.officer = true;
   ch.Dialog.CurrentNode = "Node_1";
   ch.Dialog.TempNode = "First time";
   ch.quest.meeting = 0;
   ch.quest = "True";
   ch.reputation = rand(88) + 1;
   ch.nation = GetCurrentLocationNation();
   LAi_SetLoginTime(ch, 0.0, 24.0); // KK

   ch.quest.officertype = otype;
   LAi_Create_Officer(offset, &ch);
   SetModelfromArray(&ch, GetModelIndex(GetRandomModelForTypeNation(1, otype, sti(ch.nation))));
   LAi_NPC_Equip(&ch, sti(ch.rank), true, true);
   SetRandomNameToCharacter(&ch);
   DeleteAttribute(ch, "greeting");
   LAi_SetCitizenType(ch);
   if(FindLoadedLocation() != -1) PlaceCharacter(&ch, "goto");
   return &ch;
}
You can specify officer type and how much higher compared to the player level the character should be.
Character model fits with the type and female ones occur too.

So all we need is to have that implemented through dialog and you can instantly generate an officer of the type you want.
 
Looks like it's working:

upload_2015-2-15_17-13-19.png


Made use of @Levis' group dialogs and applied it to all tavern owners in the game. New game required for this to take effect.

This can be used once per day and the level of the officer generated is near the player level PLUS your Leadership skill.
So as your Leadership increases, you'll be able to get better officers this way.

I'll upload the files later, probably halfway through next week or so. Will be doing some more changing of things tomorrow.
But if anyone has any suggestions on what to keep in mind for this mod in advance, feel free to post here. :doff
 
Looks good @Pieter Boelen . Once you are done I will see if I can adapt it so it will remember the officer for the day, so it will always send the same one untill the day is done :).
 
Back
Top