# Reactive combat-chatter rule tables (regenerated by preset_messages.py)

rule tables in GP_MAIN_GAME_E.pak : 144 of 1004 IDXD entries
per language pack                 : {'GP_MAIN_GAME_D.pak': 144, 'GP_MAIN_GAME_E.pak': 144, 'GP_MAIN_GAME_F.pak': 144, 'GP_MAIN_GAME_I.pak': 144, 'GP_MAIN_GAME_J.pak': 144, 'GP_MAIN_GAME_S.pak': 144}
total across the disc             : 864
distinct record-name tuples       : 1
records per table                 : 65  (64 events + Sperkers)

distinct named-field schemas      : 1
  x9216   EffectiveTime, Interval, Priority, Probability, MessageCount, IntervalFluctuation, Pattern
MessageCount*2 == positional count: 9216/9216  (mismatches 0)
second-of-pair values             : {'No': 8940, 'Yes': 388}

value census of the seven named fields (all 9216 event records):
  EffectiveTime         4 distinct  0=8566 3=453 5=187 10=10
  Interval              6 distinct  0=6820 3=821 4=1 5=894 30=182 120=498
  IntervalFluctuation   2 distinct  0=8403 2=813
  Priority              8 distinct  1=7738 2=112 3=423 4=339 5=244 6=237 7=118 9=5
  Probability          13 distinct  0=6788 1=967 2=335 3=253 5=98 10=90 20=15 25=22 30=31 40=21 50=196 60=8 100=392
  Pattern               2 distinct  Sound=8395 Window=821
  MessageCount         25 distinct  0=6797 1=419 2=556 3=465 4=335 5=236 6=105 7=65 8=57 9=34 10=43 11=23 12=11 13=6 14=8 15=5 16=14 17=8 18=6 19=7 20=7 21=2 23=2 25=4 26=1
  (MessageCount==0, Probability==0) cross-tab: {'both zero': 6786, 'both set': 2417, 'no lines but Probability>0': 11, 'lines but Probability==0 (dead)': 2}
  records with MessageCount > 32 (the reader clamps here): 0
  Yes-bits per record: {0: 9022, 1: 127, 2: 28, 3: 14, 4: 10, 5: 1, 6: 1, 7: 7, 9: 2, 10: 2, 11: 1, 14: 1}

the 64 event records, and how many of the 144 tables give each one lines:
  ATTACK_IS_AVOIDED                114
  ATTACK_SUCCEEDED                 114
  AVOIDED_BY_PLAYER                 50
  AVOIDED_PLAYER_ATTACK             15
  AVOID_ATTACK                     118
  COUNTER                          114
  COUNTER_TO_PLAYER                 45
  DAMAGED                          124
  DAMAGED_BY_PLAYER_50_30            0
  DAMAGED_BY_PLAYER_GREATER_50     128
  DAMAGED_BY_PLAYER_LESS_30        127
  DAMAGED_TO_PLAYER                 50
  EXTENDED                          95
  EXTENDED_BY_PLAYER                86
  FOUND                            111
  FOUND_PLAYER                      45
  HP_LESS_10                       121
  HP_LESS_30                         0
  HP_LESS_50                       121
  KILLED                            82
  KILLED_BY_PLAYER                  96
  KILL_PLAYER                        2
  KILL_UNIT                        114
  LOCKON_1                          13
  LOCKON_10                         13
  LOCKON_11                         13
  LOCKON_12                         13
  LOCKON_2                          13
  LOCKON_3                          13
  LOCKON_4                          13
  LOCKON_5                          13
  LOCKON_6                          13
  LOCKON_7                          13
  LOCKON_8                          13
  LOCKON_9                          13
  LOCKON_DOWN                       13
  LOCKON_UP                         13
  LOST_BRIDGE_BY_PLAYER             18
  LOST_SHIELD_BY_PLAYER             18
  LOST_THRUSTER_BY_PLAYER           18
  LOST_TURRET_BY_PLAYER             18
  ORDER_SQUAD_ATTACK                 7
  ORDER_SQUAD_COVER                  7
  ORDER_SQUAD_EXTENDED               7
  ORDER_SQUAD_FORMATION              7
  ORDER_WINGMAN_ATTACK              13
  ORDER_WINGMAN_COVER               13
  ORDER_WINGMAN_EXTENDED            13
  ORDER_WINGMAN_FORMATION           13
  ORDOR_SQUADRON_ATTACK              7
  ORDOR_SQUADRON_COVER               7
  ORDOR_SQUADRON_EXTENDED            7
  ORDOR_SQUADRON_FORMATION           7
  PLAYER_AMMO_LESS_00               13
  PLAYER_AMMO_LESS_10               13
  PLAYER_AMMO_LESS_40               13
  PLAYER_HP_LESS_10                 13
  PLAYER_HP_LESS_30                 13
  PLAYER_HP_LESS_50                 13
  RETURNED                           0
  SHIELD_DOWNED                     61
  SHIELD_DOWNED_BY_PLAYER           46
  TALK                               0
  TM_TO_PLAYER                       0

Sperkers roster: 49 distinct speakers; sizes {0: 3, 1: 84, 2: 37, 3: 4, 4: 6, 5: 1, 6: 1, 7: 2, 8: 1, 9: 2, 10: 2, 11: 1}
  CharacterELLEN                19
  CharacterCARL                 15
  CharacterGENE                 15
  CharacterSANDRA               13
  CharacterKATANA               13
  CharacterBILLY                13
  CharacterANTONIUS             13
  CharacterRAYMOND              12
  CharacterNATALIE              10
  CharacterYOJI                 10
  CharacterTCAFOPA               9
  CharacterTCAFOPB               8
  CharacterCRICHTON              8
  CharacterTCAFA                 8
  CharacterTCAFB                 8
  CharacterADANPLA               6
  CharacterADANPLB               6
  CharacterADANPLC               6
  CharacterTCAFC                 6
  CharacterADANOPB               5
  CharacterADANOPA               5
  CharacterMARGRAS               5
  CharacterADANPLD               4
  CharacterADANPLE               4
  CharacterADANPLF               4
  CharacterADANA                 4
  CharacterADANB                 4
  CharacterADANC                 4
  CharacterSHIPSQUIRE1           4
  CharacterWAYNE                 3
  CharacterHOWARD                3
  CharacterSHIPLADY1             3
  CharacterIAN                   3
  CharacterRUSSELL               3
  CharacterVIOLETA               3
  CharacterTCAFPLA               2
  CharacterTCAFPLB               2
  CharacterTASKENT               2
  CharacterHIGGINS               1
  CharacterADANCOMMANDER         1
  CharacterTCAFSUPPLY            1
  CharacterVIEIRA                1
  CharacterTCAFMIRANDA           1
  CharacterADANETERNAL           1
  CharacterADANMASSIVE           1
  CharacterTCAFOLYMPUS           1
  CharacterMARGRAS2              1
  CharacterADANCAMAEL            1
  CharacterADANMETATRON          1

distinct message ids               : 2405
resolved in tables.pak SOUNDS      : 2388  (99.3%)
unresolved                         : 17
  by family: {'ADAN': 4, 'ADPL': 3, 'RHIN': 1, 'VOICE': 9}
  MSG_ADAN_569
  MSG_ADAN_668
  MSG_ADAN_788
  MSG_ADAN_789
  MSG_ADPL_045
  MSG_ADPL_046
  MSG_ADPL_047
  MSG_RHIN_341
  MSG_VOICE_C_286
  MSG_VOICE_D_400
  MSG_VOICE_D_419
  MSG_VOICE_D_443
  MSG_VOICE_D_444
  MSG_VOICE_D_445
  MSG_VOICE_D_446
  MSG_VOICE_D_447
  MSG_VOICE_D_449

phase merge (the loader folds Phase1/2/3 into one map):
  UnitMessageSet records naming >= 2 phase tables : 298
  duplicate-key insertions to reconcile           : 26432
    identical on the compared fields              : 26208
    DIFFERENT -> loader clears its ok flag        : 224
    compared fields equal but Yes mask differs    : 0
      x189   MESSAGE_LIST
      x17    Probability, Priority, Pattern, Interval, EffectiveTime, MESSAGE_LIST
      x14    Probability, Priority, Pattern, Interval, MESSAGE_LIST
      x2     Probability, Priority, Interval, IntervalFluctuation, MESSAGE_LIST
      x1     Probability, Priority, Pattern, Interval, IntervalFluctuation, EffectiveTime, MESSAGE_LIST
      x1     Probability, Priority, Interval, IntervalFluctuation

naming route 1 (any harvested PresetMessage_ string): 136/144
naming route 2 (UnitMessageSet_S* declarations)     : 136/144
naming route 3 (strip _msg from a message table)    : 137/144
naming route 4 (predicted from the Sperkers roster) : 6/144
routes 1 and 2 agree on the same set                : True
route 3 is a superset of route 1                    : True
route 3 names nothing that is not a rule table      : True
CONTROL — same-shaped names outside the series, hits : 0/4
naming route 5 (sweep of the grammar, 86 <who> tokens): 1/144
UNION of all five routes                            : 144/144
rule tables whose _msg companion is absent          : 0
UnitMessageSet_S* tables present: 22 of 28  (S01 S02 S03 S04 S05 S06 S07 S08 S09 S10 S11 S12 S13 S14 S15 S16 S24 S25 S26 S27 S28 S29)
missing: S18 S19 S20 S21 S22 S23
distinct declared PresetMessage tables: 137

CONTROL — PresetMessage_* names that hit an IDXD entry but are NOT rule tables: 137
  their record-name families: {('Generic', 'Message_'): 134, ('Generic',): 3}

player-facing events (14 of the 64): who voices them
  tables voicing ALL of them : 13
  tables voicing NONE        : 131
  tables voicing SOME        : 0  []
    all  message\PresetMessage_Katana_01_S01-1.tbl
    all  message\PresetMessage_Katana_02_S01-2.tbl
    all  message\PresetMessage_Katana_03_S02-1.tbl
    all  message\PresetMessage_Katana_04_S02-2.tbl
    all  message\PresetMessage_Katana_05_S03-3.tbl
    all  message\PresetMessage_Katana_06_S07-1.tbl
    all  message\PresetMessage_Katana_07_S09-2.tbl
    all  message\PresetMessage_Katana_08_S09-3.tbl
    all  message\PresetMessage_Katana_10_S11-1.tbl
    all  message\PresetMessage_Katana_11_S12-1.tbl
    all  message\PresetMessage_Katana_12_S13-1.tbl
    all  message\PresetMessage_Katana_13_S15-1.tbl
    all  message\PresetMessage_Katana_15_S28.tbl
  speakers in the all-set: 15
    exclusive to it: ['CharacterKATANA']
    also elsewhere : 14

rule tables, by name:
  0xde14f001  message\PresetMessage_ADAN_Camael.tbl
  0x31092781  message\PresetMessage_ADAN_Commander.tbl
  0x660be19b  message\PresetMessage_ADAN_Eternal.tbl
  0x4de6f4ce  message\PresetMessage_ADAN_FleetAA.tbl
  0x4eed1dce  message\PresetMessage_ADAN_FleetAB.tbl
  0x4e101fed  message\PresetMessage_ADAN_FleetBA.tbl
  0x4f1648ed  message\PresetMessage_ADAN_FleetBB.tbl
  0x4f3944e3  message\PresetMessage_ADAN_FleetCA.tbl
  0x503f6de3  message\PresetMessage_ADAN_FleetCB.tbl
  0x7d898a7a  message\PresetMessage_ADAN_Glance_S07-2.tbl
  0x733ffa0f  message\PresetMessage_ADAN_Massive.tbl
  0xe5b45769  message\PresetMessage_ADAN_Metatron.tbl
  0x50a3be19  message\PresetMessage_ADAN_ShipA_01.tbl
  0xe41a87df  message\PresetMessage_ADAN_ShipA_02_S12-1.tbl
  0x5197392f  message\PresetMessage_ADAN_ShipB_01.tbl
  0xe5767fd1  message\PresetMessage_ADAN_ShipB_01_S03-2.tbl
  0x528ab445  message\PresetMessage_ADAN_ShipC_01.tbl
  0xe991cee2  message\PresetMessage_ADAN_ShipC_02_S15-1.tbl
  0xabb657f0  message\PresetMessage_ADAN_plAB_S01-1.tbl
  0xac95b821  message\PresetMessage_ADAN_plAC_S01-1.tbl
  0x494882e2  message\PresetMessage_ADAN_plA_S01-1.tbl
  0xadf51dd8  message\PresetMessage_ADAN_plBC_S01-1.tbl
  0x4a27e313  message\PresetMessage_ADAN_plB_S01-1.tbl
  0x4b074344  message\PresetMessage_ADAN_plC_S01-1.tbl
  0x1ced0fc8  message\PresetMessage_ADAN_plDEF_S15-1.tbl
  0xb5cae6f3  message\PresetMessage_ADAN_plDE_S03-3.tbl
  0xb6aa4724  message\PresetMessage_ADAN_plDF_S03-3.tbl
  0x503eda97  message\PresetMessage_ADAN_plD_S03-3.tbl
  0xb709b304  message\PresetMessage_ADAN_plEF_S03-3.tbl
  0x511e3ac8  message\PresetMessage_ADAN_plE_S03-3.tbl
  0x52fd94d0  message\PresetMessage_ADAN_plF_S03-3.tbl
  0xa6e5b0b5  message\PresetMessage_Acropolis_01_S02-1.tbl
  0xac82d3e4  message\PresetMessage_Acropolis_02_S07-1.tbl
  0xa871f99c  message\PresetMessage_Acropolis_03_S11-1.tbl
  0x4bf26dc4  message\PresetMessage_Antonius_01_S01-2.tbl
  0x4cf19786  message\PresetMessage_Antonius_02_S02-1.tbl
  0x50034271  message\PresetMessage_Antonius_03_S03-3.tbl
  0x536e1ae6  message\PresetMessage_Antonius_04_S07-1.tbl
  0x4f5d409e  message\PresetMessage_Antonius_05_S11-1.tbl
  0xfad127f0  message\PresetMessage_Antonius_06_S28.tbl
  0xf66565a9  message\PresetMessage_Billy_01_S01-2.tbl
  0xf7648f6b  message\PresetMessage_Billy_02_S02-1.tbl
  0xfb76342d  message\PresetMessage_Billy_03_S03-3.tbl
  0xfee10ca2  message\PresetMessage_Billy_04_S07-1.tbl
  0xfad0325a  message\PresetMessage_Billy_05_S11-1.tbl
  0xa51488ed  message\PresetMessage_Billy_06_S28.tbl
  0x7ce33a27  message\PresetMessage_Carl_01_S01-2.tbl
  0x7de263e9  message\PresetMessage_Carl_02_S02-1.tbl
  0x81f408ab  message\PresetMessage_Carl_03_S03-3.tbl
  0x845ee749  message\PresetMessage_Carl_04_S07-1.tbl
  0x804e0d01  message\PresetMessage_Carl_05_S11-1.tbl
  0x2be8d24f  message\PresetMessage_Carl_06_S28.tbl
  0xe9b7a641  message\PresetMessage_Ellen_01_S01-1.tbl
  0xebbcf903  message\PresetMessage_Ellen_02_S02-1.tbl
  0xefce9dc5  message\PresetMessage_Ellen_03_S03-3.tbl
  0xf2397c63  message\PresetMessage_Ellen_04_S07-1.tbl
  0xf77113b6  message\PresetMessage_Ellen_05_S09-3.tbl
  0x99745ef7  message\PresetMessage_Ellen_06_S28.tbl
  0x79eb166f  message\PresetMessage_Gene_01_S02-1.tbl
  0x7dfcbb31  message\PresetMessage_Gene_02_S03-3.tbl
  0x806799cf  message\PresetMessage_Gene_03_S07-1.tbl
  0x859f3122  message\PresetMessage_Gene_04_S09-3.tbl
  0x82d412fc  message\PresetMessage_Gene_05_S15-2.tbl
  0x6300daef  message\PresetMessage_Howard_01_S05-2.tbl
  0x640004b1  message\PresetMessage_Howard_02_S06-1.tbl
  0x6361021c  message\PresetMessage_Howard_03_S13-1.tbl
  0x49ced33f  message\PresetMessage_Katana_01_S01-1.tbl
  0x4bb45c70  message\PresetMessage_Katana_02_S01-2.tbl
  0x4cb38632  message\PresetMessage_Katana_03_S02-1.tbl
  0x4e990f63  message\PresetMessage_Katana_04_S02-2.tbl
  0x51a48b25  message\PresetMessage_Katana_05_S03-3.tbl
  0x540f69c3  message\PresetMessage_Katana_06_S07-1.tbl
  0x5840d816  message\PresetMessage_Katana_07_S09-2.tbl
  0x5a266147  message\PresetMessage_Katana_08_S09-3.tbl
  0x51975723  message\PresetMessage_Katana_09_S10-1.tbl
  0x4a425a04  message\PresetMessage_Katana_10_S11-1.tbl
  0x4c47acc6  message\PresetMessage_Katana_11_S12-1.tbl
  0x4e4cff88  message\PresetMessage_Katana_12_S13-1.tbl
  0x517844db  message\PresetMessage_Katana_13_S15-1.tbl
  0x5483c09d  message\PresetMessage_Katana_14_S16-2.tbl
  0xf93b44ee  message\PresetMessage_Katana_15_S28.tbl
  0x632e5d87  message\PresetMessage_Lady1.tbl
  0x64348687  message\PresetMessage_Lady2.tbl
  0x653aaf87  message\PresetMessage_Lady3.tbl
  0xca38072d  message\PresetMessage_Margras_01_S03-3.tbl
  0xcb3730ef  message\PresetMessage_Margras_02_S04-2.tbl
  0xc86c12c9  message\PresetMessage_Margras_03_S10-1.tbl
  0xcde33d3e  message\PresetMessage_Margras_04_S14-1.tbl
  0xcfc8c66f  message\PresetMessage_Margras_05_S14-2.tbl
  0xd0c7f031  message\PresetMessage_Margras_06_S15-1.tbl
  0xd532e9aa  message\PresetMessage_Raymond_02_S02-1.tbl
  0xd9448e6c  message\PresetMessage_Raymond_03_S03-3.tbl
  0x81791b91  message\PresetMessage_Raymond_04_S28.tbl
  0x131f8802  message\PresetMessage_Raymond_S01-1.tbl
  0x53b2e415  message\PresetMessage_Sandra_01_S01-2.tbl
  0x54b20dd7  message\PresetMessage_Sandra_02_S02-1.tbl
  0x58c3b299  message\PresetMessage_Sandra_03_S03-3.tbl
  0x5b2e9137  message\PresetMessage_Sandra_04_S07-1.tbl
  0x571db6ef  message\PresetMessage_Sandra_05_S11-1.tbl
  0x02351472  message\PresetMessage_Sandra_06_S28.tbl
  0x52223719  message\PresetMessage_Squire1.tbl
  0x53286019  message\PresetMessage_Squire2.tbl
  0x542e8919  message\PresetMessage_Squire3.tbl
  0x5534b219  message\PresetMessage_Squire4.tbl
  0x9bfa033e  message\PresetMessage_TCAF_17thFleetAA.tbl
  0x9c003267  message\PresetMessage_TCAF_17thFleetAB.tbl
  0x9c232e5d  message\PresetMessage_TCAF_17thFleetBA.tbl
  0x9d29575d  message\PresetMessage_TCAF_17thFleetBB.tbl
  0x9d4c5353  message\PresetMessage_TCAF_17thFleetCA.tbl
  0x9e527c53  message\PresetMessage_TCAF_17thFleetCB.tbl
  0xee14c77c  message\PresetMessage_TCAF_17thFleetShipA.tbl
  0xef1af07c  message\PresetMessage_TCAF_17thFleetShipB.tbl
  0xf021197c  message\PresetMessage_TCAF_17thFleetShipC.tbl
  0x64ecd655  message\PresetMessage_TCAF_AcropolisGuard.tbl
  0x4f33ea2e  message\PresetMessage_TCAF_Caliban.tbl
  0x57a53d3b  message\PresetMessage_TCAF_FleetAA.tbl
  0x58ab663b  message\PresetMessage_TCAF_FleetAB.tbl
  0x58ce6231  message\PresetMessage_TCAF_FleetBA.tbl
  0x59d48b31  message\PresetMessage_TCAF_FleetBB.tbl
  0x59f78727  message\PresetMessage_TCAF_FleetCA.tbl
  0x5afdb027  message\PresetMessage_TCAF_FleetCB.tbl
  0xa6b0cfde  message\PresetMessage_TCAF_Janus.tbl
  0x616c4182  message\PresetMessage_TCAF_Miranda.tbl
  0x9ec12cb7  message\PresetMessage_TCAF_Olympus.tbl
  0x6a18ba6a  message\PresetMessage_TCAF_Pandora.tbl
  0x9aafd76a  message\PresetMessage_TCAF_ShipA.tbl
  0x9bb6006a  message\PresetMessage_TCAF_ShipB.tbl
  0x9cbc296a  message\PresetMessage_TCAF_ShipC.tbl
  0x326328f2  message\PresetMessage_TCAF_Supply.tbl
  0x22beec7a  message\PresetMessage_TCAF_Vinson.tbl
  0xb704e242  message\PresetMessage_TCAF_plAB_S02-2.tbl
  0x554cc1d2  message\PresetMessage_TCAF_plA_S02-2.tbl
  0x562c2203  message\PresetMessage_TCAF_plB_S02-2.tbl
  0xd74c69b3  message\PresetMessage_Taskent_01_S03-3.tbl
  0xd84b9375  message\PresetMessage_Taskent_02_S04-2.tbl
  0xd4edb4dc  message\PresetMessage_Violeta_01_S08-1.tbl
  0xd7f9309e  message\PresetMessage_Violeta_02_S09-2.tbl
  0xd0964834  message\PresetMessage_Violeta_03_S11-1.tbl
  0x027f9fba  message\PresetMessage_Wayne_01_S05-2.tbl
  0x037ec97c  message\PresetMessage_Wayne_02_S06-1.tbl
  0x02dfc6e7  message\PresetMessage_Wayne_03_S13-1.tbl
  0x9a44099c  message\PresetMessage_Yoji_01_S06-2.tbl
  0x9b43335e  message\PresetMessage_Yoji_02_S07-1.tbl
  0xa07acab1  message\PresetMessage_Yoji_03_S09-3.tbl

unnamed rule tables: 0
