Browse Source

Durability and initial charges migrated to template.

combat-2
MagicBot 9 months ago
parent
commit
8a1cd316fe
  1. 27
      src/engine/objects/ItemBase.java
  2. 13
      src/engine/objects/MobEquipment.java

27
src/engine/objects/ItemBase.java

@ -45,7 +45,6 @@ public class ItemBase {
public EnumSet<Enum.ClassType> requiredClasses; public EnumSet<Enum.ClassType> requiredClasses;
public EnumSet<Enum.DisciplineType> requiredDiscs; public EnumSet<Enum.DisciplineType> requiredDiscs;
public EnumSet<Enum.DisciplineType> restrictedDiscs; public EnumSet<Enum.DisciplineType> restrictedDiscs;
private final float durability;
private final int value; private final int value;
private final short weight; private final short weight;
private final short color; private final short color;
@ -75,7 +74,7 @@ public class ItemBase {
private final boolean twoHanded; private final boolean twoHanded;
private boolean isConsumable; private boolean isConsumable;
private boolean isStackable; private boolean isStackable;
private final int numCharges;
// Item stat modifiers // Item stat modifiers
private final HashMap<Integer, Integer> bakedInStats = new HashMap<>(); private final HashMap<Integer, Integer> bakedInStats = new HashMap<>();
private final HashMap<Integer, Integer> usedStats = new HashMap<>(); private final HashMap<Integer, Integer> usedStats = new HashMap<>();
@ -92,7 +91,6 @@ public class ItemBase {
this.uuid = rs.getInt("ID"); this.uuid = rs.getInt("ID");
this.durability = rs.getInt("durability");
this.value = rs.getInt("value"); this.value = rs.getInt("value");
this.weight = rs.getShort("weight"); this.weight = rs.getShort("weight");
this.color = rs.getShort("color"); this.color = rs.getShort("color");
@ -105,7 +103,6 @@ public class ItemBase {
this.isConsumable = false; this.isConsumable = false;
this.isStackable = false; this.isStackable = false;
this.numCharges = rs.getShort("numCharges");
this.equipFlag = rs.getInt("equipFlag"); this.equipFlag = rs.getInt("equipFlag");
this.restrictFlag = rs.getInt("restrictFlag"); this.restrictFlag = rs.getInt("restrictFlag");
@ -256,13 +253,6 @@ public class ItemBase {
} }
/*
* Getters
*/
public float getDurability() {
return this.durability;
}
private void initBakedInStats() { private void initBakedInStats() {
DbManager.ItemBaseQueries.LOAD_BAKEDINSTATS(this); DbManager.ItemBaseQueries.LOAD_BAKEDINSTATS(this);
@ -280,25 +270,12 @@ public class ItemBase {
public short getWeight() { public short getWeight() {
return this.weight; return this.weight;
} }
public int getColor() {
return this.color;
}
public boolean isConsumable() { public boolean isConsumable() {
return this.isConsumable; return this.isConsumable;
} }
public boolean isStackable() {
return this.isStackable;
}
public int getNumCharges() {
return this.numCharges;
}
public int getEquipFlag() { public int getEquipFlag() {
if ((this.type == ItemType.ARMOR) if ((this.type == ItemType.ARMOR)

13
src/engine/objects/MobEquipment.java

@ -37,6 +37,8 @@ public class MobEquipment extends AbstractGameObject {
private int magicValue; private int magicValue;
private float dropChance = 0; private float dropChance = 0;
public int templateID;
public ItemTemplate template;
/** /**
* No Id Constructor * No Id Constructor
@ -44,6 +46,8 @@ public class MobEquipment extends AbstractGameObject {
public MobEquipment(ItemBase itemBase, int slot, int parentID) { public MobEquipment(ItemBase itemBase, int slot, int parentID) {
super(MobEquipment.getNewID()); super(MobEquipment.getNewID());
this.itemBase = itemBase; this.itemBase = itemBase;
this.templateID = this.itemBase.getUUID();
this.template = ItemTemplate.itemTemplates.get(templateID);
this.slot = slot; this.slot = slot;
this.parentID = parentID; this.parentID = parentID;
this.enchanted = false; 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) { public MobEquipment(ItemBase itemBase, int slot, int parentID, String pIDString, String sIDString, int pValue, int sValue) {
super(MobEquipment.getNewID()); super(MobEquipment.getNewID());
this.itemBase = itemBase; this.itemBase = itemBase;
this.templateID = this.itemBase.getUUID();
this.template = ItemTemplate.itemTemplates.get(templateID);
this.slot = slot; this.slot = slot;
this.parentID = parentID; this.parentID = parentID;
@ -77,6 +83,8 @@ public class MobEquipment extends AbstractGameObject {
super(MobEquipment.getNewID()); super(MobEquipment.getNewID());
int itemBaseID = rs.getInt("ItemID"); int itemBaseID = rs.getInt("ItemID");
this.itemBase = ItemBase.getItemBase(itemBaseID); this.itemBase = ItemBase.getItemBase(itemBaseID);
this.templateID = this.itemBase.getUUID();
this.template = ItemTemplate.itemTemplates.get(itemBaseID);
this.slot = rs.getInt("slot"); this.slot = rs.getInt("slot");
this.parentID = rs.getInt("mobID"); this.parentID = rs.getInt("mobID");
setMagicValue(); setMagicValue();
@ -86,6 +94,7 @@ public class MobEquipment extends AbstractGameObject {
public MobEquipment(int itemBaseID, float dropChance) { public MobEquipment(int itemBaseID, float dropChance) {
super(MobEquipment.getNewID()); super(MobEquipment.getNewID());
this.itemBase = ItemBase.getItemBase(itemBaseID); this.itemBase = ItemBase.getItemBase(itemBaseID);
this.template = ItemTemplate.itemTemplates.get(itemBaseID);
if (this.itemBase != null) if (this.itemBase != null)
this.slot = this.itemBase.getValidSlot(); this.slot = this.itemBase.getValidSlot();
@ -144,8 +153,8 @@ public class MobEquipment extends AbstractGameObject {
writer.putInt(0); // Unknown. pad? writer.putInt(0); // Unknown. pad?
writer.put((byte) 1); // End Datablock byte writer.put((byte) 1); // End Datablock byte
writer.putFloat(mobEquipment.itemBase.getDurability()); writer.putFloat(mobEquipment.template.item_health_full);
writer.putFloat(mobEquipment.itemBase.getDurability()); writer.putFloat(mobEquipment.template.item_health_full);
writer.put((byte) 1); // End Datablock byte writer.put((byte) 1); // End Datablock byte

Loading…
Cancel
Save