Use scalar chain-index outputs instead of skill enums in both monster-table helpers
The third output of Mac 00146c43 and Windows 006510c0 is eD2Skills*, but both complete native bodies load MonStats byte +0x4b (nChainId), zero-extend it and write a DWORD through that pointer; invalid IDs write zero. They also return the same scalar. Paired callers 0017d4f0/0063ee10 check this output with signed bounds 0..3 and use it as an 8-byte-stride table index. Other callers add it to missile/class indices or use it to select a monster chain; no skill-record lookup occurs in the producer. Replace the unrelated skill-enum pointee with int32_t, matching the existing scalar return and signed caller checks. Preserve both actual ABIs, all widths and chosen names; eSkill should be renamed pChainId through review. The Mac consumer local is stored undefined4 and currently resolves as eD2Skills from this parameter, so fix the callee contract first.
Changes 2, applied together
Retype variable
mac 0x00146c43 Stack[0xc]typeeD2Skills *→int32_t *Retype variable
win 0x006510c0 Stack[0xc]typeeD2Skills *→int32_t *