WIKI · DAMAGE TABLE
How much each shot takes from each target.
The Mega Man X damage table, read straight from the original cartridge. Each target belongs to a damage class, and each of X's shots has a number. The game looks up the target's class and the shot's number in this table and finds how much health the target loses.
How to read it
- A number: how much health the target loses. 127 kills anything.
- D: the target deflects the shot, and a sound plays.
- 0: nothing happens, and the target does not even blink.
- Bosses change class during the fight. For example, while they are invulnerable they move to class 5, which is all zeros.
- A * after a name means that class was seen in a recording, at the moment of a hit, but the target's own code does not set it.
The weaknesses of the eight bosses
| Boss | Class | Weakness | Taking a hit | Highest uncharged damage | Tied with |
|---|---|---|---|---|---|
| Chill Penguin | 9 | Fire Wave | 3 | 3 | none |
| Storm Eagle | 7 | Chameleon Sting | 3 | 3 | none |
| Flame Mammoth | 8 | Storm Tornado | 3 | 3 | none |
| Spark Mandrill | 10 | Shotgun Ice | 3 | 3 | none |
| Armored Armadillo | 11 | Electric Spark | 3 | 3 | none |
| Launch Octopus | 12 | Rolling Shield | 3 | 3 | none |
| Boomer Kuwanger | 13 | Homing Torpedo | 3 | 3 | none |
| Sting Chameleon | 6 | Boomerang Cutter | 3 | 3 | none |
The whole table
One row per class and one column per shot. Slide the table sideways to see every column.
| Class | 00Buster | 01Charged buster | 02Super-charged buster | 03Charged buster | 04Hadouken | 05Spiral buster (unused) | 06Buster (variant) | 07Homing Torpedo | 08Chameleon Sting | 09Rolling Shield | 0AFire Wave | 0BStorm Tornado | 0CElectric Spark | 0DBoomerang Cutter | 0EShotgun Ice | 0FNinth weapon (unused) | 10Charged Homing Torpedo | 11Charged Chameleon Sting | 12Charged Rolling Shield | 13Charged Fire Wave | 14Charged Storm Tornado | 15Charged Electric Spark | 16Charged Boomerang Cutter | 17Charged Shotgun Ice | 18Charged ninth weapon (unused) | 19Ride Armor punch | 1AStrong Ride Armor punch (unused) | 1BMine-cart object | 1CZero's shot | 1DUnnamed |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Class 0 | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | D | 127 | 16 | D |
| Class 1 | 2 | 4 | 6 | 5 | 32 | 8 | 4 | 2 | 8 | 8 | 1 | 1 | 6 | 6 | 4 | 4 | 8 | 0 | 6 | 1 | 1 | 3 | 10 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 2 | 2 | 4 | 6 | 5 | 32 | 8 | 4 | 2 | 8 | 8 | 1 | 1 | 6 | 6 | 4 | 4 | 8 | 0 | 6 | 1 | 1 | 3 | 10 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 3 | 1 | 2 | 4 | 4 | 32 | 4 | 2 | 3 | 2 | 4 | 1 | 1 | 2 | 2 | 2 | 4 | 3 | 0 | 4 | 1 | 4 | 6 | 6 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 4 | 2 | 4 | 6 | 4 | 32 | 8 | 4 | 2 | 8 | 8 | 1 | 1 | 4 | 6 | 4 | 4 | 8 | 0 | 6 | 1 | 1 | 3 | 10 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 5 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 127 | 0 | 0 |
| Class 6 | 1 | 1 | 2 | 2 | 32 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 3 | 1 | 1 | 2 | 0 | 2 | 2 | 2 | 2 | 4 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 7 | 1 | 1 | 2 | 2 | 32 | 2 | 2 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 0 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 8 | 1 | 1 | 2 | 2 | 32 | 2 | 2 | 1 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 2 | 0 | 2 | 2 | 4 | 2 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 9 | 1 | 2 | 3 | 3 | 32 | 2 | 2 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 2 | 0 | 2 | 4 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 10 | 1 | 2 | 3 | 3 | 32 | 2 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 3 | 1 | 2 | 0 | 2 | 2 | 2 | 2 | 2 | 4 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 11 | 1 | 1 | 1 | 1 | 32 | 2 | 2 | 1 | 1 | 1 | 0 | 0 | 3 | 1 | 1 | 1 | 2 | 2 | 2 | 2 | 2 | 6 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 12 | 1 | 2 | 3 | 3 | 32 | 2 | 2 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 2 | 4 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 13 | 1 | 2 | 3 | 3 | 32 | 2 | 2 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 4 | 2 | 2 | 2 | 2 | 2 | 2 | 2 | 1 | 1 | 1 | 127 | 1 | 1 |
| Class 14 | 1 | 2 | 3 | 3 | 32 | 4 | 2 | 3 | 4 | 8 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 4 | 6 | 1 | 1 | 4 | 6 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 15 | 1 | 2 | 3 | 3 | 32 | 4 | 2 | 3 | 4 | 8 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 4 | 6 | 1 | 1 | 4 | 6 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 16 | 1 | 2 | 3 | 3 | 32 | 4 | 2 | 3 | 4 | 8 | 1 | 1 | 4 | 4 | 4 | 4 | 4 | 4 | 6 | 1 | 1 | 4 | 6 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
| Class 17 | D | D | D | D | 32 | D | D | D | D | D | 3 | D | D | D | D | D | D | D | D | 4 | D | D | D | D | D | 5 | 10 | D | D | D |
| Class 18 | 1 | 1 | 1 | 1 | 32 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 2 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 3 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
| Class 19 | D | D | 1 | D | D | D | D | D | D | 2 | D | D | D | D | D | D | D | D | 2 | D | D | D | D | D | D | D | D | D | D | 1 |
| Ownerless row | 2 | 4 | 6 | 5 | 32 | 8 | 4 | 2 | 8 | 8 | 1 | 1 | 6 | 4 | 4 | 4 | 8 | 0 | 6 | 1 | 1 | 3 | 6 | 8 | 4 | 5 | 10 | 127 | 16 | 1 |
Who uses each class
| Class | Targets |
|---|---|
| Class 0 | Chill Penguin, Armored Armadillo, Launch Octopus, Bospider*, Sigma (final form) |
| Class 1 | Angler fish (Launch Octopus stage mid-boss), normal enemies |
| Class 2 | Normal enemies |
| Class 3 | Vile in the intro*, Vile in the fortress (two objects, one of them*), Thunder Slimer, highway giant bee* |
| Class 4 | No identified target |
| Class 5 | Chill Penguin, Storm Eagle, Flame Mammoth, Spark Mandrill, Launch Octopus, Boomer Kuwanger, Sting Chameleon, Vile in the fortress, Bospider, Rangda Bangda (two objects), D-Rex*, Velguarder, Sigma (humanoid form), Thunder Slimer, angler fish (Launch Octopus stage mid-boss) |
| Class 6 | Sting Chameleon, D-Rex*, Utuboros* (two objects) |
| Class 7 | Storm Eagle, Rangda Bangda (two objects), angler fish (Launch Octopus stage mid-boss)* |
| Class 8 | Flame Mammoth, submarine* |
| Class 9 | Chill Penguin |
| Class 10 | Spark Mandrill, Bospider*, Velguarder, Thunder Slimer* |
| Class 11 | Armored Armadillo |
| Class 12 | Launch Octopus |
| Class 13 | Boomer Kuwanger |
| Class 14 | No identified target |
| Class 15 | No identified target |
| Class 16 | No identified target |
| Class 17 | No identified target |
| Class 18 | Sigma (humanoid form)* |
| Class 19 | Sigma (final form)* |
| Ownerless row | No class points to this row |
What stands out
- Each boss's weakness takes 3. Among the uncharged weapons, it is the only one that takes 3 from that boss; the others take 1, and on Armored Armadillo two of them take 0. But 3 is not the biggest number on the row: the Hadouken takes 32 from every boss, the mine-cart object takes 127, and the charged weakness takes 4 (6 on Armored Armadillo).
- Sigma's final form (class 19) deflects almost everything: only the super-charged buster (1), Rolling Shield (2), the charged Rolling Shield (2) and the unnamed shot in the last column (1) take health.
- Armored Armadillo (class 11): uncharged Fire Wave and Storm Tornado take 0, and the buster takes 1 at any charge level. When he closes up in his armour, he moves to class 0.
- Class 0 deflects everything except the mine-cart object (127) and Zero's shot (16). Chill Penguin and Launch Octopus use it too.
- Class 5 is all zeros except the mine-cart object (127). It is the invulnerability class almost every boss uses during the fight.
- The charged Chameleon Sting takes 0 from normal enemies (it makes X invincible, with no contact damage), but takes 2 from the bosses in classes 11, 12 and 13, and 4 from classes 14 to 16.
- Class 17, with no identified target, deflects everything except Fire Wave (3), charged Fire Wave (4), Hadouken (32) and the two Ride Armor punches (5 and 10).
- The table starts with a short list that says which row each class uses. Right after that list comes a row that no class uses: the ownerless row. It is almost the same as the normal enemies' row, but with Boomerang Cutter 4 (instead of 6) and charged Boomerang Cutter 6 (instead of 10).
- Columns of unused shots: the spiral buster (8 on normal enemies), the ninth weapon, normal and charged (4 on normal enemies), and the Ride Armor's strong punch (10) have real values in every row. See them in the curiosities →
- Classes 1 and 2 use the same row of the table.
Technical details
The source is table 86:EF37 (20 index words and 30-byte rows), used by routine 84:9E15. It was generated by tools/rom/damage_table.py; the data is in knowledge_base/mmx1/rom/x1_damage_table_2026-10-04.json, and the cells are pinned by tools/tests/test_damage_table.py.
The row is the target's byte $28, the damage class (84:9E23); the column is the shot's OID, byte $0A of the slot (84:9E1A); the value read is the byte at 86:EF37 + word[row] + OID (84:9E2A). A normal value is taken from health (84:9E73). D = $80: the shot is deflected (84:9EEE, sound $10). The second handler, 84:9F10 (byte $82), exists, but no cell of the table uses it. With 0, nothing happens, no blinking (84:9E5A). 127 is $7F.
With his armour closed, Armored Armadillo uses class 0 (83:B305, 83:B2FD). Chill Penguin (81:B649) and Launch Octopus (81:C54F) also use class 0. Classes 1 and 2 have the word $0046 twice (86:EF39 and 86:EF3B). OID 1D is not consumed on a hit (84:9E90).
Copied from docs/wiki/damage-table.md, at commit 826225efde5fa19c5b43f20304c2afbbb965620e of the game repository, by tools/render_wiki.py --import.
Rows, with the address of each one:
classe 0: chill-penguin, armored-armadillo, launch-octopus, bospider 0x63*, sigma-final 0x65 (86:EFB9)classe 1: lo-midboss-0x21 0x21, normal enemies (86:EF7D)classe 2: normal enemies (86:EF7D)classe 3: vile-intro 0x32*, vile-fortress 0x69, vile-fortress 0x67*, thunder-slimer 0x03, highway-giant-bee 0x22* (86:EFD7)classe 4 (sem nome) (86:EFF5)classe 5: chill-penguin, storm-eagle, flame-mammoth, spark-mandrill, launch-octopus, boomer-kuwanger, sting-chameleon, vile-fortress 0x69, bospider 0x63, rangda-bangda 0x5E, rangda-bangda 0x5F, d-rex 0x61*, velguarder 0x26, sigma-humanoid 0x65, thunder-slimer 0x03, lo-midboss-0x21 0x21 (86:EF9B)classe 6: sting-chameleon, d-rex 0x61*, utuboros 0x23*, utuboros 0x25* (86:F013)classe 7: storm-eagle, rangda-bangda 0x5E, rangda-bangda 0x5F, lo-midboss-0x21 0x21* (86:F031)classe 8: flame-mammoth, submarine 0x28* (86:F04F)classe 9: chill-penguin (86:F06D)classe 10: spark-mandrill, bospider 0x63*, velguarder 0x26, thunder-slimer 0x03* (86:F08B)classe 11: armored-armadillo (86:F0A9)classe 12: launch-octopus (86:F0C7)classe 13: boomer-kuwanger (86:F0E5)classe 14 (sem nome) (86:F103)classe 15 (sem nome) (86:F121)classe 16 (sem nome) (86:F13F)classe 17 (sem nome) (86:F15D)classe 18: sigma-humanoid 0x65* (86:F17B)classe 19: sigma-final 0x65* (86:F199)linha órfã (86:EF5F)
Columns, with each shot's internal name and the source of the name:
00 weaponBullet_lemon_00 (boss_evidence_2026-09-26.json)01 weaponBullet_lemonCharged_01 (boss_evidence_2026-09-26.json)02 weaponShot_lemonSuperCharge_02 (boss_evidence_2026-09-26.json)03 weaponShot_lemonCharged_03 (boss_evidence_2026-09-26.json)04 weaponShot_haduken_04 (boss_evidence_2026-09-26.json)05 unused buster shot (table 86:BA76 index 7) (x1_shot_oids_unported_2026-10-03.json)06 buster: the chooser writes 6 when 86:BA76 gives 0, $55 != 0 and $63 == 0 (x1_shot_oids_unported_2026-10-03.json)07 mainWeaponShot_homing_07 (boss_evidence_2026-09-26.json)08 weaponShot_stinger3Way_08 (boss_evidence_2026-09-26.json)09 mainWeaponShot_shild_09 (boss_evidence_2026-09-26.json)0A mainWeaponShot_fire_0a (boss_evidence_2026-09-26.json)0B mainWeaponShot_storm_0b (boss_evidence_2026-09-26.json)0C mainWeaponShot_spark_0c (boss_evidence_2026-09-26.json)0D mainWeaponShot_cutter_0d; Boomerang Cutter (uncharged) (boss_evidence_2026-09-26.json)0E mainWeaponShot_ice_0e (boss_evidence_2026-09-26.json)0F uncharged shot of weapon slot 18 (a ninth weapon; handler is Storm Tornado's) (x1_shot_oids_unported_2026-10-03.json)10 chargeShot_homingMissle_10 (boss_evidence_2026-09-26.json)11 chargeShot_camaFlash_11 (boss_evidence_2026-09-26.json)12 mainChargeShot_shild_12 (boss_evidence_2026-09-26.json)13 mainChargeShot_fire_13 (boss_evidence_2026-09-26.json)14 mainChargeShot_storm_14 (boss_evidence_2026-09-26.json)15 mainChargeShot_spark_15 (boss_evidence_2026-09-26.json)16 mainChargeShot_cutter_16 (boss_evidence_2026-09-26.json)17 mainChargeShot_Ice_17; charged Shotgun Ice (ice sled) (boss_evidence_2026-09-26.json)18 mainChargeShot_storm_18; charged shot of weapon slot 18 (handler is Storm Tornado's) (boss_evidence_2026-09-26.json)19 ride armor punch hitbox (spawned at 83:8247) (x1_ghost_shots_2026-10-03.json)1A charged shot of weapon slot 22 (handler 81:A70A, same as OID 25) (x1_shot_oids_unported_2026-10-03.json)1B mine-cart object's shot-slot child (Armored Armadillo stage) (x1_shot_oids_unported_2026-10-03.json)1C Zero's shot (intro highway, Zero object $33) (x1_shot_oids_unported_2026-10-03.json)1D (sem nome; não é consumido ao acertar, 84:9E90) (unnamed: no label and no proof; labelled by index)