O título é auto explicativo, precisei recentemente e só achei no final de um tópico escondido, resolvi respostar.
Algo bem comum em servidores derivados, encher mana e hp em pz..
Procure por esta função:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
Em seguida, selecione ela toda:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
{
internalHealthTicks += interval;
internalManaTicks += interval;
if(creature->getZone() != ZONE_PROTECTION)
{
if(internalHealthTicks >= healthTicks)
{
internalHealthTicks = 0;
creature->changeHealth(healthGain);
}
if(internalManaTicks >= manaTicks)
{
internalManaTicks = 0;
creature->changeMana(manaGain);
}
}
return ConditionGeneric::executeCondition(creature, interval);
}
E cola essa no lugar:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
{
internalHealthTicks += interval;
internalManaTicks += interval;
if(internalHealthTicks >= healthTicks)
{
internalHealthTicks = 0;
creature->changeHealth(healthGain);
}
if(internalManaTicks >= manaTicks)
{
internalManaTicks = 0;
creature->changeMana(manaGain);
}
return ConditionGeneric::executeCondition(creature, interval);
}
Agora é só compilar e pronto, Testada em tfs 0.4 funcionando..
Totais créditos para @RenanPhellip
As alterações que foram feitas estão aqui.
essa parte foi retirada,
e no lugar inserida essa,
Não entendo muito de source, mas uso um site que facilita bastante, ele verifica as mudanças de um texto para o outro.
Se o código que busco não for compatível com a que utilizo eu entro no site e vejo as diferenças para ir tentando soluções.
https://www.diffchecker.com/N47NJgaf exemplo da função que foi modificada no tutorial.