Tive olhando aqui e parece que é diferente certo?
Em tfs 1.2 é assim?
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max()));
msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max()));
se for tente assim...
Em protocolgame.cpp troque:
msg.add<uint16_t>(std::min<int32_t>(player->getHealth(), std::numeric_limits<uint16_t>::max()));
msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXHEALTH), std::numeric_limits<uint16_t>::max()));
Por:
if (player->getPlayerInfo(PLAYERINFO_MAXHEALTH) > 0) {
msg.add<uint16_t>(player->getHealth() * 100 / player->getPlayerInfo(PLAYERINFO_MAXHEALTH));
msg.add<uint16_t>(100);
} else {
msg.add<uint16_t>(0);
msg.add<uint16_t>(0);
}
Troque:
msg.add<uint16_t>(std::min<int32_t>(player->getMana(), std::numeric_limits<uint16_t>::max()));
msg.add<uint16_t>(std::min<int32_t>(player->getPlayerInfo(PLAYERINFO_MAXMANA), std::numeric_limits<uint16_t>::max()));
Por:
if (player->getPlayerInfo(PLAYERINFO_MAXMANA) > 0) {
msg.add<uint16_t>(player->getMana() * 100 / player->getPlayerInfo(PLAYERINFO_MAXMANA));
msg.add<uint16_t>(100);
} else {
msg.add<uint16_t>(0);
msg.add<uint16_t>(0);
}
E recompile tudo, tomara que de certo 
Estou torcendo por você amigo. xD
╔══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ══════════════════════════╗
ALGUNS DOS MEUS TRABALHOS:

Te Ajudei? Rep + e ficamos Quits

Precisando de ajuda?
Discord: Yan Liima #3702
Programador Júnior de LUA, PHP e JavaScript
Juntos somos lendas, separados somos Mitos!
╚══════════════════════════ҳ̸Ҳ̸ҳஜ۩۞۩ஜҳ̸Ҳ̸ҳ═════════════════════════════╝