Table of Contents

Armor Buff - Code References

Java Classes

JSON Configuration

This entity is implemented in Java, no JSON configuration exists

String Resources

<string name="Earthroot_ArmorBuff">Armor</string>

Lua Scripts

This entity is implemented in Java, no Lua script exists

Buff Properties (from Earthroot.Armor)

Buff Implementation

public static class Armor extends Buff {
    private static final float STEP = 1f;
 
    @Packable
    public int pos;
    @Packable
    public int level;
 
    @Override
    public boolean attachTo(@NotNull Char target) {
        pos = target.getPos();
        return super.attachTo(target);
    }
 
    @Override
    public boolean act() {
        if (target.getPos() != pos) {
            detach();
        }
        spend(STEP);
        return true;
    }
 
    public int absorb(int damage) {
        if (damage >= level) {
            detach();
            return damage - level;
        } else {
            level -= damage;
            return 0;
        }
    }
}

Buff Behavior