CONSEGUI PESSOAL!
Hoje resolvi pensar numa forma da mana/life regenerar normalmente em protection zone. Então pensei que a solução estava na função manaGain/healthGain que é usado no items.xml.
Dei uma fuçada nas sources e encontrei a função, localizada em condition.cpp
Procure por esta função:
bool ConditionRegeneration::executeCondition(Creature* creature, int32_t interval)
Em seguida troque isso:
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);
}
Por isso:
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);
}
Em seguida é só compilar e já era, agora a mana e life irá regenerar em protection zone xd