diff options
Diffstat (limited to 'src/Weapon.java')
-rw-r--r-- | src/Weapon.java | 34 |
1 files changed, 12 insertions, 22 deletions
diff --git a/src/Weapon.java b/src/Weapon.java index de6eb26..f20e0ca 100644 --- a/src/Weapon.java +++ b/src/Weapon.java @@ -1,54 +1,44 @@ // TODO: there are object such as "puch" that need infinite durability public class Weapon { - private boolean broken; // TODO: if possible make final private int damage; private int durability; private int range; private String name; + // TODO: add bonus / power-ups structure + // public class PowerUps {} public Weapon(String name, int damage, int range, int durability) { this.name = name; this.damage = damage; this.range = range; this.durability = durability; - - this.broken = false; } - public String getName() { - return this.name; - } + /* accessors */ + public String getName() { return this.name; } + public int getDamage() { return this.damage; } + public int getRange() { return this.range; } + public int getDurability() { return this.durability; } - public int getDamage() { - return this.damage; + + public boolean isBroken() { + return this.durability <= 0; } public boolean damage(Actor attacker, Actor attacked, Map map) { - if (this.broken) { + if (isBroken()) { return false; } - // TODO: bugfix durability-- iff damage has been done - this.durability--; - if (this.durability <= 0) { - this.broken = true; - } - if (map.getTile(attacked.getX(), attacked.getY()).isSelected()) { attacked.damage(this.damage); + this.durability--; return true; } else { return false; } } - public int getRange() { - return this.range; - } - - public int getDurability() { - return this.durability; - } } |