Career Mode User Guide: Difference between revisions
No edit summary |
|||
| (17 intermediate revisions by the same user not shown) | |||
| Line 42: | Line 42: | ||
# 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 | ||
# Review, Select and '''Save your Career Options''' | |||
# Enter your pilot name | # Enter your pilot name | ||
# Select a company | # Select a company | ||
# | ## You can click on the underline to see all compaines | ||
# Select a type rating (the first one is free) | |||
# Click '''Apply Company''' | # Click '''Apply Company''' | ||
# Click '''Generate Schedule''' | # Click '''Generate Schedule''' | ||
# Fly the '''next pending leg''' | # Fly the '''next pending leg''' | ||
| Line 192: | Line 193: | ||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"> | <div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"> | ||
<pre> | <pre> | ||
Rank 1 = | Rank 1 = 600 NM | ||
Rank 2 = | Rank 2 = 1200 NM | ||
Rank 3 = | Rank 3 = 2500 NM | ||
Rank 4 = | Rank 4 = 5000 NM | ||
Rank 5 = 10000 NM | Rank 5 = 10000 NM | ||
</pre> | </pre> | ||
| Line 320: | Line 321: | ||
Current Total Score model: | Current Total Score model: | ||
Each career flight starts at Total Score = 100 | Each career flight starts at Total Score = 100. | ||
Score deductions are then applied for: | Score deductions are then applied for: | ||
| Line 329: | Line 330: | ||
- General errors | - General errors | ||
Passenger Comfort is tracked separately and | Passenger Comfort is tracked separately and can also reduce the final Total Score. | ||
Final Total Score = Pilot Score - Comfort | Final Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty | ||
</pre> | </pre> | ||
</div> | </div> | ||
=== Total Score Deductions === | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:# | <div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | ||
<pre> | <pre> | ||
Critical | |||
Crash detected = score set to 0 | |||
- Threshold: landing rate greater than 900 FPM | |||
Stall detected = -10 | |||
- Threshold: stall warning is active | |||
Overspeed warning = -10 | |||
- Threshold: overspeed warning is active | |||
Aircraft overweight = -10 | |||
- Threshold: gross weight is greater than maximum gross weight | |||
Unstable approach = -10 | |||
- Checked only between 1,000 ft AGL and 100 ft AGL | |||
- Triggered if vertical speed is outside -1200 to -300 FPM | |||
or bank angle is greater than 25° | |||
</pre> | </pre> | ||
</div> | </div> | ||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | |||
<pre> | |||
Configuration | |||
Flaps misconfigured / flap overspeed = -6 | |||
- Triggered if: | |||
- flap overspeed is detected | |||
- or, during climb, flaps are not clean below 200 ft AGL | |||
- or, on final, landing flaps are not set below 1,000 ft AGL | |||
Gear misconfigured / gear overspeed = -6 | |||
- Triggered if: | |||
- landing gear overspeed is detected | |||
- or gear is still down above 499 ft AGL during climb | |||
- or gear is not extended below 1,000 ft AGL on final | |||
Spoilers not deployed on rollout = -6 | |||
- Triggered when: | |||
- spoilers are available | |||
- IAS is between 80 and 95 | |||
- spoiler position is less than 6000 | |||
Excess G-force = -6 | |||
- Threshold: absolute G-force is greater than 2.5 G | |||
Fuel management failure = -2 | |||
- Threshold: landing fuel is below 7% of total fuel capacity | |||
</pre> | |||
</div> | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | <div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | ||
<pre> | <pre> | ||
Lights | |||
Navigation lights misconfigured = -2 | |||
- | - Threshold: ground speed greater than 5 during taxi and navigation lights are off | ||
Beacon lights misconfigured = -2 | |||
- Threshold: ground speed greater than 5 during taxi and beacon light is off | |||
Strobe lights misconfigured = -2 | |||
- Threshold: strobe lights are off during climb or final | |||
- | |||
Landing lights misconfigured = -2 | |||
- Threshold: landing lights are not on when required | |||
- | - Also triggered if landing lights are left on above 18,500 ft AGL | ||
</pre> | |||
</div> | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | |||
<pre> | |||
Speed / Angle | Speed / Angle | ||
Pitch angle exceeded = -5 | |||
- Threshold: absolute pitch angle greater than 25° | |||
Bank angle exceeded = -5 | |||
- Threshold: absolute bank angle greater than 35° | |||
IAS exceeded below 10,000 MSL = -4 | |||
- Triggered when: | |||
- IAS greater than 260 | |||
- altitude is below 10,000 MSL | |||
- aircraft empty weight is greater than 200,000 lbs | |||
Ground speed exceeded while taxiing = -4 | |||
- Threshold: ground speed greater than 30 | |||
</pre> | |||
</div> | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#fdf8ee; border-left:6px solid #d58512; border-radius:8px;"> | |||
<pre> | |||
General | General | ||
Landing score below passing threshold = -6 | |||
- Threshold: Landing Score below 80 | |||
</pre> | </pre> | ||
</div> | </div> | ||
=== Landing Score === | |||
'''Landing Score''' is calculated separately from touchdown performance. | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;"> | |||
<pre> | |||
Landing Score components: | |||
Vertical speed = 35% | |||
Touchdown G-force = 15% | |||
Runway threshold distance = 30% | |||
Runway centerline = 20% | |||
A Landing Score below 80 triggers a Landing Evaluation penalty. | |||
</pre> | |||
</div> | |||
=== Landing Score Details === | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"> | |||
<pre> | |||
Vertical-speed score buckets: | |||
>= 750 FPM = 0 | |||
500-749 FPM = 50 | |||
400-499 FPM = 70 | |||
300-399 FPM = 80 | |||
200-299 FPM = 90 | |||
100-199 FPM = 100 | |||
0-99 FPM = 90 | |||
</pre> | |||
</div> | |||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"> | |||
<pre> | |||
G-force score: | |||
Ideal touchdown G-force is 1.0 G. | |||
The score degrades linearly as touchdown G-force increases toward 2.5 G. | |||
</pre> | |||
</div> | |||
=== Qualification for Progression === | |||
A flight is currently marked '''Qualified for Progression''' when '''Total Score is 90 or greater'''. | A flight is currently marked '''Qualified for Progression''' when '''Total Score is 90 or greater'''. | ||
| Line 397: | Line 491: | ||
* fines paid | * fines paid | ||
* critical, configuration, lights, and speed error counts | * critical, configuration, lights, and speed error counts | ||
* | * landing rate | ||
* landing G | |||
* block fuel | |||
* landing score | |||
* total score | |||
[[#top|Back to top]] | [[#top|Back to top]] | ||
| Line 412: | Line 510: | ||
* the flight is a valid career flight | * the flight is a valid career flight | ||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"> | <div style="margin:0.6em 0; padding:0.8em 1em; background:#eef3fb; border-left:6px solid #1f4fa3; border-radius:8px;"><pre> | ||
<pre> | |||
Current comfort limits: | Current comfort limits: | ||
| Line 421: | Line 518: | ||
Taxi braking | Taxi braking | ||
- both brakes > | - both brakes >90% of Max while ground speed >9 and not on a runway | ||
Jerky taxi turning | Jerky taxi turning | ||
- slip/skid > | - FSFO uses the same slip/skid thresholds, but the ground-speed trigger now depends on aircraft weight. | ||
- slip/skid >50 = level 2 | |||
Jerky taxi turning penalty levels: | |||
- Small aircraft, acftMaxGrossWeight < 60,000 lbs: | |||
- slip/skid >50 while ground speed >15 kt and not on a runway = level 1 | |||
- slip/skid >70 while ground speed >15 kt and not on a runway = level 2 | |||
- Narrow-body / medium aircraft, acftMaxGrossWeight 60,000-299,999 lbs: | |||
- slip/skid >50 while ground speed >12 kt and not on a runway = level 1 | |||
- slip/skid >70 while ground speed >12 kt and not on a runway = level 2 | |||
- Wide-body / heavy aircraft, acftMaxGrossWeight >= 300,000 lbs: | |||
- slip/skid >50 while ground speed >10 kt and not on a runway = level 1 | |||
- slip/skid >70 while ground speed >10 kt and not on a runway = level 2 | |||
G-force in air | G-force in air | ||
- |G - 1.0| >0. | - |G - 1.0| >0.45 = level 1 | ||
- |G - 1.0| >0. | - |G - 1.0| >0.55 = level 2 | ||
Bank angle in air | Bank angle in air | ||
- |bank| > | - |bank| >30° = level 1 | ||
- |bank| >35° = level 2 | - |bank| >35° = level 2 | ||
Pitch Change | |||
- | - pitch rate > 3° per second for 2 seconds = level 1 | ||
- pitch rate > 5° per second for 1 second = level 2 | |||
- pitch rate > 8° per second immediately = level 3 | |||
- | |||
- | |||
Slip/skid in air | Slip/skid in air | ||
- slip/skid > | - slip/skid >35 = level 1 | ||
- slip/skid > | - slip/skid >60 = level 2 | ||
Landing firmness | Landing firmness | ||
| Line 459: | Line 558: | ||
Rollout braking | Rollout braking | ||
- both brakes > | - both brakes >90% of Max and ground speed >40 | ||
</pre> | </pre> | ||
</div> | </div> | ||
<div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;"> | <div style="margin:0.6em 0; padding:0.8em 1em; background:#f4f9f6; border-left:6px solid #5cb85c; border-radius:8px;"> | ||
<pre>Current comfort penalty values: | |||
Taxi Too Fast = 0 / 2 / 4 | |||
Braking Too Hard = 0 / 4 on taxi, 0 / 2 on rollout | |||
Jerky Turning = 0 / 1 / 2 | |||
Excessive G-Force = 0 / 2 / 4 | |||
Excessive Bank Angle = 0 / 1 / 2 | |||
Pitch Rate Change = 0 / 1 / 2 / 3 | |||
Slip/Skid Too High = 0 / 1 / 2 | |||
Landing Too Firm = 0 / 1 / 2</pre> | |||
</div> | |||
FSFO stores only the highest bucket reached for each comfort category. If the same category is triggered again at the same or a lower level, no additional penalty is added. If a worse level is reached later, only the difference to the higher bucket is added. | |||
=== Effect on Final Career Score === | |||
If '''Passenger comfort''' is enabled, the final career score now uses both: | |||
* the normal '''comfort event penalty''' from the limits above | |||
* the '''actual passenger condition at shutdown/block-in''' before deboarding starts | |||
The final score is calculated as: | |||
<pre> | <pre> | ||
Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty | |||
</pre> | |||
The '''Comfort Penalty''' is the running total from the monitored comfort events above. | |||
The '''Passenger Outcome Penalty''' is a separate end-of-flight penalty based on how the cabin actually finished the flight. This lets poor passenger outcomes matter even if they were caused by a combination of delay, anxiety, hunger, thirst, health decline, and service timing. | |||
=== End-of-Flight Passenger Outcome Score === | |||
At shutdown, FSFO takes the average passenger values and builds a cabin outcome score from: | |||
* Satisfaction | |||
* Anxiety | |||
* Health | |||
* Hunger | |||
* Thirst | |||
The cabin outcome score is weighted as: | |||
<pre> | |||
Cabin Outcome Score = | |||
(Satisfaction x 0.34) + | |||
((100 - Anxiety) x 0.22) + | |||
(Health x 0.22) + | |||
((100 - Hunger) x 0.11) + | |||
((100 - Thirst) x 0.11) | |||
</pre> | </pre> | ||
FSFO | Higher satisfaction and health help the score. | ||
Higher anxiety, hunger, and thirst reduce the score. | |||
=== Passenger Outcome Penalty Rules === | |||
At block-in, FSFO adds a modest extra penalty when passenger outcomes are poor: | |||
<pre> | |||
If Cabin Outcome Score < 85: | |||
add ceil((85 - score) / 4) | |||
If average Satisfaction < 70: | |||
add ceil((70 - satisfaction) / 10) | |||
If average Anxiety > 40: | |||
add ceil((anxiety - 40) / 15) | |||
Maximum Passenger Outcome Penalty = 15 points | |||
</pre> | |||
This penalty is intentionally capped so that passenger outcomes matter, but do not completely overpower the pilot score. | |||
=== Important Note About Passenger Comfort % === | |||
The live '''Passenger Comfort %''' shown on the Operations page is not used directly for the final score. | |||
That live value already includes the handling comfort penalty, so using it again for final scoring would double-penalize the same event. To avoid that, FSFO uses the clean '''Cabin Outcome Score''' above for the end-of-flight passenger outcome penalty. | |||
[[#top|Back to top]] | [[#top|Back to top]] | ||
Latest revision as of 02:59, 30 April 2026
FSFO Career Mode User Guide
This page explains how Career Mode works in FSFO, including setup, pilot progression, schedules, training, scoring, fatigue, passenger comfort, company discipline, 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 designed for pilots who want persistent progression across multiple flights instead of isolated one-off sessions.
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 your flights, scores, contracts, and company history to carry forward over time.
Quick Start
To begin using Career Mode:
- Open the Career Dashboard
- Click Rebuild Database the first time you use Career Mode
- Review, Select and Save your Career Options
- Enter your pilot name
- Select a company
- You can click on the underline to see all compaines
- Select a type rating (the first one is free)
- Click Apply Company
- Click Generate Schedule
- Fly the next pending leg
- Review your results in the Flight Log
Once accepted, your pilot profile is created and Career Mode begins tracking your progress.
Important: A flight does not automatically count toward progression. If schedule enforcement is enabled, you must complete the next pending leg correctly for the flight to advance your career.
Career Mode Flow at a Glance
Typical Career Mode flow: 1. Create or rebuild the database 2. Apply to a company 3. Configure career options 4. Generate a schedule 5. Fly the next pending leg 6. Receive a Landing Score and Total Score 7. Update pay, balance, progression, fatigue, warnings, and flight log
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
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.
Before You Fly: Readiness and Schedule Rules
Before a career flight can fully count, FSFO may check:
- your current company
- your current schedule
- your current location
- type-rating requirements
- fatigue
- readiness rules tied to enabled career options
If Start from last airport is enabled, you must begin near your saved pilot location.
If Lock schedule until complete is enabled, you cannot generate a new schedule while your current one still has incomplete legs.
If Enable fatigue is enabled, readiness fails if your fatigue is too high.
If Must have type rating is enabled, FSFO verifies that you already hold the required type rating for the current aircraft.
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 = 600 NM Rank 2 = 1200 NM Rank 3 = 2500 NM Rank 4 = 5000 NM Rank 5 = 10000 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
The Schedule Bidding System lets you request specific route segments when generating a Career Mode schedule.
Enter your bids in the Route Bid box using directional airport pairs separated by commas, for example:
KBOS-KBGR,KBGR-KDEN
Bids are directional only, so KBOS-KBGR is different from KBGR-KBOS.
FSFO applies bids in the order entered, and each bid must maintain schedule continuity. The next bid must depart from the airport where the previous leg ended, otherwise the remaining bid is wasted.
If Schedule Based On Rank is enabled, each bid leg is awarded based on the pilot's current rank:
Current rank-based bid chances: Rank 1 = 20% Rank 2 = 40% Rank 3 = 60% Rank 4 = 80% Rank 5 = 90%
If Schedule Based On Rank is disabled, FSFO will try to honor the requested bid exactly as entered, but only if it can still build a continuous schedule from the pilot's current location.
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 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.
Total Score and Qualification
Career Mode stores both:
- Landing Score
- Total Score
Landing Score and Total Score are not the same thing.
Current Total Score model: Each career flight starts at Total Score = 100. Score deductions are then applied for: - Critical errors - Configuration errors - Lights errors - Speed / angle errors - General errors Passenger Comfort is tracked separately and can also reduce the final Total Score. Final Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty
Total Score Deductions
Critical Crash detected = score set to 0 - Threshold: landing rate greater than 900 FPM Stall detected = -10 - Threshold: stall warning is active Overspeed warning = -10 - Threshold: overspeed warning is active Aircraft overweight = -10 - Threshold: gross weight is greater than maximum gross weight Unstable approach = -10 - Checked only between 1,000 ft AGL and 100 ft AGL - Triggered if vertical speed is outside -1200 to -300 FPM or bank angle is greater than 25°
Configuration Flaps misconfigured / flap overspeed = -6 - Triggered if: - flap overspeed is detected - or, during climb, flaps are not clean below 200 ft AGL - or, on final, landing flaps are not set below 1,000 ft AGL Gear misconfigured / gear overspeed = -6 - Triggered if: - landing gear overspeed is detected - or gear is still down above 499 ft AGL during climb - or gear is not extended below 1,000 ft AGL on final Spoilers not deployed on rollout = -6 - Triggered when: - spoilers are available - IAS is between 80 and 95 - spoiler position is less than 6000 Excess G-force = -6 - Threshold: absolute G-force is greater than 2.5 G Fuel management failure = -2 - Threshold: landing fuel is below 7% of total fuel capacity
Lights Navigation lights misconfigured = -2 - Threshold: ground speed greater than 5 during taxi and navigation lights are off Beacon lights misconfigured = -2 - Threshold: ground speed greater than 5 during taxi and beacon light is off Strobe lights misconfigured = -2 - Threshold: strobe lights are off during climb or final Landing lights misconfigured = -2 - Threshold: landing lights are not on when required - Also triggered if landing lights are left on above 18,500 ft AGL
Speed / Angle Pitch angle exceeded = -5 - Threshold: absolute pitch angle greater than 25° Bank angle exceeded = -5 - Threshold: absolute bank angle greater than 35° IAS exceeded below 10,000 MSL = -4 - Triggered when: - IAS greater than 260 - altitude is below 10,000 MSL - aircraft empty weight is greater than 200,000 lbs Ground speed exceeded while taxiing = -4 - Threshold: ground speed greater than 30
General Landing score below passing threshold = -6 - Threshold: Landing Score below 80
Landing Score
Landing Score is calculated separately from touchdown performance.
Landing Score components: Vertical speed = 35% Touchdown G-force = 15% Runway threshold distance = 30% Runway centerline = 20% A Landing Score below 80 triggers a Landing Evaluation penalty.
Landing Score Details
Vertical-speed score buckets: >= 750 FPM = 0 500-749 FPM = 50 400-499 FPM = 70 300-399 FPM = 80 200-299 FPM = 90 100-199 FPM = 100 0-99 FPM = 90
G-force score: Ideal touchdown G-force is 1.0 G. The score degrades linearly as touchdown G-force increases toward 2.5 G.
Qualification for Progression
A flight is currently marked Qualified for Progression when Total Score is 90 or greater.
The flight log stores the qualification result along with:
- pay earned
- fines paid
- critical, configuration, lights, and speed error counts
- landing rate
- landing G
- block fuel
- landing score
- total score
Passenger Comfort
If Passenger comfort is turned on, FSFO monitors handling and comfort limits during taxi, rollout, climb, airborne flight, and final approach.
Passenger comfort is only monitored when:
- Passenger comfort is enabled
- the flight is a valid career flight
Current comfort limits: Taxi speed - >29 = Taxi Too Fast, level 1 - >34 = Taxi Too Fast, level 2 Taxi braking - both brakes >90% of Max while ground speed >9 and not on a runway Jerky taxi turning - FSFO uses the same slip/skid thresholds, but the ground-speed trigger now depends on aircraft weight. Jerky taxi turning penalty levels: - Small aircraft, acftMaxGrossWeight < 60,000 lbs: - slip/skid >50 while ground speed >15 kt and not on a runway = level 1 - slip/skid >70 while ground speed >15 kt and not on a runway = level 2 - Narrow-body / medium aircraft, acftMaxGrossWeight 60,000-299,999 lbs: - slip/skid >50 while ground speed >12 kt and not on a runway = level 1 - slip/skid >70 while ground speed >12 kt and not on a runway = level 2 - Wide-body / heavy aircraft, acftMaxGrossWeight >= 300,000 lbs: - slip/skid >50 while ground speed >10 kt and not on a runway = level 1 - slip/skid >70 while ground speed >10 kt and not on a runway = level 2 G-force in air - |G - 1.0| >0.45 = level 1 - |G - 1.0| >0.55 = level 2 Bank angle in air - |bank| >30° = level 1 - |bank| >35° = level 2 Pitch Change - pitch rate > 3° per second for 2 seconds = level 1 - pitch rate > 5° per second for 1 second = level 2 - pitch rate > 8° per second immediately = level 3 Slip/skid in air - slip/skid >35 = level 1 - slip/skid >60 = level 2 Landing firmness - Landing G >= 1.40 or landing rate >= 350 = level 1 - Landing G >= 1.80 or landing rate >= 500 = level 2 Rollout braking - both brakes >90% of Max and ground speed >40
Current comfort penalty values: Taxi Too Fast = 0 / 2 / 4 Braking Too Hard = 0 / 4 on taxi, 0 / 2 on rollout Jerky Turning = 0 / 1 / 2 Excessive G-Force = 0 / 2 / 4 Excessive Bank Angle = 0 / 1 / 2 Pitch Rate Change = 0 / 1 / 2 / 3 Slip/Skid Too High = 0 / 1 / 2 Landing Too Firm = 0 / 1 / 2
FSFO stores only the highest bucket reached for each comfort category. If the same category is triggered again at the same or a lower level, no additional penalty is added. If a worse level is reached later, only the difference to the higher bucket is added.
Effect on Final Career Score
If Passenger comfort is enabled, the final career score now uses both:
- the normal comfort event penalty from the limits above
- the actual passenger condition at shutdown/block-in before deboarding starts
The final score is calculated as:
Total Score = Pilot Score - Comfort Penalty - Passenger Outcome Penalty
The Comfort Penalty is the running total from the monitored comfort events above.
The Passenger Outcome Penalty is a separate end-of-flight penalty based on how the cabin actually finished the flight. This lets poor passenger outcomes matter even if they were caused by a combination of delay, anxiety, hunger, thirst, health decline, and service timing.
End-of-Flight Passenger Outcome Score
At shutdown, FSFO takes the average passenger values and builds a cabin outcome score from:
- Satisfaction
- Anxiety
- Health
- Hunger
- Thirst
The cabin outcome score is weighted as:
Cabin Outcome Score = (Satisfaction x 0.34) + ((100 - Anxiety) x 0.22) + (Health x 0.22) + ((100 - Hunger) x 0.11) + ((100 - Thirst) x 0.11)
Higher satisfaction and health help the score. Higher anxiety, hunger, and thirst reduce the score.
Passenger Outcome Penalty Rules
At block-in, FSFO adds a modest extra penalty when passenger outcomes are poor:
If Cabin Outcome Score < 85: add ceil((85 - score) / 4) If average Satisfaction < 70: add ceil((70 - satisfaction) / 10) If average Anxiety > 40: add ceil((anxiety - 40) / 15) Maximum Passenger Outcome Penalty = 15 points
This penalty is intentionally capped so that passenger outcomes matter, but do not completely overpower the pilot score.
Important Note About Passenger Comfort %
The live Passenger Comfort % shown on the Operations page is not used directly for the final score.
That live value already includes the handling comfort penalty, so using it again for final scoring would double-penalize the same event. To avoid that, FSFO uses the clean Cabin Outcome Score above for the end-of-flight passenger outcome penalty.
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 / 3.5, block hours in last 24h / 7) Short Load = max(legs in last 72h / 7, block hours in last 72h / 16) Weekly Load = max(legs in last 7d / 14, block hours in last 7d / 32)
The 24-hour window is intentionally stricter, so 4 legs in a day is near the limit and 5 legs in a day will usually fail readiness.
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.
Career Mode readiness fails if fatigue is greater than or equal to 75%.
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
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.
Career Tier and Pay
Each company has a base hourly pay rate. Base pay is assigned by region and is intended to reflect the average starting pay for airline pilots in that part of the world.
Career Tier increases with promotion. Pay is recalculated using a fixed hourly raise, not a multiplier.
Current Career Tier hourly raises: Tier 1 = +$0/hr Tier 2 = +$5/hr Tier 3 = +$10/hr Tier 4 = +$18/hr Tier 5 = +$28/hr Final hourly pay = company base hourly pay + current Career Tier hourly raise
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
Type Ratings are used to control which aircraft a pilot is qualified to fly in Career Mode.
If Must Have Type Rating is enabled, FSFO checks the current aircraft against the type-rating alias file and verifies that the pilot already holds the required rating before the flight can qualify as career-ready.
A pilot must already belong to a company before applying for a new type rating. FSFO will not allow a new application if:
- the pilot does not currently belong to a company
- the pilot is already in training
- the pilot already holds the selected type rating
When applying for a new type rating, FSFO offers two training paths:
Private Training - deducts the training cost from your balance - cost is adjusted by region using the current company's hub - cannot be started if the new balance would fall below -75,000 Company Training - does not charge the training cost directly to your balance - increases your Contract Remaining Legs instead
Training length and cost depend on the selected type-rating group:
CRJ / F7X - 5 training days - Private Training: 15,000 × regional multiplier - Company Training: +20 contract legs A32 / B73 - 7 training days - Private Training: 25,000 × regional multiplier - Company Training: +35 contract legs A31 / A33 / B76 / B77 / MD1 / MD11 - 10 training days - Private Training: 45,000 × regional multiplier - Company Training: +60 contract legs All other supported type ratings - 7 training days - Private Training: 20,000 × regional multiplier - Company Training: +30 contract legs
Once training is started, FSFO records the training type, start date, duration, and end date in the pilot profile.
Company Discipline, Warnings, and Termination
If Can be fired is enabled, FSFO tracks company discipline through warnings and possible termination.
Warnings do not begin immediately. A pilot must complete at least 5 company legs before warning thresholds are evaluated.
After that point, FSFO checks the pilot's accumulated company error rates against the following warning thresholds:
Warning thresholds: Critical errors = 10% of company legs Configuration errors = 25% of company legs Speed errors = 35% of company legs Lights errors = 50% of company legs
If any category reaches its threshold, FSFO issues a company warning and increases the pilot's warning count by 1.
A pilot may be terminated from the current company if either of the following occurs:
Termination conditions: Warnings on file >= 3 or Most recent flight Total Score < 50 or Pilot's total average score < 80
If a pilot is terminated, FSFO currently applies the following career penalties:
- current company is cleared
- pay per hour is set to 0
- company legs are reset to 0
- contract remaining legs are reset to 0
- critical, configuration, speed, and lights error totals are reset
- warnings are reset to 0
- the current schedule is cleared
- the pilot is demoted by one rank, down to a minimum of Cadet
- Career Tier is adjusted to match the new rank
If Can be fired is turned off, FSFO does not terminate the pilot through this system.
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.
Route Map
After a schedule is generated, FSFO can build a route map from the loaded schedule legs and open it externally.
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
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.
My flight was blocked before departure
Check whether one of the following options prevented readiness:
- Start from last airport
- Enable fatigue
- Must have type rating
For additional setup help, see Getting Started. For general problem solving, see Troubleshooting.
