# Mission scoring / rank thresholds (regenerated by mission_scoring.py)

IDXD objects carrying RankScore_S, per pack: {'GP_MAIN_GAME_D.pak': 24, 'GP_MAIN_GAME_E.pak': 24, 'GP_MAIN_GAME_F.pak': 24, 'GP_MAIN_GAME_I.pak': 24, 'GP_MAIN_GAME_J.pak': 24, 'GP_MAIN_GAME_S.pak': 24}
total across the disc                 : 144
difficulty records per object         : [('Score_Easy', 'Score_Hard', 'Score_Normal')]
distinct field sets                   : 1
records                               : 72  (22 fields each)

value census per field (over 72 records):
  CraftScore_Adjustment             4 distinct  0.5=21 1.0=21 2.0=21 0.0=9
  FFPenalty_Craft_Basis             2 distinct  1.0=63 0.0=9
  FFPenalty_Craft_Maximum           3 distinct  10000=42 5000=21 0=9
  FFPenalty_Vessel_Basis            2 distinct  1.0=63 0.0=9
  FFPenalty_Zessel_Maximum          3 distinct  10000=42 5000=21 0=9
  FriendlyVesselDamageBonus         4 distinct  0=33 1000=13 2000=13 500=13
  GettingScoreBasis_Maximum         7 distinct  10=48 6=6 7=6 4=3 5=3 8=3 9=3
  GettingScoreBasis_Minimum         2 distinct  3=51 2=21
  KillBonus_Maximum                 4 distinct  0=18 1000=18 2000=18 500=18
  LostWingmanPenalty                3 distinct  1000=42 500=21 0=9
  MainMissionBonus                  8 distinct  0=18 1000=14 2000=14 4000=9 500=5 1500=4 3000=4 6000=4
  MainMissionCount                  3 distinct  1=33 2=27 3=12
  OtherScore_Adjustment             4 distinct  0.5=21 1.0=21 2.0=21 0.0=9
  RankScore_A                      21 distinct  10350=6 12500=6 4000=6 100001=3 112350=3 14200=3 15400=3 200001=3 21150=3 22350=3 25000=3 25950=3 27150=3 2930
  RankScore_B                      21 distinct  3000=6 7900=6 9000=6 10800=3 11600=3 150001=3 15100=3 15900=3 18000=3 18300=3 19100=3 20200=3 30800=3 35400=3 
  RankScore_C                      21 distinct  2000=6 5450=6 5500=6 100001=3 10650=3 11000=3 11050=3 11100=3 17400=3 18700=3 20001=3 3333=3 39450=3 4138=3 41
  RankScore_D                       9 distinct  3000=24 2000=12 4000=12 1000=6 50001=6 10001=3 1667=3 690=3 833=3
  RankScore_S                      19 distinct  9999=9 10000=6 12800=6 16000=6 11200=3 120001=3 148800=3 17600=3 19200=3 27200=3 28800=3 300001=3 32000=3 3360
  TimeBonus_Basis_Maximum           2 distinct  300=63 1200=9
  TimeBonus_Basis_Minimum           3 distinct  120=63 480=6 330=3
  TimeBonus_Maximun                 5 distinct  1000=18 2000=18 500=18 0=9 10000=9
  VesselScore_Adjustment            4 distinct  0.5=21 1.0=21 2.0=21 0.0=9

fields that differ between the three difficulty records:
  {'CraftScore_Adjustment': 21, 'FFPenalty_Craft_Maximum': 21, 'FFPenalty_Zessel_Maximum': 21, 'KillBonus_Maximum': 18, 'LostWingmanPenalty': 21, 'MainMissionBonus': 18, 'OtherScore_Adjustment': 21, 'TimeBonus_Maximun': 18, 'VesselScore_Adjustment': 21, 'FriendlyVesselDamageBonus': 13}

objects whose Normal record differs from the commonest Normal record:
  23 of 24 objects
    0xd4c05c15  {'MainMissionBonus': '1000', 'MainMissionCount': '1'}
    0xe88492fc  {'RankScore_A': '9150', 'RankScore_B': '7100', 'RankScore_C': '5050', 'RankScore_D': '3000', 'RankScore_S': '11200'}
    0xe8a78ef2  {'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '12500', 'RankScore_B': '9000', 'RankScore_C': '5500', 'RankScore_D': '2000', 'RankScore_S': '16000'}
    0xe98abbfc  {'FriendlyVesselDamageBonus': '1000', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '14200', 'RankScore_B': '10800', 'RankScore_C': '7400', 'RankScore_D': '4000', 'RankScore_S': '17600'}
    0xe9adb7f2  {'RankScore_A': '27150', 'RankScore_B': '19100', 'RankScore_C': '11050', 'RankScore_D': '3000', 'RankScore_S': '35200'}
    0xea90e4fc  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '7', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '15400', 'RankScore_B': '11600', 'RankScore_C': '7800', 'RankScore_D': '4000', 'RankScore_S': '19200'}
    0xeab3e0f2  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '5', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '52100', 'RankScore_B': '35400', 'RankScore_C': '18700', 'RankScore_D': '2000', 'RankScore_S': '68800'}
    0xeb970dfc  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '4', 'GettingScoreBasis_Minimum': '2', 'RankScore_A': '10350', 'RankScore_B': '7900', 'RankScore_C': '5450', 'RankScore_D': '3000', 'RankScore_S': '12800'}
    0xebba09f2  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '6', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '12500', 'RankScore_B': '9000', 'RankScore_C': '5500', 'RankScore_D': '2000', 'RankScore_S': '16000'}
    0xec9d36fc  {'RankScore_A': '10350', 'RankScore_B': '7900', 'RankScore_C': '5450', 'RankScore_D': '3000', 'RankScore_S': '12800'}
    0xecc032f2  {'RankScore_A': '22350', 'RankScore_B': '15900', 'RankScore_C': '9450', 'RankScore_D': '3000', 'RankScore_S': '28800'}
    0xeda35ffc  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '8', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '25000', 'RankScore_B': '18000', 'RankScore_C': '11000', 'RankScore_D': '4000', 'RankScore_S': '32000'}
    0xedc65bf2  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '9', 'RankScore_A': '112350', 'RankScore_B': '75900', 'RankScore_C': '39450', 'RankScore_D': '3000', 'RankScore_S': '148800'}
    0xede957e8  {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8333', 'RankScore_B': '5833', 'RankScore_C': '3333', 'RankScore_D': '833', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '480', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
    0xeea988fc  {'FriendlyVesselDamageBonus': '1000', 'RankScore_A': '25950', 'RankScore_B': '18300', 'RankScore_C': '10650', 'RankScore_D': '3000', 'RankScore_S': '33600'}
    0xeecc84f2  {'MainMissionBonus': '1000', 'MainMissionCount': '1', 'RankScore_A': '29300', 'RankScore_B': '20200', 'RankScore_C': '11100', 'RankScore_D': '2000', 'RankScore_S': '38400'}
    0xeeef80e8  {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '200001', 'RankScore_B': '150001', 'RankScore_C': '100001', 'RankScore_D': '50001', 'RankScore_S': '300001', 'TimeBonus_Maximun': '0'}
    0xefafb1fc  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '7', 'GettingScoreBasis_Minimum': '2', 'RankScore_A': '21150', 'RankScore_B': '15100', 'RankScore_C': '9050', 'RankScore_D': '3000', 'RankScore_S': '27200'}
    0xeff5a9e8  {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '60001', 'RankScore_B': '40001', 'RankScore_C': '20001', 'RankScore_D': '10001', 'RankScore_S': '80001', 'TimeBonus_Maximun': '0'}
    0xf0b5dafc  {'FriendlyVesselDamageBonus': '1000', 'GettingScoreBasis_Maximum': '6', 'GettingScoreBasis_Minimum': '2', 'MainMissionBonus': '3000', 'MainMissionCount': '3', 'RankScore_A': '44200', 'RankScore_B': '30800', 'RankScore_C': '17400', 'RankScore_D': '4000', 'RankScore_S': '57600'}
    0xf0fbd2e8  {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8750', 'RankScore_B': '6667', 'RankScore_C': '4167', 'RankScore_D': '1667', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '480', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
    0xf1020211  {'CraftScore_Adjustment': '0.0', 'FFPenalty_Craft_Basis': '0.0', 'FFPenalty_Craft_Maximum': '0', 'FFPenalty_Vessel_Basis': '0.0', 'FFPenalty_Zessel_Maximum': '0', 'KillBonus_Maximum': '0', 'LostWingmanPenalty': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'OtherScore_Adjustment': '0.0', 'RankScore_A': '8276', 'RankScore_B': '6897', 'RankScore_C': '4138', 'RankScore_D': '690', 'RankScore_S': '9999', 'TimeBonus_Basis_Maximum': '1200', 'TimeBonus_Basis_Minimum': '330', 'TimeBonus_Maximun': '10000', 'VesselScore_Adjustment': '0.0'}
    0xf2082b11  {'FriendlyVesselDamageBonus': '1000', 'KillBonus_Maximum': '0', 'MainMissionBonus': '0', 'MainMissionCount': '1', 'RankScore_A': '100001', 'RankScore_B': '80001', 'RankScore_C': '65001', 'RankScore_D': '50001', 'RankScore_S': '120001', 'TimeBonus_Maximun': '0'}

settings objects named from harvested disc strings: 24/24
    0xe88492fc  stage\StageParameter_S01.tbl
    0xe98abbfc  stage\StageParameter_S02.tbl
    0xea90e4fc  stage\StageParameter_S03.tbl
    0xeb970dfc  stage\StageParameter_S04.tbl
    0xec9d36fc  stage\StageParameter_S05.tbl
    0xeda35ffc  stage\StageParameter_S06.tbl
    0xeea988fc  stage\StageParameter_S07.tbl
    0xefafb1fc  stage\StageParameter_S08.tbl
    0xf0b5dafc  stage\StageParameter_S09.tbl
    0xe8a78ef2  stage\StageParameter_S10.tbl
    0xe9adb7f2  stage\StageParameter_S11.tbl
    0xeab3e0f2  stage\StageParameter_S12.tbl
    0xebba09f2  stage\StageParameter_S13.tbl
    0xecc032f2  stage\StageParameter_S14.tbl
    0xedc65bf2  stage\StageParameter_S15.tbl
    0xeecc84f2  stage\StageParameter_S16.tbl
    0xede957e8  stage\StageParameter_S24.tbl
    0xeeef80e8  stage\StageParameter_S25.tbl
    0xeff5a9e8  stage\StageParameter_S26.tbl
    0xf0fbd2e8  stage\StageParameter_S27.tbl
    0xf1020211  stage\StageParameter_S28.tbl
    0xf2082b11  stage\StageParameter_S29.tbl
    0xd4c05c15  stage\StageParameter_Test.tbl
    0x88720837  stage\StageParameter_Tutorial.tbl

the rest of the settings object (24 objects):
  record-name sets: 2
    x23  ['Camera', 'Difficulty_Easy', 'Difficulty_Hard', 'Difficulty_Normal', 'Phase_1', 'Phase_2', 'Phase_3', 'Player', 'Score_Easy', 'Score_Hard', 'Score_Normal', 'SplinterCell']
    x1   ['Camera', 'Difficulty_Easy', 'Difficulty_Hard', 'Difficulty_Normal', 'Phase_1', 'Phase_2', 'Phase_3', 'Player', 'Score_Easy', 'Score_Hard', 'Score_Normal']

  Camera — present in 24/24 objects, 14 fields
    CameraFar                             2 distinct  3000000.0=23 500000.0=1
    CameraNear                            1 distinct  1.0=24
    FarCameraFOV                          1 distinct  0.92=24
    FarCameraPosX                         1 distinct  0.0=24
    FarCameraPosY                         1 distinct  15.0=24
    FarCameraPosZ                         1 distinct  80.0=24
    NearCameraFOV                         1 distinct  0.92=24
    NearCameraPosX                        1 distinct  0.0=24
    NearCameraPosY                        1 distinct  10.0=24
    NearCameraPosZ                        1 distinct  40.0=24
    NoseCameraFOV                         1 distinct  0.92=24
    NoseCameraPosX                        1 distinct  0.0=24
    NoseCameraPosY                        1 distinct  4.5=24
    NoseCameraPosZ                        1 distinct  7.0=24

  Player — present in 24/24 objects, 9 fields
    AirDragFactor                         1 distinct  1.0=24
    BulletLimit                           1 distinct  512=24
    GravityFactor                         4 distinct  0.0=20 250.0=2 700.0=1 400.0=1
    HomingLimit                           1 distinct  256=24
    IsBoss16Enable                        1 distinct  Yes=1
    LaserLimit                            1 distinct  32=24
    PitchAdjustment                       1 distinct  0.30=24
    RollAdjustment                        1 distinct  0.30=24
    YawAdjustment                         1 distinct  0.30=24

  SplinterCell — present in 23/24 objects, 1 fields
    Count                                 1 distinct  5=23

  Difficulty_Easy — present in 24/24 objects, 8 fields
    AntiPlayerMissileGuidanceAdjustment   2 distinct  0.5=23 1.0=1
    CollisionDamageRatio                  2 distinct  0.8=23 0.0=1
    DamageAdjustment                      3 distinct  2.0=22 1.5=1 1.0=1
    FriendlyFireAdjustment                2 distinct  0.0=23 1.0=1
    PlayerDamageAdjustment                3 distinct  0.5=22 0.75=1 1.0=1
    PlayerMissileGuidanceAdjustment       2 distinct  2.0=23 1.0=1
    PlayerShieldDamageAdjustment          2 distinct  0.5=23 1.0=1
    ShieldDamageAdjustment                2 distinct  2.0=23 1.0=1

  Difficulty_Normal — present in 24/24 objects, 8 fields
    AntiPlayerMissileGuidanceAdjustment   1 distinct  1.0=24
    CollisionDamageRatio                  2 distinct  0.8=23 0.0=1
    DamageAdjustment                      1 distinct  1.0=24
    FriendlyFireAdjustment                2 distinct  0.5=23 1.0=1
    PlayerDamageAdjustment                1 distinct  1.0=24
    PlayerMissileGuidanceAdjustment       1 distinct  1.0=24
    PlayerShieldDamageAdjustment          1 distinct  1.0=24
    ShieldDamageAdjustment                1 distinct  1.0=24

  Difficulty_Hard — present in 24/24 objects, 8 fields
    AntiPlayerMissileGuidanceAdjustment   2 distinct  1.25=23 1.0=1
    CollisionDamageRatio                  2 distinct  0.8=23 0.0=1
    DamageAdjustment                      1 distinct  1.0=24
    FriendlyFireAdjustment                1 distinct  1.0=24
    PlayerDamageAdjustment                1 distinct  1.0=24
    PlayerMissileGuidanceAdjustment       2 distinct  0.75=23 1.0=1
    PlayerShieldDamageAdjustment          1 distinct  1.0=24
    ShieldDamageAdjustment                2 distinct  0.5=23 1.0=1

the Phase_1/2/3 block (72 records over 24 objects):
  distinct field names        : 94
  present in EVERY record     : 31
    BGOperateFrameCount BGOperateFrameName_0 BGOperateScale_0 BloomScale BrightPassOffset BrightPassThreshold Brightness Contrast ExposureKeyValue FirstAdaptedLuminance FogLinear FogMaxAmount FogMaxDistance FogMinAmount FogMinDistance GlareType Hue LuminanceMax LuminanceMin Saturation ScreenColorB ScreenColorG ScreenColorR SpaceSize StarScale SupplyMovie1ID SupplyMovie2ID SupplyRange SupplySquadron1 SupplySquadron2 UnderCommandSquadron
  field-count histogram       : {31: 3, 58: 28, 59: 24, 61: 1, 62: 1, 77: 6, 78: 6, 90: 3}
  BGOperateFrameCount == slots: 36/72  (REFUTED)
  BGOperateFrameCount <= slots: 72/72
    slot histogram {1: 3, 4: 67, 5: 2} ; Count histogram {1: 9, 2: 14, 3: 16, 4: 31, 5: 2}
  fields that DIFFER between phases (of 24 objects):
    BGOperateFrameName_0          6
    SupplySquadron1               5
    BGOperateFrameCount           3
    BGOperateFrameName_2          3
    BrightPassOffset              3
    BrightPassThreshold           3
    Brightness                    3
    ColorLayerA                   3
    FirstAdaptedLuminance         3
    UnderCommandSquadron          3
    BGOperateScale_2              2
    BloomScale                    2
    ColorLayerG                   2
    ColorLayerR                   2
    Contrast                      2
    GlareType                     2
    LuminanceMax                  2
    StarScale                     2
    SupplyMovie1ID                2
    BGRotateScale_2               1
    FogMaxAmount                  1
    SpaceSize                     1
    SupplyMovie2ID                1
  fields that NEVER differ between phases: 68
    AfterimageScale BGAnimation_0 BGAnimation_3 BGOperateFrameName_1 BGOperateFrameName_3 BGOperateScale_0 BGOperateScale_1 BGOperateScale_3 BGRotateScale_0 BGRotateScale_1 BGRotateScale_3 CCDLuminance ColorLayerB ContrailFirstCullingOff DOF_Enable DOF_FarAmount DOF_FarClip DOF_FarFocal DOF_NearAmount DOF_NearClip DOF_NearFocal ExposureKeyValue ExposureKey_BeginTime ExposureKey_BeginValue ExposureKey_EndTime ExposureKey_EndValue FinalPassBB FinalPassBG FinalPassBR FinalPassDB FinalPassDG FinalPassDR FinalPassDesaturation FinalPassToneRatio FinalPassType FinalPassVinetting FinalPassVinettingSharpness FogLinear FogMaxDistance FogMinAmount FogMinDistance Hue LuminanceMin Nebura_Count Nebura_EmitterRadius Nebura_EmitterRadiusJitter Nebura_MiddleAmount Nebura_MiddleFar Nebura_MiddleNear Nebura_NearAmount Nebura_NearClip Nebura_ResourceName Nebura_Size Nebura_SpeedLimit Nebura_SpeedScale Saturation ScreenColorB ScreenColorG ScreenColorR SupplyRange SupplySquadron2 UnsharpMask_B UnsharpMask_Far UnsharpMask_G UnsharpMask_Luminance UnsharpMask_Near UnsharpMask_Offset UnsharpMask_R

the commonest Normal record:
  CraftScore_Adjustment            1.0
  FFPenalty_Craft_Basis            1.0
  FFPenalty_Craft_Maximum          10000
  FFPenalty_Vessel_Basis           1.0
  FFPenalty_Zessel_Maximum         10000
  FriendlyVesselDamageBonus        0
  GettingScoreBasis_Maximum        10
  GettingScoreBasis_Minimum        3
  KillBonus_Maximum                1000
  LostWingmanPenalty               1000
  MainMissionBonus                 2000
  MainMissionCount                 2
  OtherScore_Adjustment            1.0
  RankScore_A                      4000
  RankScore_B                      3000
  RankScore_C                      2000
  RankScore_D                      1000
  RankScore_S                      10000
  TimeBonus_Basis_Maximum          300
  TimeBonus_Basis_Minimum          120
  TimeBonus_Maximun                1000
  VesselScore_Adjustment           1.0
