• 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

Levis

Find(Rum) = false;
Staff member
Administrator
Creative Support
Programmer
Storm Modder
Last edited:
More officer types could probably make things needlessly complicated. But having a "Cook" perk is always possible. :yes
 
I have thought for a while of this idea with "specialists" in your crew. Not officers but musician, cook, you name it.
I have a brainstorning list of 18.
I think it would need an interface to see which ones you got/exists.
Specialist should add anything extra but not increase your 10 basic skills. As a lot of items/officers already do that.
No idea yet of how/when to hire them or if they could die etc etc.
Just some thoughts.
 
The idea is already explained.
Here's a list of specialists I come to think of.
Evertything can and should be discussed as it's just an idea.

clerk.............................
smuggler.......................info about goods or ports or
fisherman.....................food something
buccaneer.....................food something
marksman....................grappling/sea battles kill enemy officer/captain
cook..............................food something
musician.......................crew more happy
blacksmith....................repairs something
sailmaker......................repairs someting
barrelmaker..................
hunter...........................food something
scientist.........................invents and adds some kind of explosives
priest.............................like a mascot, crew more happy?
distiller..........................rum something
helmsman.....................
lookout..........................more info about a ship
gigant............................like deck fighter was a while ago
gunsmith.......................repairs something

Maybe it's fun if you get these specialist in another way than officers.
As a bonus taking ships
Meeting them out in the jungle
Or in other situations

It could be a little like the achievments getting many or all these characters but they will be useful too.
Then fun thing would be to balance/giving them skills, the difficult thing making some kind of interface for an overview.
 
That sounds a bit like Sid Meier's Pirates! where special officer types may decide to join you if you capture an enemy ships.
You can get only one of each type and once you do, you won't find any others because you only need one.
Would be fun if these guys would end up on your ship's deckwhere you can visit them and talk to them for all sorts of special features.
 
I did something like this in this scene but here they only added to the 10 basic skills.
 

Attachments

  • specialists recruitment.jpg
    specialists recruitment.jpg
    489.4 KB · Views: 189
That's brilliant! Didn't know that's what that screenshot represented.

Really I have to get round to playing this game soon. There is so much awesomeness in there and I have hardly seen any of it! :shock
 
This sounds very good. I think we can make this work. It shouldn't be that hard to make....
 
Doctor and Gunner officer types are already "special" in one way or another. Would be cool to do something for the other regular ones too.
 
Another idea:

Perk to increase potion etc effectivity.
 
A good or a bad cook means a lot for the crews moral. Adding a cook sounds interesting,
I was thinking about it last night to, funny I think.
 
Another idea:

Perk to increase potion etc effectivity.
This would be a usefull perk for the doctor and it could also make sure your crew members got less sick.
 
One (huge) idea about food: (Might be too big for PotC, but maybe you like this idea for HoO)

- You need a cook on the ship. Without a cook, you can buy only already done food, which is only eatable for a short time (maybe 1 or 2 days), so no chance to get off an island

- Cooks have different skills, which means some cooks can prepare food better than others, while some cooks can guess better how much of the ingredients they need.

- As soon as a cook is on the ship, the task to buy food is no longer the captains; the cook buys his ingredients BUT the captain has to tell the cook how many days he plans to sail without stop.

- cooks with a low 'guess-skill' tend to buy not enough food -> we could include FCoHS here, as you can ask for proviant on friendly ships if you ran out of it.

- cooks with a high cooking-skill prepare better food, which gives a boost in morale.

In my head, this idea is quite awesome :D But I think its not doable for PotC? :/
 
- As soon as a cook is on the ship, the task to buy food is no longer the captains; the cook buys his ingredients BUT the captain has to tell the cook how many days he plans to sail without stop.
I especially like that part. Delegating the annoying tasks to officers is always a clever move. ;)

There is something already in the game right? Your crewmembers can get diahria (or however you write it :p).
Did you buy that? I only faked it through a log message to give a reason for your wounded crew dying.... :wp
 
Did you buy that? I only faked it through a log message to give a reason for your wounded crew dying.... :wp

Well maybe the perk should make sure your wounded crew doesn't die then :p.
 
Well maybe the perk should make sure your wounded crew doesn't die then :p.
That's what your doctor's defence skill is for. Relevant code in PROGRAM\Characters\CharacterUtilite.c:
Code:
// PB -->
int GetWoundedHealedPerDay(ref _refCharacter)
{
   int healing_rate = HEALED_PER_DAY;
   if(CharacterHasOfficerType(_refCharacter, OFFIC_TYPE_DOCTOR))
     healing_rate = healing_rate + CharacterGetOfficerSkill(_refCharacter, OFFIC_TYPE_DOCTOR, "defence");
   if(GetCargoGoods(_refCharacter, GOOD_TREATMENT) > 0)
     healing_rate = healing_rate + HEALED_WITH_MEDS;
   return makeint(0.5 * healing_rate + rand(healing_rate));
}

int GetWoundedKilledPerDay(ref _refCharacter)
{
   int death_rate = KILLED_PER_DAY;
   if(CharacterHasOfficerType(_refCharacter, OFFIC_TYPE_DOCTOR))
     death_rate = death_rate - CharacterGetOfficerSkill(_refCharacter, OFFIC_TYPE_DOCTOR, "defence");
   if(GetCargoGoods(_refCharacter, GOOD_TREATMENT) > 0)
     death_rate = death_rate - HEALED_WITH_MEDS;
   return makeint(0.5 * death_rate + rand(death_rate));
}

bool CharacterHasOfficerType(ref _refCharacter, string OfficerType)
{
   int i, cn;
   if(IsMainCharacter(_refCharacter))
   {
     int num = GetPassengersQuantity(_refCharacter);
     for(i = 0; i < num; i++)
     {
       cn = GetPassenger(_refCharacter, i);
       if(cn < 0) continue;
       if(GetAttribute(GetCharacter(cn),"quest.officertype") == OfficerType &&
         !IsPrisoner(GetCharacter(cn)) && !IsCompanion(GetCharacter(cn))) return true;
     }
   }
   else
   {
     for(i = 1; i < 4; i++)
     {
       cn = GetOfficersIndex(&_refCharacter,i);
       if(cn < 0) continue;
       if(GetAttribute(GetCharacter(cn),"quest.officertype") == OfficerType) return true;
     }
   }
   return false;
}

int CharacterGetOfficerSkill(ref _refCharacter, string OfficerType, string skillName)
{
   int i, cn;
   int skillvalue = 0;
   if(IsMainCharacter(_refCharacter))
   {
     int num = GetPassengersQuantity(_refCharacter);
     for(i = 0; i < num; i++)
     {
       cn = GetPassenger(_refCharacter, i);
       if(cn < 0) continue;
       if(GetAttribute(GetCharacter(cn),"quest.officertype") == OfficerType &&
         !IsPrisoner(GetCharacter(cn)) && !IsCompanion(GetCharacter(cn)))
       {
         if(CalcCharacterSkill(GetCharacter(cn), skillName) > skillvalue)
           skillvalue = CalcCharacterSkill(GetCharacter(cn), skillName);
       }
     }
   }
   else
   {
     for(i = 1; i < 4; i++)
     {
       cn = GetOfficersIndex(&_refCharacter,i);
       if(cn < 0) continue;
       if(GetAttribute(GetCharacter(cn),"quest.officertype") == OfficerType &&
         !IsPrisoner(GetCharacter(cn)) && !IsCompanion(GetCharacter(cn)))
       {
         if(CalcCharacterSkill(GetCharacter(cn), skillName) > skillvalue)
           skillvalue = CalcCharacterSkill(GetCharacter(cn), skillName);
       }
     }
   }
   return skillvalue;
}
// PB <--
Might contain some interesting stuff for those special officer types too.
This is pretty much the only time that specifically the DOCTOR's skill is being checked.
 
Yeah so I could make a perk which adds to this heal rate even more. As captain you could have it cause the captain could also heal people right. And if you hire a doctor he should have that perk in most cases to (incase you dont have it yet). So that should even add to your heal rate (maybe even add a little bonus to the crew HP?). And also the perk should increase the effectiveness of potion you use a bit.
Think that would be a very usefull perk to have..... right?

The reason I want to add many perks is caues they increase the lifespan of your game. The more perks are added the more levels you have to gain to get everything. This makes people do stuff so they get these levels.
 
Back
Top