Para fazer isso tu pode fazer uma "variável" direto na src e no .xml do pokémon, funcionaria da mesma maneira que ele fez o para puxar as informações do pokémon (move set), ficando algo desta maneira:
<move name="harden" interval="10000" level="10"/>
---
Em monsters.cpp procure por:
if ((attr = node.attribute("name"))) {//pota
sb.name = attr.as_string();
}
De um enter e adicione abaixo:
if ((attr = node.attribute("level"))) {//pota
sb.level = pugi::cast<uint16_t>(attr.value());
}
Agora em monsters.h procure por:
name(other.name), //pota
E adicione abaixo:
level(other.level), //pota
Depois procure por:
std::string name = "none"; //pota
E adicione:
uint16_t level = 0;
Agora vá em luascripts.cpp e procure por:
setField(L, "name", spellBlock.name); //pota
E adicione abaixo:
setField(L, "level", spellBlock.level); //pota
Feito isso só compilar novamente e fazer as alterações/ checagens no script de moves(m1, m2, etc..)
Fiquei como preguiça de procurar como é feito a checagem do level do pokémon, então fiz em cima do level do player mesmo:
---
No arquivo summonspells.lua procure por:
if move[i] then
E coloque embaixo:
if move[1].level > player:getLevel() then
player:sendCancelMessage("You must be level "..move[1].level.." or higher to use this move.")
player:getPosition():sendMagicEffect(CONST_ME_POFF)
break
end