yes.
ACMD_FUNC(resist) {
char output[CHAT_SIZE_MAX];
int i;
struct {
const char* format;
int value;
} output_table[] = {
{ " [ %d ] Neutral Resist", 0 },
{ " [ %d ] Water Resist", 0 },
{ " [ %d ] Earth Resist", 0 },
{ " [ %d ] Fire Resist", 0 },
{ " [ %d ] Wind Resist", 0 },
{ " [ %d ] Poison Resist", 0 },
{ " [ %d ] Holy Resist", 0 },
{ " [ %d ] Dark Resist", 0 },
{ " [ %d ] Ghost Resist", 0 },
{ " [ %d ] Undead Resist", 0 },
++ { " [ %d ] Long Range Resistance", 0 },
++ { " [ %d ] Magic Resistance", 0 },
++ { " [ %d ] Demi-Human Resist", 0 },
{ NULL, 0 }
};
memset(output, '\0', sizeof(output));
clif_displaymessage(sd->fd, "========= Resistance Values (in percentage) =========");
output_table[0].value = (sd->indexed_bonus.subele[ELE_NEUTRAL] + sd->indexed_bonus.subele_script[ELE_NEUTRAL] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[1].value = (sd->indexed_bonus.subele[ELE_WATER] + sd->indexed_bonus.subele_script[ELE_WATER] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[2].value = (sd->indexed_bonus.subele[ELE_EARTH] + sd->indexed_bonus.subele_script[ELE_EARTH] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[3].value = (sd->indexed_bonus.subele[ELE_FIRE] + sd->indexed_bonus.subele_script[ELE_FIRE] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[4].value = (sd->indexed_bonus.subele[ELE_WIND] + sd->indexed_bonus.subele_script[ELE_WIND]) + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL];
output_table[5].value = (sd->indexed_bonus.subele[ELE_POISON] + sd->indexed_bonus.subele_script[ELE_POISON] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[6].value = (sd->indexed_bonus.subele[ELE_HOLY] + sd->indexed_bonus.subele_script[ELE_HOLY] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[7].value = (sd->indexed_bonus.subele[ELE_DARK] + sd->indexed_bonus.subele_script[ELE_DARK] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[8].value = (sd->indexed_bonus.subele[ELE_GHOST] + sd->indexed_bonus.subele_script[ELE_GHOST] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
output_table[9].value = (sd->indexed_bonus.subele[ELE_UNDEAD] + sd->indexed_bonus.subele_script[ELE_UNDEAD] + sd->indexed_bonus.subele[ELE_ALL] + sd->indexed_bonus.subele_script[ELE_ALL]);
++ output_table[10].value = (sd->bonus.long_attack_def_rate);
++ output_table[11].value = (sd->special_state.no_magic_damage + sd->bonus.magic_def_rate);
++ output_table[12].value = (sd->subrace[RC_DEMIHUMAN]);
for (i = 0; output_table.format != NULL; i++) {
sprintf(output, output_table.format, output_table.value);
clif_displaymessage(fd, output);
}
return 0;
}