implement Weapon.java

This commit is contained in:
2026-05-17 06:37:15 -07:00
parent fc67dbb4f9
commit e2f6bf8e27
@@ -1,35 +1,48 @@
package org.project.item.weapons; package org.project.item.weapons;
import org.project.entity.Entity; import org.project.weaponEffects.StatusEffect;
import org.project.item.Item;
// TODO: UPDATE IMPLEMENTATION // TODO: UPDATE IMPLEMENTATION
public abstract class Weapon { public abstract class Weapon implements Item {
private int damage;
private int manaCost;
/* private String name;
TODO: ADD OTHER REQUIRED AND BONUS ATTRIBUTES private StatusEffect effect;
*/ private int lightAttackDamage;
private int heavyAttackDamage;
private int equipManaCost;
public Weapon(int damage, int manaCost) {
this.damage = damage; public Weapon(String name,int heavyAttackDamage,int lightAttackDamage, StatusEffect statusEffect, int equipManaCost) {
this.manaCost = manaCost; this.name = name;
this.lightAttackDamage = lightAttackDamage;
this.heavyAttackDamage = heavyAttackDamage;
this.effect = statusEffect;
this.equipManaCost = equipManaCost;
} }
public int getHeavyAttackDamage() {
return heavyAttackDamage;
}
public int getLightAttackDamage() {
return lightAttackDamage;
}
public StatusEffect getEffect() {
return effect;
}
public void setEffect(StatusEffect effect) {
this.effect = effect;
}
@Override @Override
public void use(Entity target) { public String getName() {
target.takeDamage(damage); return name;
} }
public int getDamage() {
return damage;
}
public int getManaCost() {
return manaCost;
}
/*
TODO: ADD OTHER REQUIRED AND BONUS METHODS
*/
} }