Consegui compilar em TFS 0.4 na source 3996, porém tive que fazer as seguintes mudanças:
em item.h a parte do ExtraDefense aqui é:
inline int32_t Item::getExtraDefense() const
{
const int32_t* v = getIntegerAttribute("extradefense");
if(v)
return *v;
return items[id].extraDefense;
}
enquanto no tutorial é:
inline int32_t Item::getExtraDefense() const
{
bool ok;
int32_t v = getIntegerAttribute("extradefense", ok);
if(ok)
return v;
return items[id].extraDefense;
}
Na source que estou utilizando, o código não é igual, então eu utilizei a base do meu extradefense para criar os atributos critical, dodge, etc. Assim, depois de copiar a parte toda do extradefense da minha source, onde tinha getExtraDefense, "extradefense" e items[id].extraDefense; eu fui substituindo pelos códigos de crit, dodge, e assim por diante.
Resumindo: pra quem tem o código igual ao da source tfs 0.4 3996, basta copiar suas linhas de extradefense, colar abaixo de extradefense 6x e ir substituindo as partes referentes a crit, dodge, etc.
Só um pequeno detalhe: compilou, mas não funcionou. No ataque da arma ou magia (tanto em player quanto em monstro) não dá critico, não recebe hp ou mana
Segue a parte do items.xml da arma com estes atributos novos que estou usando:
<attribute key="criticalHitChance" value="50" />
<attribute key="lifeLeech" value="50" />
<attribute key="manaLeech" value="50" />
Se alguém conseguiu fazer funcionar, poderia nos ajudar por gentileza.?