55 lines
1.5 KiB
Java
55 lines
1.5 KiB
Java
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);
|
|
}
|
|
}
|