From 048a3699272e774f993be3b01c4822e4dd04efef Mon Sep 17 00:00:00 2001 From: HellaBased Date: Wed, 29 Oct 2025 09:56:46 +0100 Subject: [PATCH 1/3] please don't break --- .idea/misc.xml | 2 +- src/main/java/Item/AttributeModifier.java | 37 ++++++++++++ src/main/java/Item/BodyArmour.java | 25 ++++++++ src/main/java/Item/Equipment.java | 39 +++++++++++++ src/main/java/Item/EquipmentType.java | 11 ++++ src/test/java/EquipmentTest.java | 70 +++++++++++++++++++++++ 6 files changed, 183 insertions(+), 1 deletion(-) create mode 100644 src/main/java/Item/AttributeModifier.java create mode 100644 src/main/java/Item/BodyArmour.java create mode 100644 src/main/java/Item/Equipment.java create mode 100644 src/main/java/Item/EquipmentType.java create mode 100644 src/test/java/EquipmentTest.java diff --git a/.idea/misc.xml b/.idea/misc.xml index 001e756..eda147d 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/src/main/java/Item/AttributeModifier.java b/src/main/java/Item/AttributeModifier.java new file mode 100644 index 0000000..6b9f308 --- /dev/null +++ b/src/main/java/Item/AttributeModifier.java @@ -0,0 +1,37 @@ +package Item; + +public class AttributeModifier { + private int maxHpMod; + private int maxMpMod; + private int strMod; + private int magicStrMod; + private int defMod; + private int magicDefMod; + + public AttributeModifier(int maxHpMod, int maxMpMod, int strMod, int magicStrMod, int defMod, int magicDefMod) { + this.maxHpMod = maxHpMod; + this.maxMpMod = maxMpMod; + this.strMod = strMod; + this.magicStrMod = magicStrMod; + this.defMod = defMod; + this.magicDefMod = magicDefMod; + } + public int getMaxHpMod() { + return maxHpMod; + } + public int getMaxMpMod() { + return maxMpMod; + } + public int getStrMod() { + return strMod; + } + public int getMagicStrMod() { + return magicStrMod; + } + public int getDefMod() { + return defMod; + } + public int getMagicDefMod() { + return magicDefMod; + } +} \ No newline at end of file diff --git a/src/main/java/Item/BodyArmour.java b/src/main/java/Item/BodyArmour.java new file mode 100644 index 0000000..3a32a1f --- /dev/null +++ b/src/main/java/Item/BodyArmour.java @@ -0,0 +1,25 @@ +package Item; + +public class BodyArmour extends EquipmentType{ + + private String name; + private AttributeModifier modifiers; + + public BodyArmour(String name, AttributeModifier modifiers) { + this.name = name; + this.modifiers = new AttributeModifier(modifiers.getMaxHpMod(), modifiers.getMaxMpMod(), modifiers.getStrMod(), modifiers.getMagicStrMod(), modifiers.getDefMod()*2, modifiers.getMagicDefMod()*2); + } + + public String getName() { + return name; + } + + public AttributeModifier getModifiers() { + return modifiers; + } + + @Override + public String toString() { + return "" + modifiers; + } +} \ No newline at end of file diff --git a/src/main/java/Item/Equipment.java b/src/main/java/Item/Equipment.java new file mode 100644 index 0000000..a9187ab --- /dev/null +++ b/src/main/java/Item/Equipment.java @@ -0,0 +1,39 @@ +package Item; + +public class Equipment implements Item { + + private String id; + private String name; + private EquipmentType equipmentType; + private int slot; + + public Equipment(String id, String name, EquipmentType equipmentType, int slot) { + this.id = id; + this.name = name; + this.equipmentType = equipmentType; + this.slot = slot; + } + + @Override + public String getId() { + return id; + } + + @Override + public String getName() { + return name; + } + + public EquipmentType getEquipmentType() { + return equipmentType; + } + + public int getSlot() { + return slot; + } + + @Override + public String toString() { + return name + equipmentType + slot; + } +} \ No newline at end of file diff --git a/src/main/java/Item/EquipmentType.java b/src/main/java/Item/EquipmentType.java new file mode 100644 index 0000000..2854c7e --- /dev/null +++ b/src/main/java/Item/EquipmentType.java @@ -0,0 +1,11 @@ +package Item; + +public abstract class EquipmentType { + public String name; + public AttributeModifier attributeModifier; + + public abstract String getName(); + public abstract String toString(); + public abstract AttributeModifier getModifiers(); + +} \ No newline at end of file diff --git a/src/test/java/EquipmentTest.java b/src/test/java/EquipmentTest.java new file mode 100644 index 0000000..738adfe --- /dev/null +++ b/src/test/java/EquipmentTest.java @@ -0,0 +1,70 @@ +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +import Item.Equipment; +import Item.BodyArmour; +import Item.AttributeModifier; + +public class EquipmentTest { + private Equipment defaultEquipment() { + AttributeModifier a = new AttributeModifier(4,8,7,1,2,8); + BodyArmour b = new BodyArmour("Body Armour", a); + return new Equipment("5", "Thornmail", b, 2); + } + + + @Test + void setNameOnCreation() { + var e = defaultEquipment(); + assertEquals("Thornmail", e.getName(), "Equipment name should have been set"); + } + + @Test + void setTypeOnCreation() { + var e = defaultEquipment(); + assertEquals("helmet", e.getEquipmentType().getName(), "Equipment type should have been set"); + } + + @Test + void setSlotOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getSlot(), "Equipment slot should have been set"); + } + + @Test + void setMaxHpModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getMaxHpMod(), "Equipment max hp modifier should have been set"); + } + + @Test + void setMaxMpModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getMaxMpMod(), "Equipment max mp modifier should have been set"); + } + + @Test + void setStrModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getStrMod(), "Equipment strength modifier should have been set"); + } + + @Test + void setMagicStrModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getMagicStrMod(), "Equipment magic strength modifier should have been set"); + } + + @Test + void setDefModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getDefMod(), "Equipment defence modifier should have been set"); + } + + @Test + void setMagicDefModOnCreation() { + var e = defaultEquipment(); + assertEquals(1, e.getEquipmentType().getModifiers().getMagicDefMod(), "Equipment magic defence modifier should have been set"); + } +} -- 2.39.5 From 7a76f479b9498dfe0ae5149a9f14f70b9e2b199a Mon Sep 17 00:00:00 2001 From: HellaBased Date: Wed, 29 Oct 2025 10:06:27 +0100 Subject: [PATCH 2/3] Push equipments --- src/main/java/Item/MageHat.java | 4 ++++ 1 file changed, 4 insertions(+) create mode 100644 src/main/java/Item/MageHat.java diff --git a/src/main/java/Item/MageHat.java b/src/main/java/Item/MageHat.java new file mode 100644 index 0000000..f29df6d --- /dev/null +++ b/src/main/java/Item/MageHat.java @@ -0,0 +1,4 @@ +package Item; + +public class MageHat { +} -- 2.39.5 From 50f0672278dbf48c886c4cd0c93e6e5efcbeae15 Mon Sep 17 00:00:00 2001 From: HellaBased Date: Wed, 29 Oct 2025 10:34:52 +0100 Subject: [PATCH 3/3] fixade jdk23 --- .idea/misc.xml | 2 +- src/main/java/Item/MageHat.java | 25 +++++++++++++++++++++++-- src/test/java/EquipmentTest.java | 28 +++++++++++++++++----------- 3 files changed, 41 insertions(+), 14 deletions(-) diff --git a/.idea/misc.xml b/.idea/misc.xml index eda147d..001e756 100644 --- a/.idea/misc.xml +++ b/.idea/misc.xml @@ -8,7 +8,7 @@ - + \ No newline at end of file diff --git a/src/main/java/Item/MageHat.java b/src/main/java/Item/MageHat.java index f29df6d..37197de 100644 --- a/src/main/java/Item/MageHat.java +++ b/src/main/java/Item/MageHat.java @@ -1,4 +1,25 @@ package Item; -public class MageHat { -} +public class MageHat extends EquipmentType{ + + private String name; + private AttributeModifier modifiers; + + public MageHat(String name, AttributeModifier modifiers) { + this.name = name; + this.modifiers = new AttributeModifier(modifiers.getMaxHpMod(), modifiers.getMaxMpMod(), modifiers.getStrMod(), modifiers.getMagicStrMod()*2, modifiers.getDefMod(), modifiers.getMagicDefMod()*2); + } + + public String getName() { + return name; + } + + public AttributeModifier getModifiers() { + return modifiers; + } + + @Override + public String toString() { + return "" + modifiers; + } +} \ No newline at end of file diff --git a/src/test/java/EquipmentTest.java b/src/test/java/EquipmentTest.java index 738adfe..9f317c6 100644 --- a/src/test/java/EquipmentTest.java +++ b/src/test/java/EquipmentTest.java @@ -7,64 +7,70 @@ import Item.BodyArmour; import Item.AttributeModifier; public class EquipmentTest { - private Equipment defaultEquipment() { + private Equipment defaultBodyArmour() { AttributeModifier a = new AttributeModifier(4,8,7,1,2,8); BodyArmour b = new BodyArmour("Body Armour", a); return new Equipment("5", "Thornmail", b, 2); } + private Equipment defaultMageHat() { + AttributeModifier a = new AttributeModifier(4,8,2,10,2,8); + BodyArmour b = new BodyArmour("Mage Hat", a); + return new Equipment("6", "Deathmage Cap", b, 1); + } + @Test void setNameOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals("Thornmail", e.getName(), "Equipment name should have been set"); } @Test void setTypeOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals("helmet", e.getEquipmentType().getName(), "Equipment type should have been set"); } @Test void setSlotOnCreation() { - var e = defaultEquipment(); - assertEquals(1, e.getSlot(), "Equipment slot should have been set"); + var e = defaultBodyArmour(); + assertEquals(2, e.getSlot(), "Equipment slot should have been set"); } @Test void setMaxHpModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getMaxHpMod(), "Equipment max hp modifier should have been set"); } @Test void setMaxMpModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getMaxMpMod(), "Equipment max mp modifier should have been set"); } @Test void setStrModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getStrMod(), "Equipment strength modifier should have been set"); } @Test void setMagicStrModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getMagicStrMod(), "Equipment magic strength modifier should have been set"); } @Test void setDefModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getDefMod(), "Equipment defence modifier should have been set"); } @Test void setMagicDefModOnCreation() { - var e = defaultEquipment(); + var e = defaultBodyArmour(); assertEquals(1, e.getEquipmentType().getModifiers().getMagicDefMod(), "Equipment magic defence modifier should have been set"); } } -- 2.39.5