diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java index a082591..b891d92 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Enemy.java @@ -17,7 +17,9 @@ public abstract class Enemy implements Entity { public Enemy(int hp, int mp, Weapon weapon) { this.hp = hp; + this.maxHP = hp; this.mp = mp; + this.maxMP = mp; this.weapon = weapon; } //implement this in Main @@ -31,18 +33,21 @@ public abstract class Enemy implements Entity { @Override public void attack(Entity target, double multiplier) { - if (checkTargetAbility((Player) target)){ - System.out.println("target is using special ability"); - return; - } - double damage = multiplier * weapon.getDamage(); - if (target.isDefending()) { - target.takeDamage( (int) (damage * (1 - target.getDefendRate()))); - target.setDefending(false); - } - else { - target.takeDamage((int) damage); + if (getMP() >= weapon.getManaCost()) { + if (checkTargetAbility((Player) target)) { + System.out.println("target is using special ability"); + return; + } + double damage = multiplier * weapon.getDamage(); + if (target.isDefending()) { + target.takeDamage((int) (damage * (1 - target.getDefendRate()))); + target.setDefending(false); + } else { + target.takeDamage((int) damage); + } + setMP(getMP() - weapon.getManaCost()); } + else System.out.println("not enough mana"); } @Override diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java index 6c17f7b..77c6ccb 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Goblin.java @@ -11,13 +11,7 @@ public class Goblin extends Enemy{ @Override public void attack(Entity target, double multiplier) { - if (getMP() > 5) { - super.attack(target,2); - setMP(getMP() - 5); - } - else { - System.out.println("Not enough MP"); - } + super.attack(target,2); } @Override diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java index 3ed8c8e..01b74ca 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Skeleton.java @@ -13,13 +13,7 @@ public class Skeleton extends Enemy{ @Override public void attack(Entity target, double multiplier) { - if (getMP() > 5) { - super.attack(target,1); - setMP(getMP() - 5); - } - else { - System.out.println("Not enough MP"); - } + super.attack(target,1); } @Override diff --git a/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java index 3d93030..1960690 100644 --- a/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java +++ b/Java-Knight/src/main/java/org/project/entity/enemies/Vampire.java @@ -12,14 +12,7 @@ public class Vampire extends Enemy{ @Override public void attack(Entity target, double multiplier) { - if (getMP() > 5) { - super.attack(target,1.5); - setMP(getMP() - 5); - } - else { - System.out.println("Not enough MP"); - } - + super.attack(target,1.5); double damage = weapon.getDamage() * multiplier; if (target.isDefending()) { heal( (int) (.3 * (damage * (1 - target.getDefendRate())))); diff --git a/Java-Knight/src/main/java/org/project/entity/players/Assassin.java b/Java-Knight/src/main/java/org/project/entity/players/Assassin.java index db85c4c..c678b51 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Assassin.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Assassin.java @@ -24,9 +24,9 @@ public class Assassin extends Player { setUsingSpecialAbility(false); } - else if (getMP() >= 8) { + else if (getMP() >= weapon.getManaCost()) { attack(target, 2.5); - setMP(getMP() - 8); + setMP(getMP() - weapon.getManaCost()); } else { System.out.println("Not enough MP"); } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Knight.java b/Java-Knight/src/main/java/org/project/entity/players/Knight.java index 65dfe71..0e9f68a 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Knight.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Knight.java @@ -19,9 +19,9 @@ public class Knight extends Player { @Override public void heavyAttack(Entity target) { - if (getMP() >= 8) { + if (getMP() >= weapon.getManaCost()) { attack(target, 1.8); - setMP(getMP() - 8); + setMP(getMP() - weapon.getManaCost()); } else { System.out.println("Not enough MP"); diff --git a/Java-Knight/src/main/java/org/project/entity/players/Player.java b/Java-Knight/src/main/java/org/project/entity/players/Player.java index fe45929..7dfd7d9 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Player.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Player.java @@ -20,8 +20,9 @@ public abstract class Player implements Entity, combatOptions { public Player(String name, int hp, int mp, Weapon weapon, Armor armor) { this.name = name; this.hp = hp; + this.maxHP = hp; this.mp = mp; - + this.maxMP = mp; this.weapon = weapon; this.armor = armor; } diff --git a/Java-Knight/src/main/java/org/project/entity/players/Wizard.java b/Java-Knight/src/main/java/org/project/entity/players/Wizard.java index e93b514..2ae2fc1 100644 --- a/Java-Knight/src/main/java/org/project/entity/players/Wizard.java +++ b/Java-Knight/src/main/java/org/project/entity/players/Wizard.java @@ -18,9 +18,9 @@ public class Wizard extends Player{ @Override public void heavyAttack(Entity target) { - if (getMP() >= 5) { + if (getMP() >= weapon.getManaCost()) { attack(target, 1.6); - setMP(getMP() - 5); + setMP(getMP() - weapon.getManaCost()); } else { System.out.println("Not enough MP"); diff --git a/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java b/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java index ae292d6..f98b149 100644 --- a/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java +++ b/Java-Knight/src/main/java/org/project/item/weapons/Weapon.java @@ -8,10 +8,6 @@ public abstract class Weapon implements Item { private int damage; private int manaCost; - /* - TODO: ADD OTHER REQUIRED AND BONUS ATTRIBUTES - */ - public Weapon(int damage, int manaCost) { this.damage = damage; this.manaCost = manaCost; diff --git a/Java-Knight/target/classes/org/project/Main.class b/Java-Knight/target/classes/org/project/Main.class new file mode 100644 index 0000000..f400900 Binary files /dev/null and b/Java-Knight/target/classes/org/project/Main.class differ diff --git a/Java-Knight/target/classes/org/project/entity/Entity.class b/Java-Knight/target/classes/org/project/entity/Entity.class new file mode 100644 index 0000000..6b037e0 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/Entity.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class new file mode 100644 index 0000000..217ff88 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/enemies/Enemy.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class b/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class new file mode 100644 index 0000000..68aa83f Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/enemies/Goblin.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class b/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class new file mode 100644 index 0000000..d9c773d Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/enemies/Skeleton.class differ diff --git a/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class b/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class new file mode 100644 index 0000000..1014067 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/enemies/Vampire.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Assassin.class b/Java-Knight/target/classes/org/project/entity/players/Assassin.class new file mode 100644 index 0000000..cd421c7 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/players/Assassin.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Knight.class b/Java-Knight/target/classes/org/project/entity/players/Knight.class new file mode 100644 index 0000000..db16755 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/players/Knight.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Player.class b/Java-Knight/target/classes/org/project/entity/players/Player.class new file mode 100644 index 0000000..65a669e Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/players/Player.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/Wizard.class b/Java-Knight/target/classes/org/project/entity/players/Wizard.class new file mode 100644 index 0000000..b314421 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/players/Wizard.class differ diff --git a/Java-Knight/target/classes/org/project/entity/players/combatOptions.class b/Java-Knight/target/classes/org/project/entity/players/combatOptions.class new file mode 100644 index 0000000..732a1c1 Binary files /dev/null and b/Java-Knight/target/classes/org/project/entity/players/combatOptions.class differ diff --git a/Java-Knight/target/classes/org/project/item/Item.class b/Java-Knight/target/classes/org/project/item/Item.class new file mode 100644 index 0000000..6158425 Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/Item.class differ diff --git a/Java-Knight/target/classes/org/project/item/armors/Armor.class b/Java-Knight/target/classes/org/project/item/armors/Armor.class new file mode 100644 index 0000000..767c4c1 Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/armors/Armor.class differ diff --git a/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class b/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class new file mode 100644 index 0000000..39374c7 Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/armors/KnightArmor.class differ diff --git a/Java-Knight/target/classes/org/project/item/consumables/Consumable.class b/Java-Knight/target/classes/org/project/item/consumables/Consumable.class new file mode 100644 index 0000000..5b818fb Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/consumables/Consumable.class differ diff --git a/Java-Knight/target/classes/org/project/item/consumables/Flask.class b/Java-Knight/target/classes/org/project/item/consumables/Flask.class new file mode 100644 index 0000000..48e724e Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/consumables/Flask.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/Sword.class b/Java-Knight/target/classes/org/project/item/weapons/Sword.class new file mode 100644 index 0000000..0a9f68e Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/weapons/Sword.class differ diff --git a/Java-Knight/target/classes/org/project/item/weapons/Weapon.class b/Java-Knight/target/classes/org/project/item/weapons/Weapon.class new file mode 100644 index 0000000..d205251 Binary files /dev/null and b/Java-Knight/target/classes/org/project/item/weapons/Weapon.class differ diff --git a/Java-Knight/target/classes/org/project/location/Location.class b/Java-Knight/target/classes/org/project/location/Location.class new file mode 100644 index 0000000..eea2e0f Binary files /dev/null and b/Java-Knight/target/classes/org/project/location/Location.class differ