Career Mode User Guide: Difference between revisions

From FSFO Support Hub
No edit summary
No edit summary
Line 1: Line 1:
= FSFO Career Mode User Guide =
= FSFO Career Mode User Guide =


Career Mode adds a persistent pilot progression system to FSFO. It uses a local database to track your pilot profile, your active schedule, and your permanent flight history.
This page explains how Career Mode works in FSFO, including pilot progression, schedules, training, scoring, fatigue, and the permanent flight log.
 
<div style="margin:0.8em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3;">
Career Mode uses a local database to track your pilot profile, your active schedule, and your long-term flight history.
</div>
 
<span id="top"></span>


__TOC__
__TOC__
Line 11: Line 17:
Career Mode is built around three main areas:
Career Mode is built around three main areas:


* '''Pilot Profile''' - Your pilot's name, company, rank, tier, balance, location, type ratings, score, errors, contract legs, and training status
* '''Pilot Profile'''
* '''Current Schedule''' - Your active scheduled legs
Your pilot's name, company, rank, tier, balance, location, type ratings, score, errors, contract legs, and training status
* '''Flight Log''' - Your permanent flight history and performance record


<div style="text-align:right;">[[#top|Back to top]]</div>
* '''Current Schedule'''
Your active scheduled legs
 
* '''Flight Log'''
Your permanent flight history and performance record
 
<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#eef3fb; border-left:4px solid #1f4fa3;">
Use Career Mode if you want persistent progression across multiple flights instead of isolated one-off sessions.
</div>
 
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 30: Line 45:
# Click '''Apply Company'''
# Click '''Apply Company'''


Once accepted, your pilot profile is created and Career Mode will begin tracking your progress.
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c;">
Once accepted, your pilot profile is created and Career Mode begins tracking your progress.
</div>


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 40: Line 57:
The Career Dashboard includes the following major functions:
The Career Dashboard includes the following major functions:


* '''Rebuild Database''' - Creates or recreates the local career database
* '''Rebuild Database'''
* '''Apply Company''' - Applies for a company and creates your pilot profile if needed
Creates or recreates the local career database
* '''Apply Type Rating''' - Starts type-rating training
* '''Generate Schedule''' - Builds your current schedule
* '''Load Stats''' - Refreshes pilot statistics
* '''Save Options''' - Saves career settings
* '''Flight Log''' - Opens the permanent flight history window


'''Note:''' The current '''Show Contract''' button is not implemented yet.
* '''Apply Company'''
Applies for a company and creates your pilot profile if needed


<div style="text-align:right;">[[#top|Back to top]]</div>
* '''Apply Type Rating'''
Starts type-rating training
 
* '''Generate Schedule'''
Builds your current schedule
 
* '''Load Stats'''
Refreshes pilot statistics
 
* '''Save Options'''
Saves career settings
 
* '''Flight Log'''
Opens the permanent flight history window
 
<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
<strong>NOTE:</strong> The current <strong>Show Contract</strong> button is not implemented yet.
</div>
 
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 56: Line 88:
== Career Options ==
== Career Options ==


Career Mode currently supports the following options:
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3;">
These options affect how schedules are generated, when flights count toward progression, and whether readiness checks can block a flight.
</div>
 
* '''Start from last airport'''
Requires you to begin your next career flight from your saved current location. If enabled, FSFO checks that you are within 10 NM of the pilot's stored airport before the flight is considered ready.
 
* '''Fatal crash starts over'''
If enabled, a fatal crash can end your current career and force you to start over.
 
* '''Must fly scheduled flight'''
Only credits career progress when you complete the next pending scheduled leg in order. If enabled and you do not fly the correct leg, the flight can still be logged, but it will not advance total legs, average score, balance, rank, or career tier.
 
* '''Passenger comfort'''
Enables passenger-comfort rules so smoother, better-managed flights matter more to your career results.
 
* '''Can be fired'''
Enables the career rule that allows poor performance or major failures to put your employment at risk.


* '''Start from last airport''' - Requires you to begin your next career flight from your saved current location. If enabled, FSFO checks that you are within 10 NM of the pilot's stored airport before the flight is considered ready.
* '''Enable fatigue'''
* '''Fatal crash starts over''' - If enabled, a fatal crash can end your current career and force you to start over.
Turns on fatigue tracking. If enabled, FSFO checks recent workload and can block career-flight readiness when fatigue rises above the allowed threshold.
* '''Must fly scheduled flight''' - Only credits career progress when you complete the next pending scheduled leg in order. If enabled and you do not fly the correct leg, the flight can still be logged, but it will not advance total legs, average score, balance, rank, or career tier.
* '''Passenger comfort''' - Enables passenger-comfort rules so smoother, better-managed flights matter more to your career results.
* '''Can be fired''' - Enables the career rule that allows poor performance or major failures to put your employment at risk.
* '''Enable fatigue''' - Turns on fatigue tracking. If enabled, FSFO checks recent workload and can block career-flight readiness when fatigue rises above the allowed threshold.
* '''Schedule based on rank''' - Automatically builds schedules using the pilot's current rank and tier to determine the maximum leg distance. If a full schedule cannot be built within that cap, FSFO falls back to the full eligible route set.
* '''Must have type rating''' - Requires the pilot to hold the appropriate type rating before operating aircraft that need one.
* '''Lock schedule until complete''' - Prevents generating a new schedule while an existing schedule still has incomplete legs.
* '''Application based on rank''' - Makes company applications depend on your current rank, including tier eligibility and hiring probability. It also enforces the rejection cooldown for repeat applications.


These options affect how schedules are generated, when flights count toward progression, and whether readiness checks will block a flight.
* '''Schedule based on rank'''
Automatically builds schedules using the pilot's current rank and tier to determine the maximum leg distance. If a full schedule cannot be built within that cap, FSFO falls back to the full eligible route set.


<div style="text-align:right;">[[#top|Back to top]]</div>
* '''Must have type rating'''
Requires the pilot to hold the appropriate type rating before operating aircraft that need one.
 
* '''Lock schedule until complete'''
Prevents generating a new schedule while an existing schedule still has incomplete legs.
 
* '''Application based on rank'''
Makes company applications depend on your current rank, including tier eligibility and hiring probability. It also enforces the rejection cooldown for repeat applications.
 
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 79: Line 130:
Companies are loaded from ''Airlines.cfg''. Each airline has a tier. That tier affects hiring rules, contract leg requirements, and pay scaling.
Companies are loaded from ''Airlines.cfg''. Each airline has a tier. That tier affects hiring rules, contract leg requirements, and pay scaling.


<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
Current contract-leg requirements by company tier:
Current contract-leg requirements by company tier:


* '''Tier 1''' - 30 legs
Tier 1 = 30 legs
* '''Tier 2''' - 60 legs
Tier 2 = 60 legs
* '''Tier 3''' - 90 legs
Tier 3 = 90 legs
* '''Tier 4''' - 120 legs
Tier 4 = 120 legs
* '''Tier 5''' - 150 legs
Tier 5 = 150 legs
</pre>
</div>


<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
If you leave a company before satisfying the required legs, Career Mode can apply a contract-break penalty.
If you leave a company before satisfying the required legs, Career Mode can apply a contract-break penalty.
</div>


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 111: Line 168:
* your pay multiplier through Career Tier
* your pay multiplier through Career Tier


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 122: Line 179:
* '''Average Score'''
* '''Average Score'''


Your '''Average Score must be at least 92.0''' before any promotion is possible.
<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
<strong>Requirement:</strong> Your <strong>Average Score</strong> must be at least <strong>92.0</strong> before any promotion is possible.
</div>


<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<pre>
Promotion thresholds:
Promotion thresholds:


* '''50 total legs''' - promoted to '''Second Officer'''
50 total legs = Second Officer
* '''125 total legs''' - promoted to '''First Officer'''
125 total legs = First Officer
* '''200 total legs''' - promoted to '''Captain'''
200 total legs = Captain
* '''350 total legs''' - promoted to '''Senior Captain'''
350 total legs = Senior Captain
</pre>
</div>


If your flight is not credited toward progression, it will not count toward promotion.
If your flight is not credited toward progression, it will not count toward promotion.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 141: Line 204:
Career Tier increases with promotion. Pay is recalculated using a tier multiplier.
Career Tier increases with promotion. Pay is recalculated using a tier multiplier.


<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<pre>
Current pay multipliers:
Current pay multipliers:


* '''Tier 1''' - 1.00x
Tier 1 = 1.00x
* '''Tier 2''' - 1.04x
Tier 2 = 1.04x
* '''Tier 3''' - 1.08x
Tier 3 = 1.08x
* '''Tier 4''' - 1.12x
Tier 4 = 1.12x
* '''Tier 5''' - 1.16x
Tier 5 = 1.16x
</pre>
</div>


When you are promoted, FSFO updates:
When you are promoted, FSFO updates:
Line 155: Line 222:
* your pay per hour
* your pay per hour


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 163: Line 230:
If '''Application based on rank''' is enabled, not every pilot can freely join every airline tier.
If '''Application based on rank''' is enabled, not every pilot can freely join every airline tier.


<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
Current hiring chances:
Current hiring chances:


* '''Cadet'''
Cadet
** Tier 1 = 100%
- Tier 1 = 100%
* '''Second Officer'''
 
** Tier 1 = 100%
Second Officer
** Tier 2 = 50%
- Tier 1 = 100%
* '''First Officer'''
- Tier 2 = 50%
** Tier 1 = 100%
 
** Tier 2 = 100%
First Officer
** Tier 3 = 50%
- Tier 1 = 100%
* '''Captain'''
- Tier 2 = 100%
** Tier 1 = 100%
- Tier 3 = 50%
** Tier 2 = 100%
 
** Tier 3 = 75%
Captain
* '''Senior Captain'''
- Tier 1 = 100%
** Tier 1 = 100%
- Tier 2 = 100%
** Tier 2 = 100%
- Tier 3 = 75%
** Tier 3 = 95%
 
Senior Captain
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 95%
</pre>
</div>


<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
If you are rejected by the same company, FSFO enforces a 7-day wait before trying again.
If you are rejected by the same company, FSFO enforces a 7-day wait before trying again.
</div>


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 202: Line 279:
Two training paths are available:
Two training paths are available:


* '''Private Training''' - costs money immediately
* '''Private Training'''
* '''Company Training''' - extends contract legs instead of charging the balance directly
Costs money immediately
 
* '''Company Training'''
Extends contract legs instead of charging the balance directly


Training duration and costs depend on the type rating group.
Training duration and costs depend on the type rating group.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 222: Line 302:
If '''Schedule based on rank''' is enabled, FSFO automatically applies a maximum leg distance by rank:
If '''Schedule based on rank''' is enabled, FSFO automatically applies a maximum leg distance by rank:


* '''Rank 1''' - 350 NM
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
* '''Rank 2''' - 650 NM
<pre>
* '''Rank 3''' - 1100 NM
Rank 1 = 350 NM
* '''Rank 4''' - 1800 NM
Rank 2 = 650 NM
* '''Rank 5''' - 3000 NM
Rank 3 = 1100 NM
Rank 4 = 1800 NM
Rank 5 = 3000 NM
</pre>
</div>


FSFO first tries to build a schedule using that cap. If it cannot build a full schedule, it falls back to the full eligible route pool.
FSFO first tries to build a schedule using that cap. If it cannot build a full schedule, it falls back to the full eligible route pool.
Line 234: Line 318:
If '''Lock schedule until complete''' is enabled, FSFO will not generate a new schedule while an incomplete schedule already exists.
If '''Lock schedule until complete''' is enabled, FSFO will not generate a new schedule while an incomplete schedule already exists.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 251: Line 335:
FSFO then divides scored routes into a preferred top bucket and a lower bucket.
FSFO then divides scored routes into a preferred top bucket and a lower bucket.


The current rank-based bid chances are:
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
Current rank-based bid chances:


* '''Rank 1''' - 10%
Rank 1 = 10%
* '''Rank 2''' - 35%
Rank 2 = 35%
* '''Rank 3''' - 60%
Rank 3 = 60%
* '''Rank 4''' - 90%
Rank 4 = 90%
* '''Rank 5''' - 95%
Rank 5 = 95%
</pre>
</div>


If the bidding roll succeeds, FSFO selects from the top 30% of scored routes. Otherwise, it selects from the lower portion of the list.
If the bidding roll succeeds, FSFO selects from the top 30% of scored routes. Otherwise, it selects from the lower portion of the list.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 269: Line 357:
You can set a preferred airport for a company. FSFO uses that airport when generating schedules and gives preference to routes that end there, especially near the end of a generated trip.
You can set a preferred airport for a company. FSFO uses that airport when generating schedules and gives preference to routes that end there, especially near the end of a generated trip.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 277: Line 365:
After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.
After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 285: Line 373:
A flight does not automatically count toward career progression.
A flight does not automatically count toward career progression.


If '''Must fly scheduled flight''' is enabled, the flight must complete the '''next pending leg in order'''. FSFO compares:
<div style="margin:0.6em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
If <strong>Must fly scheduled flight</strong> is enabled, the flight must complete the <strong>next pending leg in order</strong>.
</div>
 
FSFO compares:


* the actual flight number
* the actual flight number
Line 306: Line 398:
* it will not trigger promotion
* it will not trigger promotion


If the next scheduled leg is completed correctly, it is marked '''COMPLETED'''. If that was the final remaining leg, the schedule is cleared.
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c;">
If the next scheduled leg is completed correctly, it is marked <strong>COMPLETED</strong>. If that was the final remaining leg, the schedule is cleared.
</div>


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 337: Line 431:
These events affect the total score and increment the appropriate error counters.
These events affect the total score and increment the appropriate error counters.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 349: Line 443:
* distance from the runway threshold
* distance from the runway threshold


<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
When runway data is available, the current weighting is:
When runway data is available, the current weighting is:


* '''40%''' vertical speed
Vertical speed      = 40%
* '''30%''' G-force
G-force             = 30%
* '''30%''' touchdown distance
Touchdown distance  = 30%
</pre>
</div>


If runway threshold data is unavailable, the distance portion is redistributed proportionally between vertical speed and G-force.
If runway threshold data is unavailable, the distance portion is redistributed proportionally between vertical speed and G-force.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 370: Line 468:
A flight is currently marked '''Qualified for Progression''' when the total score meets the system's qualification rule. The flight log stores that qualification result along with pay, fines, and error counts.
A flight is currently marked '''Qualified for Progression''' when the total score meets the system's qualification rule. The flight log stores that qualification result along with pay, fines, and error counts.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 387: Line 485:
* '''Last 7 days'''
* '''Last 7 days'''


The current formula is:
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;">
<pre>
Current formula:


* '''Acute Load''' = max(legs in last 24h / 4, block hours in last 24h / 8)
Acute Load = max(legs in last 24h / 4, block hours in last 24h / 8)
* '''Short Load''' = max(legs in last 72h / 8, block hours in last 72h / 18)
Short Load = max(legs in last 72h / 8, block hours in last 72h / 18)
* '''Weekly Load''' = max(legs in last 7d / 16, block hours in last 7d / 35)
Weekly Load = max(legs in last 7d / 16, block hours in last 7d / 35)
</pre>
</div>


Each load is clamped from 0 to 1.
Each load is clamped from 0 to 1.


<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;">
<pre>
Final fatigue:
Final fatigue:


* '''Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)'''
Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)
</pre>
</div>


The result is capped at 100 and rounded to the nearest whole percent.
The result is capped at 100 and rounded to the nearest whole percent.
Line 403: Line 509:
If fatigue is above the allowed limit, Career Mode readiness should fail until workload decreases.
If fatigue is above the allowed limit, Career Mode readiness should fail until workload decreases.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 432: Line 538:
Use the Flight Log window to review your performance over time.
Use the Flight Log window to review your performance over time.


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----


== Notes ==
== Notes ==
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3;">
Quick reference notes for current Career Mode behavior.
</div>


* Career Mode currently supports one local pilot profile
* Career Mode currently supports one local pilot profile
Line 443: Line 553:
* The current '''Show Contract''' button is not implemented yet
* The current '''Show Contract''' button is not implemented yet


<div style="text-align:right;">[[#top|Back to top]]</div>
[[FSFO Career Mode User Guide#top|Back to top]]


----
----
Line 450: Line 560:


=== "PilotProfile was not found" ===
=== "PilotProfile was not found" ===
<div style="margin:0.4em 0; padding:0.6em 0.8em; background:#fdf7f2; border-left:4px solid #f0ad4e;">
Create or rebuild the database, then apply to a company.
Create or rebuild the database, then apply to a company.
</div>


=== No schedule was generated ===
=== No schedule was generated ===
Check that:
Check that:


Line 462: Line 576:


=== My flight did not count toward progression ===
=== My flight did not count toward progression ===
If '''Must fly scheduled flight''' is enabled, verify that:
If '''Must fly scheduled flight''' is enabled, verify that:


Line 470: Line 585:


=== I cannot generate a new schedule ===
=== I cannot generate a new schedule ===
If '''Lock schedule until complete''' is enabled, finish the current schedule first or turn that option off.
If '''Lock schedule until complete''' is enabled, finish the current schedule first or turn that option off.
----
<div style="margin:1em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3;">
For additional setup help, see [[Getting Started]]. For general problem solving, see [[Troubleshooting]].
</div>


[[Category:User Guide]]
[[Category:User Guide]]
[[Category:Career Mode]]
[[Category:Career Mode]]

Revision as of 12:18, 26 March 2026

FSFO Career Mode User Guide

This page explains how Career Mode works in FSFO, including pilot progression, schedules, training, scoring, fatigue, and the permanent flight log.

Career Mode uses a local database to track your pilot profile, your active schedule, and your long-term flight history.


Overview

Career Mode is built around three main areas:

  • Pilot Profile

Your pilot's name, company, rank, tier, balance, location, type ratings, score, errors, contract legs, and training status

  • Current Schedule

Your active scheduled legs

  • Flight Log

Your permanent flight history and performance record

Use Career Mode if you want persistent progression across multiple flights instead of isolated one-off sessions.

Back to top


Getting Started

To begin using Career Mode:

  1. Open the Career Dashboard
  2. Click Rebuild Database the first time you use Career Mode
  3. Enter your pilot name
  4. Select a company
  5. Optionally select a type rating
  6. Click Apply Company

Once accepted, your pilot profile is created and Career Mode begins tracking your progress.

Back to top


Career Dashboard

The Career Dashboard includes the following major functions:

  • Rebuild Database

Creates or recreates the local career database

  • Apply Company

Applies for a company and creates your pilot profile if needed

  • Apply Type Rating

Starts type-rating training

  • Generate Schedule

Builds your current schedule

  • Load Stats

Refreshes pilot statistics

  • Save Options

Saves career settings

  • Flight Log

Opens the permanent flight history window

NOTE: The current Show Contract button is not implemented yet.

Back to top


Career Options

These options affect how schedules are generated, when flights count toward progression, and whether readiness checks can block a flight.

  • Start from last airport

Requires you to begin your next career flight from your saved current location. If enabled, FSFO checks that you are within 10 NM of the pilot's stored airport before the flight is considered ready.

  • Fatal crash starts over

If enabled, a fatal crash can end your current career and force you to start over.

  • Must fly scheduled flight

Only credits career progress when you complete the next pending scheduled leg in order. If enabled and you do not fly the correct leg, the flight can still be logged, but it will not advance total legs, average score, balance, rank, or career tier.

  • Passenger comfort

Enables passenger-comfort rules so smoother, better-managed flights matter more to your career results.

  • Can be fired

Enables the career rule that allows poor performance or major failures to put your employment at risk.

  • Enable fatigue

Turns on fatigue tracking. If enabled, FSFO checks recent workload and can block career-flight readiness when fatigue rises above the allowed threshold.

  • Schedule based on rank

Automatically builds schedules using the pilot's current rank and tier to determine the maximum leg distance. If a full schedule cannot be built within that cap, FSFO falls back to the full eligible route set.

  • Must have type rating

Requires the pilot to hold the appropriate type rating before operating aircraft that need one.

  • Lock schedule until complete

Prevents generating a new schedule while an existing schedule still has incomplete legs.

  • Application based on rank

Makes company applications depend on your current rank, including tier eligibility and hiring probability. It also enforces the rejection cooldown for repeat applications.

Back to top


Companies and Company Tiers

Companies are loaded from Airlines.cfg. Each airline has a tier. That tier affects hiring rules, contract leg requirements, and pay scaling.

Current contract-leg requirements by company tier:

Tier 1 = 30 legs
Tier 2 = 60 legs
Tier 3 = 90 legs
Tier 4 = 120 legs
Tier 5 = 150 legs

If you leave a company before satisfying the required legs, Career Mode can apply a contract-break penalty.

Back to top


Ranks

Career Mode uses a five-rank system:

  • Rank 1 - Cadet
  • Rank 2 - Second Officer
  • Rank 3 - First Officer
  • Rank 4 - Captain
  • Rank 5 - Senior Captain

Your rank affects:

  • the maximum leg distance used in automatic scheduling
  • your bidding advantage when schedules are generated
  • which companies you can apply to if rank-based hiring is enabled
  • your promotion eligibility
  • your pay multiplier through Career Tier

Back to top


How Promotions Work

Promotions are based on two things:

  • Total Legs
  • Average Score

Requirement: Your Average Score must be at least 92.0 before any promotion is possible.

Promotion thresholds:

50 total legs  = Second Officer
125 total legs = First Officer
200 total legs = Captain
350 total legs = Senior Captain

If your flight is not credited toward progression, it will not count toward promotion.

Back to top


Career Tier and Pay

Career Tier increases with promotion. Pay is recalculated using a tier multiplier.

Current pay multipliers:

Tier 1 = 1.00x
Tier 2 = 1.04x
Tier 3 = 1.08x
Tier 4 = 1.12x
Tier 5 = 1.16x

When you are promoted, FSFO updates:

  • your rank
  • your career tier
  • your pay per hour

Back to top


Company Applications

If Application based on rank is enabled, not every pilot can freely join every airline tier.

Current hiring chances:

Cadet
- Tier 1 = 100%

Second Officer
- Tier 1 = 100%
- Tier 2 = 50%

First Officer
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 50%

Captain
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 75%

Senior Captain
- Tier 1 = 100%
- Tier 2 = 100%
- Tier 3 = 95%

If you are rejected by the same company, FSFO enforces a 7-day wait before trying again.

Back to top


Type Ratings and Training

Use Apply Type Rating after you have joined a company.

Type rating requests will be blocked if:

  • no pilot profile exists
  • the pilot is not currently employed by a company
  • the pilot is already in training
  • the pilot already holds that type rating

Two training paths are available:

  • Private Training

Costs money immediately

  • Company Training

Extends contract legs instead of charging the balance directly

Training duration and costs depend on the type rating group.

Back to top


Schedule Generation

Schedules are built from your route data and filtered by:

  • current airline
  • rank
  • type rating, if type-rating enforcement is enabled
  • current location and preferred airport logic

If Schedule based on rank is enabled, FSFO automatically applies a maximum leg distance by rank:

Rank 1 = 350 NM
Rank 2 = 650 NM
Rank 3 = 1100 NM
Rank 4 = 1800 NM
Rank 5 = 3000 NM

FSFO first tries to build a schedule using that cap. If it cannot build a full schedule, it falls back to the full eligible route pool.

If Schedule based on rank is disabled, the Max NM value entered by the user is enforced strictly.

If Lock schedule until complete is enabled, FSFO will not generate a new schedule while an incomplete schedule already exists.

Back to top


Schedule Bidding System

When rank-based scheduling is enabled, FSFO scores route candidates and applies a bidding system.

Route scoring currently considers:

  • base block-time value
  • penalties for very short flights
  • rank-based length bias
  • preferred-airport bonuses

FSFO then divides scored routes into a preferred top bucket and a lower bucket.

Current rank-based bid chances:

Rank 1 = 10%
Rank 2 = 35%
Rank 3 = 60%
Rank 4 = 90%
Rank 5 = 95%

If the bidding roll succeeds, FSFO selects from the top 30% of scored routes. Otherwise, it selects from the lower portion of the list.

Back to top


Preferred Airport

You can set a preferred airport for a company. FSFO uses that airport when generating schedules and gives preference to routes that end there, especially near the end of a generated trip.

Back to top


Route Map

After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.

Back to top


When a Flight Counts Toward Progression

A flight does not automatically count toward career progression.

If Must fly scheduled flight is enabled, the flight must complete the next pending leg in order.

FSFO compares:

  • the actual flight number
  • the actual departure airport
  • the actual arrival airport

For the leg to count, the pilot must:

  • start at the correct airport
  • arrive at the correct airport
  • match the next pending scheduled leg

If the flight does not meet that requirement:

  • it can still be logged
  • it will not increase Total Legs
  • it will not update Average Score
  • it will not reduce Contract Remaining Legs
  • it will not update Balance
  • it will not trigger promotion

If the next scheduled leg is completed correctly, it is marked COMPLETED. If that was the final remaining leg, the schedule is cleared.

Back to top


Flying a Career Flight

Before flight, FSFO captures:

  • company
  • flight number
  • aircraft
  • departure airport
  • arrival airport

During flight, Career Mode monitors multiple operational and scoring categories.

Examples include:

  • pitch exceedance
  • bank exceedance
  • G-force exceedance
  • IAS exceedance
  • taxi-speed exceedance
  • light misuse
  • fuel-management failures
  • landing-performance issues

These events affect the total score and increment the appropriate error counters.

Back to top


Landing Score

Landing Score is based on:

  • vertical speed
  • G-force
  • distance from the runway threshold
When runway data is available, the current weighting is:

Vertical speed      = 40%
G-force             = 30%
Touchdown distance  = 30%

If runway threshold data is unavailable, the distance portion is redistributed proportionally between vertical speed and G-force.

Back to top


Total Score and Qualification

Career Mode stores both:

  • Landing Score
  • Total Score

A flight is currently marked Qualified for Progression when the total score meets the system's qualification rule. The flight log stores that qualification result along with pay, fines, and error counts.

Back to top


Fatigue

If Enable fatigue is turned on, FSFO calculates fatigue from your recent workload using both:

  • number of legs
  • block hours

It evaluates three rolling workload windows:

  • Last 24 hours
  • Last 72 hours
  • Last 7 days
Current formula:

Acute Load  = max(legs in last 24h / 4,  block hours in last 24h / 8)
Short Load  = max(legs in last 72h / 8,  block hours in last 72h / 18)
Weekly Load = max(legs in last 7d  / 16, block hours in last 7d  / 35)

Each load is clamped from 0 to 1.

Final fatigue:

Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)

The result is capped at 100 and rounded to the nearest whole percent.

If fatigue is above the allowed limit, Career Mode readiness should fail until workload decreases.

Back to top


Flight Log

The Flight Log is the permanent history of your career flights.

Each flight log entry stores:

  • date
  • company
  • flight number
  • aircraft
  • from airport
  • to airport
  • block time
  • landing score
  • total score
  • landing rate
  • landing G
  • block fuel
  • critical/configuration/lights/speed error counts
  • qualification result
  • pay earned
  • fines paid

Use the Flight Log window to review your performance over time.

Back to top


Notes

Quick reference notes for current Career Mode behavior.

  • Career Mode currently supports one local pilot profile
  • The current schedule stores only the active trip
  • The flight log is the permanent historical record
  • The current Show Contract button is not implemented yet

Back to top


Troubleshooting

"PilotProfile was not found"

Create or rebuild the database, then apply to a company.

No schedule was generated

Check that:

  • routes.csv exists
  • the file format is valid
  • routes match the current airline
  • type-rating rules are not filtering everything out
  • the requested leg count is realistic for the route pool

My flight did not count toward progression

If Must fly scheduled flight is enabled, verify that:

  • you flew the next pending leg in order
  • you started at the scheduled departure airport
  • you arrived at the scheduled arrival airport
  • the flight number matched when required

I cannot generate a new schedule

If Lock schedule until complete is enabled, finish the current schedule first or turn that option off.


For additional setup help, see Getting Started. For general problem solving, see Troubleshooting.