diff --git a/src/main/java/be/bendem/bot/dices/AttackDice.java b/src/main/java/be/bendem/bot/dices/AttackDice.java new file mode 100644 index 0000000..3a6a88f --- /dev/null +++ b/src/main/java/be/bendem/bot/dices/AttackDice.java @@ -0,0 +1,26 @@ +package be.bendem.bot.dices; + +import be.bendem.bot.entities.Entity; + +/** + * @author bendem + */ +public class AttackDice extends Dice { + + public AttackDice() { + this(1, 6); + } + + public AttackDice(int min, int max) { + super(min, max, true); + } + + /** + * {@inheritDoc} + */ + @Override + public void applyTo(Entity target, int result) { + target.damage(result); + } + +} diff --git a/src/main/java/be/bendem/bot/dices/HealDice.java b/src/main/java/be/bendem/bot/dices/HealDice.java new file mode 100644 index 0000000..c0bebb5 --- /dev/null +++ b/src/main/java/be/bendem/bot/dices/HealDice.java @@ -0,0 +1,26 @@ +package be.bendem.bot.dices; + +import be.bendem.bot.entities.Entity; + +/** + * @author bendem + */ +public class HealDice extends Dice { + + public HealDice() { + this(1, 6); + } + + public HealDice(int min, int max) { + super(min, max, false); + } + + /** + * {@inheritDoc} + */ + @Override + public void applyTo(Entity target, int result) { + target.heal(result); + } + +} diff --git a/src/main/java/be/bendem/bot/dices/PoisonDice.java b/src/main/java/be/bendem/bot/dices/PoisonDice.java new file mode 100644 index 0000000..0761da4 --- /dev/null +++ b/src/main/java/be/bendem/bot/dices/PoisonDice.java @@ -0,0 +1,29 @@ +package be.bendem.bot.dices; + +import be.bendem.bot.entities.Entity; + +/** + * @author bendem + */ +public class PoisonDice extends Dice { + + private final int damage; + + public PoisonDice(int damage) { + this(damage, 1, 6); + } + + protected PoisonDice(int damage, int min, int max) { + super(min, max, true); + this.damage = damage; + } + + /** + * {@inheritDoc} + */ + @Override + public void applyTo(Entity target, int result) { + target.poison(damage, result); + } + +} diff --git a/src/main/java/be/bendem/bot/dices/ShieldDice.java b/src/main/java/be/bendem/bot/dices/ShieldDice.java new file mode 100644 index 0000000..165974d --- /dev/null +++ b/src/main/java/be/bendem/bot/dices/ShieldDice.java @@ -0,0 +1,21 @@ +package be.bendem.bot.dices; + +import be.bendem.bot.entities.Entity; + +/** + * @author bendem + */ +public class ShieldDice extends Dice { + + public ShieldDice(int min, int max) { + super(min, max, true); + } + + /** + * {@inheritDoc} + */ + @Override + public void applyTo(Entity target, int result) { + target.shield(result); + } +} diff --git a/src/main/java/be/bendem/bot/entities/Entity.java b/src/main/java/be/bendem/bot/entities/Entity.java index 27b9f23..fae7421 100644 --- a/src/main/java/be/bendem/bot/entities/Entity.java +++ b/src/main/java/be/bendem/bot/entities/Entity.java @@ -49,6 +49,9 @@ public void heal(int heal) { currentHealth += heal; } + public abstract void shield(int shield); + public abstract void poison(int damage, int turns); + public boolean isDead() { return currentHealth == 0; } diff --git a/src/main/java/be/bendem/bot/entities/Monster.java b/src/main/java/be/bendem/bot/entities/Monster.java index 1a77766..161e5fb 100644 --- a/src/main/java/be/bendem/bot/entities/Monster.java +++ b/src/main/java/be/bendem/bot/entities/Monster.java @@ -37,4 +37,14 @@ public int getMaxHealth() { return maxHealth; } + @Override + public void shield(int shield) { + // TODO + } + + @Override + public void poison(int damage, int turns) { + // TODO + } + } diff --git a/src/main/java/be/bendem/bot/entities/Player.java b/src/main/java/be/bendem/bot/entities/Player.java index 00b0f69..d6a9dfb 100644 --- a/src/main/java/be/bendem/bot/entities/Player.java +++ b/src/main/java/be/bendem/bot/entities/Player.java @@ -36,6 +36,16 @@ public int getMaxHealth() { return BASE_HEALTH + level * HEALTH_PER_LEVEL; } + @Override + public void shield(int shield) { + // TODO + } + + @Override + public void poison(int damage, int turns) { + // TODO + } + public int getLevel() { return level; }