package org.project.entity.players;
import org.project.entity.Entity;
import org.project.item.armors.Armor;
import org.project.item.weapons.Weapon;

// TODO: UPDATE IMPLEMENTATION
//public class Knight {
    // TODO: DESIGN KNIGHT'S WEAPON AND ARMOR AND IMPLEMENT THE CONSTRUCTOR
//}
public class Knight extends Player {

    public Knight(String name, int hp, int mp,
                  Weapon weapon, Armor armor) {

        super(name, hp, mp, weapon, armor);
    }

    public void lightAttack(Entity target) {

        int damage = weapon.getDamage();

        target.takeDamage(damage);

        System.out.println(name +
                " used Light Attack!");
    }

    public void heavyAttack(Entity target) {

        int damage = weapon.getDamage() * 2;

        target.takeDamage(damage);

        mp -= 10;

        System.out.println(name +
                " used Heavy Attack!");
    }

    @Override
    public void defend() {

        System.out.println(name +
                " raised shield!");
    }

    public void specialAbility(Entity target) {

        int damage = weapon.getDamage() * 3;

        target.takeDamage(damage);

        mp -= 20;

        System.out.println(name +
                " used Shield Bash!");
    }
}
