Brainstorm and gathering of different ideas. mine and others
Skill control
Say that your max effective skill is 6 while in those things that are related to the ship and the crew so your meele could be 10.
but leadership is topped in effectiveness by you at 6 the last 4 need to come from say 2 officers or just one.
Limit Officer perks to type specifics.
Ship Control management
Class 7 ships need no officers class 6 need one and then a exponential growth up to rank 1 ships that need 1 Captain = You and 9 officers
7 - You
6 - You+1
5 - You+2
4 - You+3
3 - You+5
2 - You+7
1 - You+9
Functions and management.
OFFIC_TYPE_FIRSTMATE functions = Automanagement of active party
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "4";
ch.skill.Fencing = "1";
ch.skill.Sailing = "2";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "0";
ch.skill.Repair = "0";
ch.skill.Defence = "0";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.BasicBattleState");
(Npchar,"perks.list.AdvancedBattleState");
(Npchar,"perks.list.ShipDefenseProfessional");
(Npchar,"perks.list.IronWill");
OFFIC_TYPE_DOCTOR functions = Health and regen
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "0";
ch.skill.Fencing = "0";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "0";
ch.skill.Repair = "0";
ch.skill.Defence = "4";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.BasicBattleState");
(Npchar,"perks.list.AdvancedBattleState");
(Npchar,"perks.list.ShipDefenseProfessional");
OFFIC_TYPE_CARPENTER functions = Ship repair
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "0";
ch.skill.Fencing = "0";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "0";
ch.skill.Repair = "4";
ch.skill.Defence = "0";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.LightRepair");
(Npchar,"perks.list.InstantRepair");
OFFIC_TYPE_BOATSWAIN functions = Crewmorale and boarders
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "3";
ch.skill.Fencing = "2";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "3";
ch.skill.Repair = "0";
ch.skill.Defence = "2";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.List.BasicDefense");
(Npchar,"perks.List.AdvancedDefense");
(Npchar,"perks.List.Toughness"); //MAXIMUS 20.09.2006
(Npchar,"perks.List.SwordplayProfessional");
(Npchar,"perks.List.CriticalHit");
(Npchar,"perks.List.Gunman");
(Npchar,"perks.List.GunProfessional");
(Npchar,"perks.list.LongRangeGrappling");
(Npchar,"perks.list.GrapplingProfessional");
(Npchar,"perks.list.IronWill");
OFFIC_TYPE_ABORDAGE functions = Boarding and Guard duty
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "1";
ch.skill.Fencing = "3";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "3";
ch.skill.Repair = "0";
ch.skill.Defence = "3";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.List.BasicDefense");
(Npchar,"perks.List.AdvancedDefense");
(Npchar,"perks.List.Toughness"); //MAXIMUS 20.09.2006
(Npchar,"perks.List.SwordplayProfessional");
(Npchar,"perks.List.CriticalHit");
(Npchar,"perks.List.Gunman");
(Npchar,"perks.List.GunProfessional");
OFFIC_TYPE_NAVIGATOR functions = Sailto Functions Route to island or something like it
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "0";
ch.skill.Fencing = "1";
ch.skill.Sailing = "6";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "0";
ch.skill.Repair = "0";
ch.skill.Defence = "0";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.ShipSpeedUp");
(Npchar,"perks.list.ShipTurnRateUp");
(Npchar,"perks.list.StormProfessional");
(Npchar,"perks.list.Turn180");
(Npchar,"perks.list.SandbankManeuver");
OFFIC_TYPE_CANNONEER functions = Cannons and cannon accuracy
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "0";
ch.skill.Fencing = "1";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "3";
ch.skill.Cannons = "3";
ch.skill.Grappling = "0";
ch.skill.Repair = "0";
ch.skill.Defence = "0";
ch.skill.Commerce = "0";
ch.skill.Sneak = "1";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.FastReload");
(Npchar,"perks.list.ImmediateReload");
(Npchar,"perks.list.HullDamageUp");
(Npchar,"perks.list.SailsDamageUp");
(Npchar,"perks.list.CrewDamageUp");
(Npchar,"perks.list.LongRangeShoot");
(Npchar,"perks.list.CriticalShoot");
(Npchar,"perks.list.CannonProfessional");
OFFIC_TYPE_QMASTER functions = Goods, Rations and divide the plunder
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "0";
ch.skill.Fencing = "1";
ch.skill.Sailing = "0";
ch.skill.Accuracy = "0";
ch.skill.Cannons = "0";
ch.skill.Grappling = "0";
ch.skill.Repair = "0";
ch.skill.Defence = "0";
ch.skill.Commerce = "4";
ch.skill.Sneak = "3";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.Trustworthy");
(Npchar,"perks.list.BasicCommerce");
(Npchar,"perks.list.AdvancedCommerce");
(Npchar,"perks.list.BasicLandOwner"); // GZ
OFFIC_TYPE_CAPNAVY functions = Specific captain For escort ships and such.
ch.reputation = "None";
ch.experience = "0";
ch.skill.Leadership = "6";
ch.skill.Fencing = "6";
ch.skill.Sailing = "6";
ch.skill.Accuracy = "6";
ch.skill.Cannons = "6";
ch.skill.Grappling = "6";
ch.skill.Repair = "6";
ch.skill.Defence = "6";
ch.skill.Commerce = "6";
ch.skill.Sneak = "6";
(Npchar,"perks.list.SharedExperience");
(Npchar,"perks.list.InstantBoarding");
(Npchar,"perks.list.ShipSpeedUp");
(Npchar,"perks.list.ShipTurnRateUp");
(Npchar,"perks.list.StormProfessional");
(Npchar,"perks.list.Turn180");
(Npchar,"perks.list.SandbankManeuver");
(Npchar,"perks.list.SailingProfessional");
(Npchar,"perks.list.LongRangeGrappling");
(Npchar,"perks.list.GrapplingProfessional");
(Npchar,"perks.list.IronWill");
(Npchar,"perks.list.LightRepair");
(Npchar,"perks.list.InstantRepair");
(Npchar,"perks.list.BasicBattleState");
(Npchar,"perks.list.AdvancedBattleState");
(Npchar,"perks.list.ShipDefenseProfessional");
Something like that i thought the officers should be limited to their type of function
with perks and such. but i can't find my way around in code so im going to sleep now or ill try..