public class Elf extends Held { private int energie; private boolean speedBoostAktiv; public Elf(String name, int hp, int damage) { super(hp, hp, damage, name, "Elf"); energie = 100; speedBoostAktiv = false; setWaffe(new Waffe("sichel", "knochen")); } @Override public void angreifen(Monster ziel) { int schaden = getDamage(); // Set schaden von waffe if not null if (getWaffe() != null) { schaden += (int) getWaffe().getAngriffspunkte(); } // Set weapon damage * 2 if speedBoostAktive = true if (speedBoostAktiv) { schaden = schaden * 2; speedBoostAktiv = false; System.out.println(getName() + " nutzt SpeedBoost und verdoppelt den Schaden!"); } System.out.println( getName() + " greift " + ziel.getName() + " an und verursacht " + schaden + " Schaden."); ziel.setHp(ziel.getHp() - schaden); } public void speedBoostAktivieren() { if (energie >= 30 && !speedBoostAktiv) { speedBoostAktiv = true; energie -= 30; System.out.println(getName() + " aktiviert den SpeedBoost!"); } else { System.out.println(getName() + " hat nicht genug Energie oder Boost bereits aktiv."); } } public void speedBoostDeaktivieren() { speedBoostAktiv = false; System.out.println(getName() + "s SpeedBoost endet."); } public int getEnergie() { return energie; } public void energieRegenerieren(int betrag) { energie = Math.min(100, energie + betrag); } }