mr:armor_buff
Table of Contents
Armor Buff - Code References
Java Classes
- Earthroot.java (contains Armor as inner class)
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)
extends Buff- Inherits from base Buff classlevel- Stores the damage absorption amount (set to character's HT when applied)pos- Stores the position where the buff was appliedabsorb(damage)- Method that reduces incoming damage and detaches when depleted
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
- Applied when a character steps on an Earthroot plant
- Level is set to the character's HT (hit points) when applied
- Absorbs incoming damage up to the level amount
- Detaches if the character moves from the position where it was applied
- Detaches after absorbing damage equal to or greater than its level
Related mr Entities
mr/armor_buff.txt · Last modified: by 127.0.0.1
