Career Mode User Guide
FSFO Career Mode User Guide
Overview
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.
The system 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
- 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
- Fatal crash starts over
- Must fly scheduled flight
- Passenger comfort
- Can be fired
- Enable fatigue
- Schedule based on rank
- Must have type rating
- Lock schedule until complete
- Application based on rank
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.
