If your mod has multiple playable characters and you want them all to have Duke's full functionality, then each character needs its own set of tiles for fists and such. I don't want Duke's fist displaying to hit the nuke button if I am using Bombshell. But, as far as I know, I can't just swap out his fist tile for a different one when Bombshell is selected. If I could just swap in a different tile (e.g. by just setting a variable for the tile in EVENT_DISPLAYFIST) that would be amazing, and that feature would come in handy (no pun intended) for many things, like stomping enemies, swiping a keycard, and more. Alas, what I end up doing is writing new display code for the other character's sprites to emulate the Duke version.
Currently I contemplate doing that for hitting the nuke button. I found this in the source for Duke:
int const fistY = klabs(pPlayer->look_ang) / 9;
int const fistZoom = clamp(65536 - (sintable[(512 + (fistInc << 6)) & 2047] << 2), 40920, 90612);
int const fistYOffset = 194 + (sintable[((6 + fistInc) << 7) & 2047] >> 9);
int const fistPal = P_GetHudPal(pPlayer);
int wx[2] = { windowxy1.x, windowxy2.x };
rotatesprite((-fistInc + 222 + (fix16_to_int(g_player[screenpeek].inputBits->q16avel) >> 5)) << 16, (fistY + fistYOffset) << 16,
fistZoom, 0, FIST, fistShade, fistPal, 2, wx[0], windowxy1.y, wx[1], windowxy2.y);
I'm not sure how to translate that into CON code. I could eventually do it, with some learning and trial and error, but maybe there is someone around here who could do it much more easily than I. If so, I would really appreciate it!