Problems in critical table

Cyrus

It Wandered In From the Wastes
Since I've been doing the damage mod I've had to pay close attention to the critical table. I've examined it quite well.


One of the modules I've written works by reverse lookup to get the critical level based on other parameters (since critical level is not available as a parameter to read directly) as well as monitoring other critical parameters closely. While I was testing I noticed my module producing peculiar results. Further examination revealed no fault with the module so I suspected there might be some inconsistency between body parts TORSO_CALLED and TORSO_UNCALLED. (Problems arose when making uncalled shots.)

So I decided to print out the whole critical table for those 2 bodyparts. Here is the full list for reference:
Code:
BEGIN printing of critical table:


CRITTER 0     ============================== MEN

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5017,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5019,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5019,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5020,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5021,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5017,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5018,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5019,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5020,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5021,   Fail Msg: 5000


CRITTER 1     ============================== WOMEN

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5116,   Fail Msg: 5100
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5117,   Fail Msg: 5100
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5119,   Fail Msg: 5100
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5119,   Fail Msg: 5100
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5120,   Fail Msg: 5100
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5121,   Fail Msg: 5100
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5116,   Fail Msg: 5100
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5117,   Fail Msg: 5100
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5119,   Fail Msg: 5100
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5119,   Fail Msg: 5100
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5120,   Fail Msg: 5100
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5121,   Fail Msg: 5100


CRITTER 2     ============================== CHILDREN

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5210,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5212,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5212,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5213,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5214,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5210,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5212,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5213,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5214,   Fail Msg: 5000


CRITTER 3     ============================== SUPER MUTANT

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5300,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5301,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5302,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5302,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5310,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5311,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5300,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5301,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5302,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5302,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5310,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5311,   Fail Msg: 5000


CRITTER 4     ============================== GHOUL

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5017,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5018,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5004,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5003,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5007,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5017,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5018,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5004,   Fail Msg: 5000
CM: 4,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 5003,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5007,   Fail Msg: 5000


CRITTER 5     ============================== BRAHMIN

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5505,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5505,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5506,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5504,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5505,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5505,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5506,   Fail Msg: 5000


CRITTER 6     ============================== RADSCORPION

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5604,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5605,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: AG 0,   Fail Effect: 2,   Msg : 5605,   Fail Msg: 5606
CM: 4,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5607,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5604,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5605,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: AG 0,   Fail Effect: 2,   Msg : 5605,   Fail Msg: 5606
CM: 4,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5607,   Fail Msg: 5000


CRITTER 7     ============================== RAT

BODYPART 3     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5706,   Fail Msg: 5000
CM: 3,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 3,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 5708,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5706,   Fail Msg: 5000
CM: 3,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 3,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 5707,   Fail Msg: 5000
CM: 4,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 5708,   Fail Msg: 5000


CRITTER 8     ============================== FLOATER

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: AG 0,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 5800
CM: 3,   Effect: 0,      Stat: AG -2,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 5800
CM: 4,   Effect: 2,      Stat: -1 0,   Fail Effect: 0,   Msg : 5800,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5804,   Fail Msg: 5000
CM: 4,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5805,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: AG 0,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 5800
CM: 3,   Effect: 0,      Stat: AG -2,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 5800
CM: 4,   Effect: 2,      Stat: -1 0,   Fail Effect: 0,   Msg : 5800,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5804,   Fail Msg: 5000
CM: 4,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5805,   Fail Msg: 5000


CRITTER 9     ============================== CENTAUR

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5901,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: EN 2,   Fail Effect: 2,   Msg : 5901,   Fail Msg: 5900
CM: 5,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5900,   Fail Msg: 5000
CM: 5,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5902,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5901,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: EN 2,   Fail Effect: 0,   Msg : 5901,   Fail Msg: 5900
CM: 5,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5900,   Fail Msg: 5000
CM: 5,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 5902,   Fail Msg: 5000


CRITTER 10     ============================== ROBOT

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6000,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6006,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6007,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6008,   Fail Msg: 5000
CM: 6,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6009,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6010,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6000,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6006,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6007,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6008,   Fail Msg: 5000
CM: 6,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6009,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6010,   Fail Msg: 5000


CRITTER 11     ============================== DOG

BODYPART 3     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,     Stat: AG -1,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 6100
CM: 4,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 0,     Stat: AG -3,   Fail Effect: 2,   Msg : 5016,   Fail Msg: 6100
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 6100,   Fail Msg: 5000
CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6103,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,     Stat: AG -1,   Fail Effect: 2,   Msg : 5001,   Fail Msg: 6100
CM: 4,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 0,     Stat: AG -3,   Fail Effect: 2,   Msg : 5016,   Fail Msg: 6100
CM: 4,   Effect: 2,     Stat: -1 0,   Fail Effect: 0,   Msg : 6100,   Fail Msg: 5000
CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6103,   Fail Msg: 5000


CRITTER 12     ============================== MANTIS

BODYPART 3     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 1000,   Fail Msg: 5000
CM: 3,   Effect: 0,     Stat: EN 0,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6205
CM: 3,   Effect: 0,     Stat: EN -2,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6205
CM: 4,   Effect: 0,     Stat: EN -2,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6205
CM: 4,   Effect: 0,     Stat: EN -4,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6205
CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6206,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,     Stat: -1 0,   Fail Effect: 0,   Msg : 1000,   Fail Msg: 5000
CM: 3,   Effect: 0,     Stat: EN 0,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6205
CM: 3,   Effect: 0,     Stat: EN -2,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6205
CM: 4,   Effect: 0,     Stat: EN -2,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6205
CM: 4,   Effect: 0,     Stat: EN -4,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6205
CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6206,   Fail Msg: 5000


CRITTER 13     ============================== DEATHCLAW

BODYPART 3     ----------
CM: 3,   Effect: 0,       Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,       Stat: EN -1,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6300
CM: 4,   Effect: 0,       Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 0,       Stat: EN -1,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6300
CM: 5,   Effect: 2050,    Stat: -1 0,   Fail Effect: 0,   Msg : 5004,   Fail Msg: 5000
CM: 5,   Effect: 34818,   Stat: -1 0,   Fail Effect: 0,   Msg : 5005,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,       Stat: -1 0,   Fail Effect: 0,   Msg : 5001,   Fail Msg: 5000
CM: 3,   Effect: 0,       Stat: EN -1,   Fail Effect: 2048,   Msg : 5001,   Fail Msg: 6300
CM: 4,   Effect: 0,       Stat: -1 0,   Fail Effect: 0,   Msg : 5016,   Fail Msg: 5000
CM: 4,   Effect: 0,       Stat: EN -1,   Fail Effect: 2048,   Msg : 5016,   Fail Msg: 6300
CM: 5,   Effect: 2050,    Stat: -1 0,   Fail Effect: 0,   Msg : 5004,   Fail Msg: 5000
CM: 5,   Effect: 34818,   Stat: -1 0,   Fail Effect: 0,   Msg : 5005,   Fail Msg: 5000


CRITTER 14     ============================== SPORE PLANT

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6405,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6405,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6400,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6401,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6401,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6402,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6405,   Fail Msg: 5000
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6405,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6400,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6401,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6401,   Fail Msg: 5000
CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6402,   Fail Msg: 5000


CRITTER 15     ============================== GECKO

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6701,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6701,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000


CRITTER 16     ============================== ALIEN

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000


CRITTER 17     ============================== GIANT ANT

BODYPART 3     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6900,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6900,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
BODYPART 8     ----------
CM: 3,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6900,   Fail Msg: 5000
CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6900,   Fail Msg: 5000
CM: 4,   Effect: 0,      Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
CM: 6,   Effect: 128,    Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000


CRITTER 18     ============================== HORRIGAN

BODYPART 3     ----------
CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 4,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7101,   Fail Msg: 7100
CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7101,   Fail Msg: 7100
BODYPART 8     ----------
CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100



END printing of critical table.


Then I wrote another module that filters through the table looking for differences and prints only the differences. Here is what it printed out:

Code:
BEGIN printing of critical table:

CRITTER 0     ============================== MEN

Level: 2 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5019,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 5018,   Fail Msg: 5000


CRITTER 1     ==============================



CRITTER 2     ============================== CHILDREN

Level: 1 mismatch:
Bodypart 3:  CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000
Bodypart 8:  CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000
Level: 2 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 5212,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 5211,   Fail Msg: 5000


CRITTER 3     ==============================



CRITTER 4     ==============================



CRITTER 5     ==============================



CRITTER 6     ==============================



CRITTER 7     ==============================



CRITTER 8     ==============================



CRITTER 9     ============================== CENTAUR

Level: 3 mismatch:
Bodypart 3:  CM: 4,   Effect: 2048,   Stat: EN 2,   Fail Effect: 2,   Msg : 5901,   Fail Msg: 5900
Bodypart 8:  CM: 4,   Effect: 2048,   Stat: EN 2,   Fail Effect: 0,   Msg : 5901,   Fail Msg: 5900


CRITTER 10     ==============================



CRITTER 11     ==============================



CRITTER 12     ==============================



CRITTER 13     ==============================



CRITTER 14     ==============================



CRITTER 15     ============================== GECKO

Level: 0 mismatch:
Bodypart 3:  CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 6701,   Fail Msg: 5000
Bodypart 8:  CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
Level: 1 mismatch:
Bodypart 3:  CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6701,   Fail Msg: 5000
Bodypart 8:  CM: 3,   Effect: 2048,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
Level: 2 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
Level: 3 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
Level: 4 mismatch:
Bodypart 3:  CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
Bodypart 8:  CM: 6,   Effect: 2049,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000
Level: 5 mismatch:
Bodypart 3:  CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6704,   Fail Msg: 5000
Bodypart 8:  CM: 6,   Effect: 128,   Stat: -1 0,   Fail Effect: 0,   Msg : 6700,   Fail Msg: 5000


CRITTER 16     ============================== ALIEN

Level: 2 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 6800,   Fail Msg: 5000


CRITTER 17     ============================== GIANT ANT

Level: 2 mismatch:
Bodypart 3:  CM: 4,   Effect: 2050,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000
Bodypart 8:  CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 6904,   Fail Msg: 5000


CRITTER 18     ============================== HORRIGAN

Level: 2 mismatch:
Bodypart 3:  CM: 3,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
Bodypart 8:  CM: 4,   Effect: 0,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
Level: 4 mismatch:
Bodypart 3:  CM: 4,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7101,   Fail Msg: 7100
Bodypart 8:  CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100
Level: 5 mismatch:
Bodypart 3:  CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7101,   Fail Msg: 7100
Bodypart 8:  CM: 5,   Effect: 2,   Stat: -1 0,   Fail Effect: 0,   Msg : 7106,   Fail Msg: 7100


END printing of critical table.


Now, I don't know about you guys but I don't understand what purpose the difference between torso called and uncalled is supposed to serve, other that confusing the hell out of an already confused player with all the needless over-complications of the critical table.

How are we to see this? A feature? or another fuck up?

It's clear to me that it's the latter. I think these differences have no meaning and purpose and only serve to conflict the player. I'm suggesting that they be permanenetly made the same.

Now one way is to simply redirect all TORSO_UNCALLED shots to TORSO_CALLED table. But one could argue that potentially some modder could come along and want to add critical chance to TORSO_CALLED (which actually makes sense), and therefore the two should be kept separate. Fine fine.

Then I think a comparison between each 2 lines should be made, the more correct entry picked, and applied to both situations and make them the same.
 
Did you guys also know that uncalled shots hit other body parts than torso?

My preliminary testing shows that they do. Gonna write a precise test to find out for sure.


** Edit
They don't. They only hit torso_uncalled.
 
Last edited:
I'm suggesting that they be permanenetly made the same.
Maybe no?
>Removed the dependency of Body_Torso from Body_Uncalled hit modifier, and re-added BodyHit_Torso to ddraw.ini. Now you can use set_bodypart_hit_modifier script function to set them individually
 
Last edited:
Ok, unfortunately no video report cause the test I just did was very short and quickly settled as well as to explain what the visual data means would have taken too much time on the video.

So I wrote the test and just tested. Its conclusive. I was wrong about uncalled shots hitting other body parts. They only hit part 8, which is torso_uncalled.
The reason I was misled was because I didn't have a print out of the uncalled body parts and the data I was seeing was matching some other body parts and I got the wrong impression at first. Now that I have an exact printout of torso_uncalled its clear.

I am including the script here. You can download it and place it in your script folder and simply test for yourself.

What the script does is it shows you which bodypart was hit as well as other critical data. It also reverse traces the critical level and gives it to you on a critical hit. Sometimes its not able to figure the level exactly and finds more matches however in such cases it makes no practical difference for player as the matches are identical. In such a case it randomly picks a level from matches. But it tells you how many matches its found.

Using the data you can look up on table and see if it got it right. Which it does.

Anyway, it demonstrates that uncalled shots only hit bodypart 8 and that's where they get data (CM, flags, msg, etc.) from.

You can test with other body parts too, and it will show accordingly.
 

Attachments

Last edited:
Now you can use set_bodypart_hit_modifier script function to set them individually
To be clear, I wasn't complaining about damage modifiers for bodyparts.

I am objecting to critical table effects and messages being different for torso_called and torso_uncalled for a given critter. There simply is no reason for it and it serves no meaningful function other than confusing us more. And if its a feature why doesn't it exist for all critters? and implemented more strategically?

If torso_called is given extra critical chance and tohit penalty (like other aimed body parts), that in itself is enough to differentiate it meaningfully from torso uncalled. there is no reason for them containing different data in their tables though, is my point.


It doesn't end there either. What about the fact that males and females have different table stats? Another thing I think is just unnecessary. Who is gonna remember that crap anyway. Is the player really expected to go around "memorizing" critical table numbers to play a damn game? 20 critters x 9 bodyparts x 6 levels x 2 flag fields = 2160 different possibilities. But this is different issue. I'll eat your brains out on this issue another day. One pain at a time. :V
 
Last edited:
What about the fact that males and females have different table stats?
Maybe the devs try to reflect the physical difference between genders? I don't really see the problem as long as their entries are not broken like Children or linking to incorrect messages like in some other critter types.

As for torso and uncalled critical tables being different, I made some test fixes. Try the attached build to see if there are still any different entries in tables.
 

Attachments

Who is gonna remember that crap anyway. Is the player really expected to go around "memorizing" critical table numbers to play a damn game?
Nobody needs to remember the data. It's just a background mechanic and without reverse-engineering we wouldn't even know the values.

Other than that, if it really bothers you so much, you can easily rewrite everything via Sfall. It's a lot of work, though, which is probably why nobody bothered with it except for fixing some bugs.
 
Maybe the devs try to reflect the physical difference between genders?
Well yes. That's precisely it. But its not that well done, its rather minimal, most critters lack it, and doesn't seem to really make an interesting difference. Have a look. As a player I personally would have preferred if they were the same so the game would behave more consistent between different targets. That's my experience of it.

Other than that, if it really bothers you so much, you can easily rewrite everything via Sfall. It's a lot of work, though, which is probably why nobody bothered with it except for fixing some bugs.
It's not that it bothers me too much, but more like... if you're gonna do something you do it right, right?
And I was pointing it out cause I came across it and wanted to see if others agree.

Try the attached build to see if there are still any different entries in tables.
My difference finder script found 0 discrepancies with the build. I also checked by eye and it all checked out. Good job. I wasn't expecting anything out of this write up. But nice of you to jump right on it.


For reference here is a copy of the script if anyone ever needs to use it. This one checks for differences:
Code:
procedure print_crit_table begin
  variable critter, bodypart, level, cm, effects, effects_2, stat, stat_value, msg, fail_msg;
  variable AR1, AR2, arr, k, v;
  AR1 = create_array_list(6);
  AR2 = create_array_list(6);

  debug_msg("BEGIN printing of critical table: \n");
  for (critter = 0; critter < 19; critter++) begin
    debug_msg("\n" + "\n" + "CRITTER " + critter + "     ============================== \n");
    for (bodypart = 3; bodypart < 9; bodypart += 5) begin
      if bodypart == 3 then arr = AR1;
      if bodypart == 8 then arr = AR2;
      for (level = 0; level < 6; level++) begin
        cm = 0; effects = -1; effects_2 = -1; stat = -1; stat_value = 99; msg = -1; fail_msg = -1;
        cm = get_critical_table(critter, bodypart, level, 0);
        effects = get_critical_table(critter, bodypart, level, 1);
        stat = get_critical_table(critter, bodypart, level, 2);
        switch (stat) begin
          case 0 : stat = "ST";
          case 1 : stat = "PE";
          case 2 : stat = "EN";
          case 3 : stat = "CH";
          case 4 : stat = "IN";
          case 5 : stat = "AG";
          case 6 : stat = "LU";
        end
        stat_value = get_critical_table(critter, bodypart, level, 3);
        effects_2 = get_critical_table(critter, bodypart, level, 4);
        msg = get_critical_table(critter, bodypart, level, 5);
        fail_msg = get_critical_table(critter, bodypart, level, 6);
        arr[level] = "CM: " + cm + ",   Effect: " + effects + ",   Stat: " + stat + " " + stat_value + ",   Fail Effect: " + effects_2
        + ",   Msg : " + msg + ",   Fail Msg: " + fail_msg;
      end
    end

    foreach k: v in AR1 begin
      if AR1[k] != AR2[k] then begin
        debug_msg("Level: " + k + " mismatch:");
        debug_msg("Bodypart 3:  " + AR1[k]);
        debug_msg("Bodypart 8:  " + AR2[k]);
      end
      AR1[k] = 0;
      AR2[k] = 0;
    end
    // going to next critter
  end
  debug_msg("END printing of critical table. \n");
end

This one prints out torso_called and torso_uncalled for all critters. Quite similar to above.
Code:
procedure print_crit_table begin
  variable critter, bodypart, level, cm, effects, effects_2, stat, stat_value, msg, fail_msg;

  debug_msg("BEGIN printing of critical table: \n");
  for (critter = 0; critter < 19; critter++) begin
    debug_msg("\n" + "\n" + "CRITTER " + critter + "     ============================== \n");
    for (bodypart = 3; bodypart < 9; bodypart += 5) begin
      debug_msg("BODYPART " + bodypart + "     ----------");
      for (level = 0; level < 6; level++) begin
        cm = 0; effects = -1; effects_2 = -1; stat = -1; stat_value = 99; msg = -1; fail_msg = -1;
        cm = get_critical_table(critter, bodypart, level, 0);
        effects = get_critical_table(critter, bodypart, level, 1);
        stat = get_critical_table(critter, bodypart, level, 2);
        stat_value = get_critical_table(critter, bodypart, level, 3);
        switch (stat) begin
          case 0 : stat = "ST";
          case 1 : stat = "PE";
          case 2 : stat = "EN";
          case 3 : stat = "CH";
          case 4 : stat = "IN";
          case 5 : stat = "AG";
          case 6 : stat = "LU";
        end
        effects_2 = get_critical_table(critter, bodypart, level, 4);
        msg = get_critical_table(critter, bodypart, level, 5);
        fail_msg = get_critical_table(critter, bodypart, level, 6);
        debug_msg("CM: " + cm + ",   Effect: " + effects + ",   Stat: " + stat + " " + stat_value + ",   Fail Effect: " + effects_2
        + ",   Msg : " + msg + ",   Fail Msg: " + fail_msg);
      end
    end
  end
  debug_msg("END printing of critical table. \n");
end

And this one prints out the whole critical table. So you don't have to write one yourself.
Code:
procedure print_crit_table begin
  variable critter, bodypart, level, cm, effects, effects_2, stat, stat_value, msg, fail_msg;

  debug_msg("BEGIN printing of critical table: \n");
  for (critter = 0; critter < 19; critter++) begin
    debug_msg("\n" + "\n" + "CRITTER " + critter + "     ============================== \n");
    for (bodypart = 0; bodypart < 9; bodypart++ ) begin
      debug_msg("BODYPART " + bodypart + "     ----------");
      for (level = 0; level < 6; level++) begin
        cm = 0; effects = -1; effects_2 = -1; stat = -1; stat_value = 99; msg = -1; fail_msg = -1;
        cm = get_critical_table(critter, bodypart, level, 0);
        effects = get_critical_table(critter, bodypart, level, 1);
        stat = get_critical_table(critter, bodypart, level, 2);
        stat_value = get_critical_table(critter, bodypart, level, 3);
        switch (stat) begin
          case 0 : stat = "ST";
          case 1 : stat = "PE";
          case 2 : stat = "EN";
          case 3 : stat = "CH";
          case 4 : stat = "IN";
          case 5 : stat = "AG";
          case 6 : stat = "LU";
        end
        effects_2 = get_critical_table(critter, bodypart, level, 4);
        msg = get_critical_table(critter, bodypart, level, 5);
        fail_msg = get_critical_table(critter, bodypart, level, 6);
        debug_msg("CM: " + cm + ",   Effect: " + effects + ",   Stat: " + stat + " " + stat_value + ",   Fail Effect: " + effects_2
        + ",   Msg : " + msg + ",   Fail Msg: " + fail_msg);
      end
    end
  end
  debug_msg("\n \n END printing of critical table. \n");
end
 
Last edited:
My difference finder script found 0 discrepancies with the build. I also checked by eye and it all checked out. Good job.
OK. Then the only problem is if uncalled and torso tables should be the same by default. Personally I agree they should be, given that FO2 manual did say "a normal attack always goes for the torso." (p.131)
 
I thought about it some.

Having just one table does make things easier for making future changes to table. You won't have to change 2 tables each time.

However at the moment there is no gain in making an aimed shot to torso. If you do so you have simply wasted an AP. However if a modder were to add a crit bonus and to hit penalty (ex: 30% like arms and legs) to torso_called, then there would be a usefulness to making aimed shot to torso. And then I think you would need the different tables.

Actually, on second thought, even then I suppose you could just write a code in sfall to still use the same table for both called and uncalled.

I'm undecided on that.

I'm leaning towards leaving it and cutting yourself less work.
 
It was the change in 4.2 made the unused Uncalled table "available" for normal attacks, before the engine took the data from torso tables.
My test fixes are just a bunch more SetEntry() added to the code.
 
ohhhhhhhhhh... I see!

Didn't know that.

Well, I think you are wise enough for us to leave our fate in your hands. yeah? :smile:

You call it.

If there is a problem, then ....we'll roast you. ;-)
 
Doesn't called shot to torso give you a higher hit chance? Basically this is what you trade the extra AP for. Ofc once you hit the 95% cap, it becomes obsolete.
 
Doesn't called shot to torso give you a higher hit chance? Basically this is what you trade the extra AP for. Ofc once you hit the 95% cap, it becomes obsolete.
i had never knew this, but it does make kind of sense.
 
Doesn't called shot to torso give you a higher hit chance? Basically this is what you trade the extra AP for. Ofc once you hit the 95% cap, it becomes obsolete.
Are you sure about this?



Ok one thing I forgot was I didn't check for the player critical table because I don't know how to access it. setting critter numbers from 0 to 20+ did not return any values for player critter. Is the player critter number higher?
 
Ok one thing I forgot was I didn't check for the player critical table because I don't know how to access it. setting critter numbers from 0 to 20+ did not return any values for player critter. Is the player critter number higher?
Player's kill type number is changed to 38 if OverrideCriticalTable is enabled.
CriticalOverrides.ini said:
;Note that the player's critter number is now 38 rather than 19
 
Right. Ok.

I had changed mine to 2 and forgotten that I'd done that. I should run the test on player too to see if torso parts match.



***EDIT

I checked.

Critter 38, no differences.
 
Last edited:
Back
Top