develop #1
@@ -1,8 +1,26 @@
|
||||
package org.project.item.consumables;
|
||||
|
||||
// TODO: UPDATE IMPLEMENTATION
|
||||
public abstract class Consumable {
|
||||
/*
|
||||
TODO: ADD OTHER REQUIRED AND BONUS METHODS
|
||||
*/
|
||||
import org.project.item.Item;
|
||||
|
||||
public abstract class Consumable implements Item {
|
||||
|
||||
protected int id;
|
||||
protected String name;
|
||||
protected int amount;
|
||||
|
||||
public Consumable(String name, int id, int amount) {
|
||||
this.name = name;
|
||||
this.id = id;
|
||||
this.amount = amount;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int getId() {
|
||||
return id;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,16 +1,29 @@
|
||||
package org.project.item.consumables;
|
||||
|
||||
import org.project.entity.Entity;
|
||||
import org.project.entity.players.Player;
|
||||
|
||||
// TODO: UPDATE IMPLEMENTATION
|
||||
public class Flask {
|
||||
/*
|
||||
THIS IS AN EXAMPLE OF A CONSUMABLE DESIGN.
|
||||
*/
|
||||
public class Flask extends Consumable{
|
||||
|
||||
private static final int HEAL_AMOUNT = 20;
|
||||
private static final String YELLOW = "\033[33m";
|
||||
public static final String RESET = "\u001B[0m";
|
||||
|
||||
public Flask(String name, int id)
|
||||
{
|
||||
super(name, id, HEAL_AMOUNT);
|
||||
}
|
||||
|
||||
// TODO: UPDATE USE METHOD
|
||||
@Override
|
||||
public void use(Entity target) {
|
||||
target.heal(target.getMaxHP() / 10);
|
||||
if (target != null && target.isAlive()) {
|
||||
target.heal(HEAL_AMOUNT);
|
||||
Player player = (Player) target;
|
||||
System.out.println("🧪 " + player.getName() + " used Flask! Healed " + HEAL_AMOUNT + " HP.");
|
||||
}
|
||||
else
|
||||
{
|
||||
System.out.println(YELLOW+"❌ Cannot use Flask on a dead or null target."+RESET);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user