package org.project.item.weapons;
import org.project.entity.Entity;
import java.util.ArrayList;

public class Staff extends Weapon{
    private int spellCharge;

    public Staff() {
        // Staff is designed around magic damage and higher mana dependency.
        super(10, 8);
        this.spellCharge = 0;
    }

    // This ability is intended to be stronger than a normal attack and to consume buildup.
    public void magicBurst(ArrayList<Entity> targets) {
        spellCharge++;

        if (spellCharge >= 2) {
            for (Entity target : targets) {
                target.takeDamage(getDamage() + 6);
            }
            spellCharge = 0;
        }
    }

    @Override
    public String getName() {
        return "Staff";
    }

    @Override
    public String getDescription() {
        return "A rune-carved staff that channels arcane energy for powerful spells.";
    }

    @Override
    public int getValue() {
        return 120;
    }
}
