Career Mode User Guide: Difference between revisions
Randomshadow (talk | contribs) 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. | |||
__TOC__ | |||
---- | |||
== Overview == | == Overview == | ||
Career Mode is built around three main areas: | |||
* '''Pilot Profile''' - | |||
* '''Current Schedule''' - | * '''Pilot Profile''' - Your pilot's name, company, rank, tier, balance, location, type ratings, score, errors, contract legs, and training status | ||
* '''Flight Log''' - | * '''Current Schedule''' - Your active scheduled legs | ||
* '''Flight Log''' - Your permanent flight history and performance record | |||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Getting Started == | == Getting Started == | ||
To begin using Career Mode: | |||
# Open the '''Career Dashboard''' | # Open the '''Career Dashboard''' | ||
# Click '''Rebuild Database''' the first time you use Career Mode | # Click '''Rebuild Database''' the first time you use Career Mode | ||
| Line 18: | Line 31: | ||
Once accepted, your pilot profile is created and Career Mode will begin tracking your progress. | Once accepted, your pilot profile is created and Career Mode will begin tracking your progress. | ||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Career Dashboard == | == Career Dashboard == | ||
The Career Dashboard includes the following major functions: | The Career Dashboard includes the following major functions: | ||
* '''Rebuild Database''' - | |||
* '''Apply Company''' - | * '''Rebuild Database''' - Creates or recreates the local career database | ||
* '''Apply Type Rating''' - | * '''Apply Company''' - Applies for a company and creates your pilot profile if needed | ||
* '''Generate Schedule''' - | * '''Apply Type Rating''' - Starts type-rating training | ||
* '''Load Stats''' - | * '''Generate Schedule''' - Builds your current schedule | ||
* '''Save Options''' - | * '''Load Stats''' - Refreshes pilot statistics | ||
* '''Flight Log''' - | * '''Save Options''' - Saves career settings | ||
* '''Flight Log''' - Opens the permanent flight history window | |||
'''Note:''' The current '''Show Contract''' button is not implemented yet. | '''Note:''' The current '''Show Contract''' button is not implemented yet. | ||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Career Options == | == Career Options == | ||
Career Mode currently supports the following options: | Career Mode currently supports the following options: | ||
* '''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. | * '''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. | * '''Fatal crash starts over''' - If enabled, a fatal crash can end your current career and force you to start over. | ||
| Line 45: | Line 70: | ||
These options affect how schedules are generated, when flights count toward progression, and whether readiness checks will block a flight. | These options affect how schedules are generated, when flights count toward progression, and whether readiness checks will block a flight. | ||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Companies and Company Tiers == | == 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. | 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: | Current contract-leg requirements by company tier: | ||
* '''Tier 1''' - 30 legs | * '''Tier 1''' - 30 legs | ||
* '''Tier 2''' - 60 legs | * '''Tier 2''' - 60 legs | ||
| Line 57: | Line 88: | ||
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 style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Ranks == | == Ranks == | ||
Career Mode uses a five-rank system: | Career Mode uses a five-rank system: | ||
* '''Rank 1''' - Cadet | * '''Rank 1''' - Cadet | ||
* '''Rank 2''' - Second Officer | * '''Rank 2''' - Second Officer | ||
| Line 67: | Line 104: | ||
Your rank affects: | Your rank affects: | ||
* the maximum leg distance used in automatic scheduling | * the maximum leg distance used in automatic scheduling | ||
* your bidding advantage when schedules are generated | * your bidding advantage when schedules are generated | ||
| Line 72: | Line 110: | ||
* your promotion eligibility | * your promotion eligibility | ||
* your pay multiplier through Career Tier | * your pay multiplier through Career Tier | ||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== How Promotions Work == | == How Promotions Work == | ||
Promotions are based on two things: | Promotions are based on two things: | ||
* '''Total Legs''' | * '''Total Legs''' | ||
* '''Average Score''' | * '''Average Score''' | ||
| Line 81: | Line 125: | ||
Promotion thresholds: | Promotion thresholds: | ||
* '''50 total legs''' - promoted to '''Second Officer''' | * '''50 total legs''' - promoted to '''Second Officer''' | ||
* '''125 total legs''' - promoted to '''First Officer''' | * '''125 total legs''' - promoted to '''First Officer''' | ||
| Line 87: | Line 132: | ||
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> | |||
---- | |||
== Career Tier and Pay == | == Career Tier and Pay == | ||
Career Tier increases with promotion. Pay is recalculated using a tier multiplier. | Career Tier increases with promotion. Pay is recalculated using a tier multiplier. | ||
Current pay multipliers: | Current pay multipliers: | ||
* '''Tier 1''' - 1.00x | * '''Tier 1''' - 1.00x | ||
* '''Tier 2''' - 1.04x | * '''Tier 2''' - 1.04x | ||
| Line 99: | Line 150: | ||
When you are promoted, FSFO updates: | When you are promoted, FSFO updates: | ||
* your rank | * your rank | ||
* your career tier | * your career tier | ||
* your pay per hour | * your pay per hour | ||
<div style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Company Applications == | == Company Applications == | ||
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. | ||
Current hiring chances: | Current hiring chances: | ||
* '''Cadet''' | * '''Cadet''' | ||
** Tier 1 = 100% | ** Tier 1 = 100% | ||
| Line 126: | Line 184: | ||
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 style="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Type Ratings and Training == | == Type Ratings and Training == | ||
Use '''Apply Type Rating''' after you have joined a company. | Use '''Apply Type Rating''' after you have joined a company. | ||
Type rating requests will be blocked if: | Type rating requests will be blocked if: | ||
* no pilot profile exists | * no pilot profile exists | ||
* the pilot is not currently employed by a company | * the pilot is not currently employed by a company | ||
| Line 137: | Line 201: | ||
Two training paths are available: | Two training paths are available: | ||
* '''Private Training''' - costs money immediately | * '''Private Training''' - costs money immediately | ||
* '''Company Training''' - extends contract legs instead of charging the balance directly | * '''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> | |||
---- | |||
== Schedule Generation == | == Schedule Generation == | ||
Schedules are built from your route data and filtered by: | Schedules are built from your route data and filtered by: | ||
* current airline | * current airline | ||
* rank | * rank | ||
| Line 150: | Line 221: | ||
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 | * '''Rank 1''' - 350 NM | ||
* '''Rank 2''' - 650 NM | * '''Rank 2''' - 650 NM | ||
| Line 161: | Line 233: | ||
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> | |||
---- | |||
== Schedule Bidding System == | == Schedule Bidding System == | ||
When rank-based scheduling is enabled, FSFO scores route candidates and applies a bidding system. | When rank-based scheduling is enabled, FSFO scores route candidates and applies a bidding system. | ||
Route scoring currently considers: | Route scoring currently considers: | ||
* base block-time value | * base block-time value | ||
* penalties for very short flights | * penalties for very short flights | ||
| Line 174: | Line 252: | ||
The current rank-based bid chances are: | The current rank-based bid chances are: | ||
* '''Rank 1''' - 10% | * '''Rank 1''' - 10% | ||
* '''Rank 2''' - 35% | * '''Rank 2''' - 35% | ||
| Line 181: | Line 260: | ||
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> | |||
---- | |||
== Preferred Airport == | == 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. | 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> | |||
---- | |||
== Route Map == | == Route Map == | ||
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> | |||
---- | |||
== When a Flight Counts Toward Progression == | == When a Flight Counts Toward Progression == | ||
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: | 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 flight number | ||
* the actual departure airport | * the actual departure airport | ||
| Line 197: | Line 292: | ||
For the leg to count, the pilot must: | For the leg to count, the pilot must: | ||
* start at the correct airport | * start at the correct airport | ||
* arrive at the correct airport | * arrive at the correct airport | ||
| Line 202: | Line 298: | ||
If the flight does not meet that requirement: | If the flight does not meet that requirement: | ||
* it can still be logged | * it can still be logged | ||
* it will not increase Total Legs | * it will not increase Total Legs | ||
| Line 210: | Line 307: | ||
If the next scheduled leg is completed correctly, it is marked '''COMPLETED'''. If that was the final remaining leg, the schedule is cleared. | 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="text-align:right;">[[#top|Back to top]]</div> | |||
---- | |||
== Flying a Career Flight == | == Flying a Career Flight == | ||
Before flight, FSFO captures: | Before flight, FSFO captures: | ||
* company | * company | ||
* flight number | * flight number | ||
| Line 222: | Line 325: | ||
Examples include: | Examples include: | ||
* pitch exceedance | * pitch exceedance | ||
* bank exceedance | * bank exceedance | ||
| Line 232: | Line 336: | ||
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> | |||
---- | |||
== Landing Score == | == Landing Score == | ||
Landing Score is based on: | Landing Score is based on: | ||
* vertical speed | * vertical speed | ||
* G-force | * G-force | ||
| Line 240: | Line 350: | ||
When runway data is available, the current weighting is: | When runway data is available, the current weighting is: | ||
* '''40%''' vertical speed | * '''40%''' vertical speed | ||
* '''30%''' G-force | * '''30%''' G-force | ||
| Line 245: | Line 356: | ||
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> | |||
---- | |||
== Total Score and Qualification == | == Total Score and Qualification == | ||
Career Mode stores both: | Career Mode stores both: | ||
* '''Landing Score''' | * '''Landing Score''' | ||
* '''Total 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. | 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> | |||
---- | |||
== Fatigue == | == Fatigue == | ||
If '''Enable fatigue''' is turned on, FSFO calculates fatigue from your recent workload using both: | If '''Enable fatigue''' is turned on, FSFO calculates fatigue from your recent workload using both: | ||
* number of legs | * number of legs | ||
* block hours | * block hours | ||
It evaluates three rolling workload windows: | It evaluates three rolling workload windows: | ||
* '''Last 24 hours''' | * '''Last 24 hours''' | ||
* '''Last 72 hours''' | * '''Last 72 hours''' | ||
| Line 272: | Line 396: | ||
Final fatigue: | Final fatigue: | ||
* '''Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)''' | * '''Fatigue = (Acute Load × 50) + (Short Load × 30) + (Weekly Load × 20)''' | ||
| Line 277: | Line 402: | ||
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> | |||
---- | |||
== Flight Log == | == Flight Log == | ||
The Flight Log is the permanent history of your career flights. | The Flight Log is the permanent history of your career flights. | ||
Each flight log entry stores: | Each flight log entry stores: | ||
* date | * date | ||
* company | * company | ||
| Line 300: | Line 431: | ||
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> | |||
---- | |||
== Notes == | == Notes == | ||
* Career Mode currently supports one local pilot profile | * Career Mode currently supports one local pilot profile | ||
* The current schedule stores only the active trip | * The current schedule stores only the active trip | ||
* The flight log is the permanent historical record | * The flight log is the permanent historical record | ||
* 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> | |||
---- | |||
== Troubleshooting == | == Troubleshooting == | ||
=== "PilotProfile was not found" === | === "PilotProfile was not found" === | ||
Create or rebuild the database, then apply to a company. | Create or rebuild the database, then apply to a company. | ||
| Line 313: | Line 454: | ||
=== No schedule was generated === | === No schedule was generated === | ||
Check that: | Check that: | ||
* ''routes.csv'' exists | * ''routes.csv'' exists | ||
* the file format is valid | * the file format is valid | ||
| Line 321: | Line 463: | ||
=== 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: | ||
* you flew the next pending leg in order | * you flew the next pending leg in order | ||
* you started at the scheduled departure airport | * you started at the scheduled departure airport | ||
Revision as of 12:13, 26 March 2026
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.
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
Getting Started
To begin using Career Mode:
- Open the Career Dashboard
- Click Rebuild Database the first time you use Career Mode
- Enter your pilot name
- Select a company
- Optionally select a type rating
- Click Apply Company
Once accepted, your pilot profile is created and Career Mode will begin tracking your progress.
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.
Career Options
Career Mode currently supports the following options:
- 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.
These options affect how schedules are generated, when flights count toward progression, and whether readiness checks will block a flight.
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.
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
How Promotions Work
Promotions are based on two things:
- Total Legs
- Average Score
Your Average Score must be at least 92.0 before any promotion is possible.
Promotion thresholds:
- 50 total legs - promoted to Second Officer
- 125 total legs - promoted to First Officer
- 200 total legs - promoted to Captain
- 350 total legs - promoted to Senior Captain
If your flight is not credited toward progression, it will not count toward promotion.
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
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.
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.
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.
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.
The current rank-based bid chances are:
- 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.
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.
Route Map
After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.
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.
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.
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:
- 40% vertical speed
- 30% G-force
- 30% touchdown distance
If runway threshold data is unavailable, the distance portion is redistributed proportionally between vertical speed and G-force.
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.
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
The current formula is:
- 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.
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.
Notes
- 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
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.
