From 8a1cd316fe7b3a5d5582109b5f712bd34b293d44 Mon Sep 17 00:00:00 2001 From: MagicBot Date: Sun, 3 Mar 2024 08:48:38 -0500 Subject: [PATCH] Durability and initial charges migrated to template. --- src/engine/objects/ItemBase.java | 27 ++------------------------- src/engine/objects/MobEquipment.java | 13 +++++++++++-- 2 files changed, 13 insertions(+), 27 deletions(-) diff --git a/src/engine/objects/ItemBase.java b/src/engine/objects/ItemBase.java index e2bedccb..a949ec7a 100644 --- a/src/engine/objects/ItemBase.java +++ b/src/engine/objects/ItemBase.java @@ -45,7 +45,6 @@ public class ItemBase { public EnumSet requiredClasses; public EnumSet requiredDiscs; public EnumSet restrictedDiscs; - private final float durability; private final int value; private final short weight; private final short color; @@ -75,7 +74,7 @@ public class ItemBase { private final boolean twoHanded; private boolean isConsumable; private boolean isStackable; - private final int numCharges; + // Item stat modifiers private final HashMap bakedInStats = new HashMap<>(); private final HashMap usedStats = new HashMap<>(); @@ -92,7 +91,6 @@ public class ItemBase { this.uuid = rs.getInt("ID"); - this.durability = rs.getInt("durability"); this.value = rs.getInt("value"); this.weight = rs.getShort("weight"); this.color = rs.getShort("color"); @@ -105,7 +103,6 @@ public class ItemBase { this.isConsumable = false; this.isStackable = false; - this.numCharges = rs.getShort("numCharges"); this.equipFlag = rs.getInt("equipFlag"); this.restrictFlag = rs.getInt("restrictFlag"); @@ -256,13 +253,6 @@ public class ItemBase { } - /* - * Getters - */ - - public float getDurability() { - return this.durability; - } private void initBakedInStats() { DbManager.ItemBaseQueries.LOAD_BAKEDINSTATS(this); @@ -280,25 +270,12 @@ public class ItemBase { public short getWeight() { return this.weight; } - - public int getColor() { - return this.color; - } + public boolean isConsumable() { return this.isConsumable; } - public boolean isStackable() { - return this.isStackable; - } - - public int getNumCharges() { - - return this.numCharges; - - } - public int getEquipFlag() { if ((this.type == ItemType.ARMOR) diff --git a/src/engine/objects/MobEquipment.java b/src/engine/objects/MobEquipment.java index 3d0ab031..2e6ad892 100644 --- a/src/engine/objects/MobEquipment.java +++ b/src/engine/objects/MobEquipment.java @@ -37,6 +37,8 @@ public class MobEquipment extends AbstractGameObject { private int magicValue; private float dropChance = 0; + public int templateID; + public ItemTemplate template; /** * No Id Constructor @@ -44,6 +46,8 @@ public class MobEquipment extends AbstractGameObject { public MobEquipment(ItemBase itemBase, int slot, int parentID) { super(MobEquipment.getNewID()); this.itemBase = itemBase; + this.templateID = this.itemBase.getUUID(); + this.template = ItemTemplate.itemTemplates.get(templateID); this.slot = slot; this.parentID = parentID; this.enchanted = false; @@ -57,6 +61,8 @@ public class MobEquipment extends AbstractGameObject { public MobEquipment(ItemBase itemBase, int slot, int parentID, String pIDString, String sIDString, int pValue, int sValue) { super(MobEquipment.getNewID()); this.itemBase = itemBase; + this.templateID = this.itemBase.getUUID(); + this.template = ItemTemplate.itemTemplates.get(templateID); this.slot = slot; this.parentID = parentID; @@ -77,6 +83,8 @@ public class MobEquipment extends AbstractGameObject { super(MobEquipment.getNewID()); int itemBaseID = rs.getInt("ItemID"); this.itemBase = ItemBase.getItemBase(itemBaseID); + this.templateID = this.itemBase.getUUID(); + this.template = ItemTemplate.itemTemplates.get(itemBaseID); this.slot = rs.getInt("slot"); this.parentID = rs.getInt("mobID"); setMagicValue(); @@ -86,6 +94,7 @@ public class MobEquipment extends AbstractGameObject { public MobEquipment(int itemBaseID, float dropChance) { super(MobEquipment.getNewID()); this.itemBase = ItemBase.getItemBase(itemBaseID); + this.template = ItemTemplate.itemTemplates.get(itemBaseID); if (this.itemBase != null) this.slot = this.itemBase.getValidSlot(); @@ -144,8 +153,8 @@ public class MobEquipment extends AbstractGameObject { writer.putInt(0); // Unknown. pad? writer.put((byte) 1); // End Datablock byte - writer.putFloat(mobEquipment.itemBase.getDurability()); - writer.putFloat(mobEquipment.itemBase.getDurability()); + writer.putFloat(mobEquipment.template.item_health_full); + writer.putFloat(mobEquipment.template.item_health_full); writer.put((byte) 1); // End Datablock byte