From e2bcaecea59bdf3a4092efdc4b9624b3f83f6fec Mon Sep 17 00:00:00 2001 From: mafaldo Date: Sun, 18 Nov 2018 22:29:05 +0100 Subject: initial commit --- src/Weapon.java | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 src/Weapon.java (limited to 'src/Weapon.java') diff --git a/src/Weapon.java b/src/Weapon.java new file mode 100644 index 0000000..36c2ab7 --- /dev/null +++ b/src/Weapon.java @@ -0,0 +1,50 @@ +public class Weapon { + private boolean broken; + private int damage; + private int durability; + private int range; + private String name; + + 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; + } + + public int getDamage() { + return this.damage; + } + + public boolean damage(Actor attacker, Actor attacked, Map map) { + if (this.broken) { + return false; + } + + this.durability--; + if (this.durability <= 0) { + this.broken = true; + } + + if (map.getTile(attacked.getX(), attacked.getY()).isSelected()) { + attacked.damage(this.damage); + return true; + } else { + return false; + } + } + + public int getRange() { + return this.range; + } + + public int getDurability() { + return this.durability; + } +} -- cgit v1.2.1