Begin constructor refactor

This commit is contained in:
2024-03-01 21:32:51 -05:00
parent 9ea44d7e1c
commit fa440e2885
20 changed files with 72 additions and 76 deletions
+7 -4
View File
@@ -12,7 +12,10 @@ package engine.objects;
import engine.Enum;
import engine.Enum.GameObjectType;
import engine.Enum.ItemType;
import engine.gameManager.*;
import engine.gameManager.BuildingManager;
import engine.gameManager.ChatManager;
import engine.gameManager.ConfigManager;
import engine.gameManager.DbManager;
import engine.math.Vector3fImmutable;
import engine.net.Dispatch;
import engine.net.DispatchMessage;
@@ -931,7 +934,7 @@ public class CharacterItemManager {
public synchronized boolean consume(Item i) {
i.decrementChargesRemaining();
if (i.getChargesRemaining() > 0)
if ((byte) i.chargesRemaining > 0)
return true;
return junk(i, true);
}
@@ -2089,7 +2092,7 @@ public class CharacterItemManager {
}
}
public boolean hasRoomInventory(short weight) {
public boolean hasRoomInventory(int weight) {
if (this.absCharacter == null)
return false;
if (this.absCharacter.getObjectType() == GameObjectType.PlayerCharacter) {
@@ -2447,7 +2450,7 @@ public class CharacterItemManager {
if (!item.isCanDestroy())
return;
int dur = (int) item.getDurabilityCurrent();
int dur = (int) (short) item.durabilityCurrent;
if (dur - amount <= 0) {
//destroy the item
junk(item);
+17 -25
View File
@@ -45,18 +45,18 @@ public class Item extends AbstractWorldObject {
private final ArrayList<String> effectNames = new ArrayList<>();
public Enum.ItemContainerType containerType;
public ReentrantLock lootLock = new ReentrantLock();
private int ownerID; //may be character, account, npc, mob
public int ownerID; //may be character, account, npc, mob
private int flags; //1 = isIDed
private int numberOfItems;
private short durabilityCurrent;
private byte chargesRemaining;
public float durabilityCurrent;
public int chargesRemaining;
private byte equipSlot;
private boolean canDestroy;
private boolean rentable;
private boolean isRandom = false;
private int value;
private OwnerType ownerType;
private int itemBaseID;
public OwnerType ownerType;
public int templsteID;
private AbstractWorldObject lastOwner;
private ArrayList<EnchantmentBase> enchants = new ArrayList<>();
private long dateToUpgrade;
@@ -72,7 +72,11 @@ public class Item extends AbstractWorldObject {
public Item(int templateID) {
super();
this.template = ItemTemplate.itemTemplates.get(templateID);
this.chargesRemaining = this.template.item_initial_charges;
this.durabilityCurrent = this.template.combat_health_full;
loadEnchantments();
bakeInStats();
}
public Item(ItemBase itemBase, int ownerID,
@@ -81,7 +85,7 @@ public class Item extends AbstractWorldObject {
boolean rentable, Enum.ItemContainerType containerType, byte equipSlot,
ArrayList<EnchantmentBase> enchants, String name) {
super();
this.itemBaseID = itemBase.getUUID();
this.templsteID = itemBase.getUUID();
this.ownerID = ownerID;
this.ownerType = ownerType;
@@ -119,7 +123,7 @@ public class Item extends AbstractWorldObject {
ArrayList<EnchantmentBase> enchants, int newUUID) {
super(newUUID);
this.itemBaseID = itemBase.getUUID();
this.templsteID = itemBase.getUUID();
this.ownerID = ownerID;
this.ownerType = ownerType;
this.customName = "";
@@ -146,7 +150,7 @@ public class Item extends AbstractWorldObject {
public Item(ResultSet rs) throws SQLException {
super(rs);
this.itemBaseID = rs.getInt("item_itemBaseID");
this.templsteID = rs.getInt("item_itemBaseID");
// Set container enumeration
@@ -784,11 +788,11 @@ public class Item extends AbstractWorldObject {
}
public ItemBase getItemBase() {
return ItemBase.getItemBase(itemBaseID);
return ItemBase.getItemBase(templsteID);
}
public int getItemBaseID() {
return this.itemBaseID;
public int getTemplsteID() {
return this.templsteID;
}
public int getOwnerID() {
@@ -800,10 +804,6 @@ public class Item extends AbstractWorldObject {
this.ownerID = ownerID;
}
public OwnerType getOwnerType() {
return ownerType;
}
public AbstractGameObject getOwner() {
if (this.ownerType == OwnerType.Npc)
return NPC.getFromCache(this.ownerID);
@@ -850,15 +850,7 @@ public class Item extends AbstractWorldObject {
return chargesMax;
}
public byte getChargesRemaining() {
return chargesRemaining;
}
public short getDurabilityCurrent() {
return durabilityCurrent;
}
public void setDurabilityCurrent(short value) {
public void setDurabilityCurrent(float value) {
this.durabilityCurrent = value;
}
@@ -1194,7 +1186,7 @@ public class Item extends AbstractWorldObject {
if (this.customName.isEmpty() == false)
return this.customName;
ItemTemplate template = ItemTemplate.itemTemplates.get(this.getItemBaseID());
ItemTemplate template = ItemTemplate.itemTemplates.get(this.getTemplsteID());
return template.item_base_name;
}
+9 -9
View File
@@ -189,7 +189,7 @@ public class ItemFactory {
time *= MBServerStatics.ONE_MINUTE;
if (ml.getItemBase().getUUID() > 910010 && ml.getItemBase().getUUID() < 910019) {
rank = ml.getItemBaseID() - 910010;
rank = ml.getTemplsteID() - 910010;
time = rank * 60 * 60 * 3 * 1000;
}
@@ -210,8 +210,8 @@ public class ItemFactory {
if (pc != null)
playerID = pc.getObjectUUID();
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(ml.getObjectUUID(), npc.getObjectUUID(), ml.getItemBaseID(), dateTime, "", "", "", false, playerID);
ProducedItem pi = new ProducedItem(ml.getObjectUUID(), npc.getObjectUUID(), ml.getItemBaseID(), dateTime, false, "", "", "", playerID);
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(ml.getObjectUUID(), npc.getObjectUUID(), ml.getTemplsteID(), dateTime, "", "", "", false, playerID);
ProducedItem pi = new ProducedItem(ml.getObjectUUID(), npc.getObjectUUID(), ml.getTemplsteID(), dateTime, false, "", "", "", playerID);
pi.setProducedItemID(ml.getObjectUUID());
pi.setAmount(itemsToRoll);
pi.setRandom(false);
@@ -606,7 +606,7 @@ public class ItemFactory {
time *= MBServerStatics.ONE_MINUTE;
if (ml.getItemBase().getUUID() > 910010 && ml.getItemBase().getUUID() < 910019) {
rank = ml.getItemBaseID() - 910010;
rank = ml.getTemplsteID() - 910010;
time = rank * 60 * 60 * 3 * 1000;
}
@@ -627,8 +627,8 @@ public class ItemFactory {
if (pc != null)
playerID = pc.getObjectUUID();
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(ml.getObjectUUID(), npc.getObjectUUID(), ml.getItemBaseID(), dateTime, prefixString, suffixString, ml.getCustomName(), false, playerID);
ProducedItem pi = new ProducedItem(npc.getRolling().size(), npc.getObjectUUID(), ml.getItemBaseID(), dateTime, false, prefixString, suffixString, ml.getCustomName(), playerID);
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(ml.getObjectUUID(), npc.getObjectUUID(), ml.getTemplsteID(), dateTime, prefixString, suffixString, ml.getCustomName(), false, playerID);
ProducedItem pi = new ProducedItem(npc.getRolling().size(), npc.getObjectUUID(), ml.getTemplsteID(), dateTime, false, prefixString, suffixString, ml.getCustomName(), playerID);
pi.setProducedItemID(ml.getObjectUUID());
pi.setAmount(itemsToRoll);
@@ -745,7 +745,7 @@ public class ItemFactory {
time *= MBServerStatics.ONE_MINUTE;
if (toRoll.getItemBase().getUUID() > 910010 && toRoll.getItemBase().getUUID() < 910019) {
rank = toRoll.getItemBaseID() - 910010;
rank = toRoll.getTemplsteID() - 910010;
time = rank * 60 * 60 * 3 * 1000;
}
@@ -765,9 +765,9 @@ public class ItemFactory {
if (playerCharacter != null)
playerID = playerCharacter.getObjectUUID();
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(toRoll.getObjectUUID(), vendor.getObjectUUID(), toRoll.getItemBaseID(), dateTime, prefix, suffix, toRoll.getCustomName(), true, playerID);
DbManager.NPCQueries.ADD_TO_PRODUCTION_LIST(toRoll.getObjectUUID(), vendor.getObjectUUID(), toRoll.getTemplsteID(), dateTime, prefix, suffix, toRoll.getCustomName(), true, playerID);
ProducedItem pi = new ProducedItem(toRoll.getObjectUUID(), vendor.getObjectUUID(), toRoll.getItemBaseID(), dateTime, true, prefix, suffix, toRoll.getCustomName(), playerID);
ProducedItem pi = new ProducedItem(toRoll.getObjectUUID(), vendor.getObjectUUID(), toRoll.getTemplsteID(), dateTime, true, prefix, suffix, toRoll.getCustomName(), playerID);
pi.setProducedItemID(toRoll.getObjectUUID());
pi.setAmount(itemsToRoll);
ItemQueue produced = ItemQueue.borrow(pi, (long) (time * Float.parseFloat(ConfigManager.MB_PRODUCTION_RATE.getValue())));
+1 -1
View File
@@ -344,7 +344,7 @@ public class Warehouse extends AbstractWorldObject {
if (resource.getItemBase().getType().equals(Enum.ItemType.GOLD))
resourceType = Resource.GOLD;
else
resourceType = Resource.valueOf(ItemTemplate.itemTemplates.get(resource.getItemBaseID()).item_base_name.toUpperCase());
resourceType = Resource.valueOf(ItemTemplate.itemTemplates.get(resource.getTemplsteID()).item_base_name.toUpperCase());
if (transaction)
AddTransactionToWarehouse(warehouse, pc.getObjectType(), pc.getObjectUUID(), Enum.TransactionType.DEPOSIT, resourceType, amount);