Table of Contents

Mana Regeneration Buff - Code References

Java Classes

JSON Configuration

This entity is implemented in Java, no specific JSON configuration exists

String Resources

<!-- English (values/strings_all.xml) -->
<string name="ManaRegenerationBuff_Name">Mana Regeneration</string>
<string name="ManaRegenerationBuff_Info">The function for mana regeneration is in a buff form to make things easier.</string>
<string name="Mana_Title">Mana</string>
<string name="Mana_Cost">Mana Cost: </string>
<string name="Spells_NotEnoughSP">You do not have enough mana to cast a "%1$s" spell.</string>
<string name="ClassArmor_LowMana">Insufficient mana!</string>
<string name="HeroClass_NecromancerPerks_1">Necromancers use mana to cast Death spells.</string>
<string name="HeroClass_MagPerks_4">Mages use mana to cast Elemental spells.</string>
 
<!-- Russian (values-ru/strings_all.xml) -->
<string name="ManaRegenerationBuff_Name">Регенерация маны</string>
<string name="ManaRegenerationBuff_Info">Функция регенерации маны оформлена в виде баффа для удобства.</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists

Implementation Details

Code Fragment

public class ManaRegeneration extends Buff {
    private static final float REGENERATION_DELAY = 20;
 
    @Override
    public boolean act() {
        if (target.isAlive()) {
            if (!target.level().isSafe()) {
                target.accumulateSkillPoints(1);
            }
 
            final int[] bonus = {0};
 
            if(Dungeon.isFacilitated(Facilitations.FAST_MANA_REGENERATION)) {
                bonus[0] += 10;
            }
 
            target.forEachBuff(b-> bonus[0] +=b.manaRegenerationBonus(target));
 
            spend((float) (REGENERATION_DELAY / Math.pow(1.2, bonus[0])));
        } else {
            deactivate();
        }
        return true;
    }
}