lastNegativeId moved to ItemManager
This commit is contained in:
@@ -10,10 +10,10 @@
|
||||
package engine.db.handlers;
|
||||
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.gameManager.ItemManager;
|
||||
import engine.mbEnums;
|
||||
import engine.objects.Contract;
|
||||
import engine.objects.Item;
|
||||
import engine.objects.MobLoot;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.sql.Connection;
|
||||
@@ -66,7 +66,7 @@ public class dbContractHandler extends dbHandlerBase {
|
||||
int templateID = rs.getInt("templateID");
|
||||
|
||||
Item item = new Item(templateID);
|
||||
item.objectUUID = MobLoot.lastNegativeID.decrementAndGet();
|
||||
item.objectUUID = ItemManager.lastNegativeID.decrementAndGet();
|
||||
contract.getSellInventory().add(item);
|
||||
|
||||
}
|
||||
|
||||
@@ -291,7 +291,7 @@ public enum ForgeManager implements Runnable {
|
||||
// Item gets a negative id; a virtual in-memory only item
|
||||
// which is not persisted or added to the game cache.
|
||||
|
||||
forgedItem.objectUUID = MobLoot.lastNegativeID.getAndDecrement();
|
||||
forgedItem.objectUUID = ItemManager.lastNegativeID.getAndDecrement();
|
||||
|
||||
forgedItem.containerType = mbEnums.ItemContainerType.FORGE;
|
||||
forgedItem.ownerID = workOrder.vendor.getObjectUUID();
|
||||
|
||||
@@ -2,10 +2,13 @@ package engine.gameManager;
|
||||
|
||||
import engine.mbEnums;
|
||||
import engine.objects.*;
|
||||
import engine.powers.EffectsBase;
|
||||
import engine.powers.poweractions.AbstractPowerAction;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.util.EnumSet;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
// • ▌ ▄ ·. ▄▄▄· ▄▄ • ▪ ▄▄· ▄▄▄▄· ▄▄▄· ▐▄▄▄ ▄▄▄ .
|
||||
// ·██ ▐███▪▐█ ▀█ ▐█ ▀ ▪██ ▐█ ▌▪▐█ ▀█▪▐█ ▀█ •█▌ ▐█▐▌·
|
||||
// ▐█ ▌▐▌▐█·▄█▀▀█ ▄█ ▀█▄▐█·██ ▄▄▐█▀▀█▄▄█▀▀█ ▐█▐ ▐▌▐▀▀▀
|
||||
@@ -17,6 +20,8 @@ import java.util.concurrent.ConcurrentHashMap;
|
||||
public enum ItemManager {
|
||||
ITEMMANAGER;
|
||||
|
||||
public static final AtomicInteger lastNegativeID = new AtomicInteger(0);
|
||||
|
||||
public static Boolean ValidRace(Item item, mbEnums.MonsterType race) {
|
||||
|
||||
if (item.template.item_race_req.isEmpty() && item.template.item_race_res.isEmpty())
|
||||
@@ -220,4 +225,16 @@ public enum ItemManager {
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
public static void addPrefixOrSuffix(Item item, int token) {
|
||||
|
||||
EffectsBase effectsBase = PowersManager.getEffectByToken(token);
|
||||
AbstractPowerAction apa = PowersManager.getPowerActionByIDString(effectsBase.getIDString());
|
||||
|
||||
if (apa == null)
|
||||
return;
|
||||
|
||||
apa.applyEffectForItem(item, 0);
|
||||
item.getEffectNames().add(effectsBase.getIDString());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
package engine.objects;
|
||||
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.gameManager.ItemManager;
|
||||
import engine.gameManager.LootManager;
|
||||
import engine.loot.BootySetEntry;
|
||||
import engine.mbEnums;
|
||||
@@ -126,7 +127,7 @@ public class MobBase extends AbstractGameObject {
|
||||
for (BootySetEntry equipmentSetEntry : equipList) {
|
||||
|
||||
Item item = new Item(equipmentSetEntry.templateID);
|
||||
item.objectUUID = MobLoot.lastNegativeID.decrementAndGet();
|
||||
item.objectUUID = ItemManager.lastNegativeID.decrementAndGet();
|
||||
item.drop_chance = equipmentSetEntry.dropChance;
|
||||
item.equipSlot = item.template.item_eq_slots_or.iterator().next();
|
||||
equip.put(item.equipSlot, item);
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
package engine.objects;
|
||||
|
||||
import engine.gameManager.DbManager;
|
||||
import engine.gameManager.ItemManager;
|
||||
import engine.gameManager.PowersManager;
|
||||
import engine.mbEnums;
|
||||
import engine.mbEnums.ItemType;
|
||||
@@ -17,8 +18,6 @@ import engine.mbEnums.OwnerType;
|
||||
import engine.powers.poweractions.AbstractPowerAction;
|
||||
import org.pmw.tinylog.Logger;
|
||||
|
||||
import java.util.concurrent.atomic.AtomicInteger;
|
||||
|
||||
/**
|
||||
* An immutable, non-persistant implementation of Item
|
||||
*
|
||||
@@ -26,8 +25,6 @@ import java.util.concurrent.atomic.AtomicInteger;
|
||||
*/
|
||||
public final class MobLoot extends Item {
|
||||
|
||||
public static final AtomicInteger lastNegativeID = new AtomicInteger(0);
|
||||
|
||||
private boolean isDeleted = false;
|
||||
private boolean noSteal;
|
||||
private String prefix = "";
|
||||
@@ -77,7 +74,7 @@ public final class MobLoot extends Item {
|
||||
* @return Id number
|
||||
*/
|
||||
private static int generateId() {
|
||||
int id = lastNegativeID.decrementAndGet();
|
||||
int id = ItemManager.lastNegativeID.decrementAndGet();
|
||||
|
||||
//TODO Add a way to reclaim disposed IDs if this becomes a problem
|
||||
if (id == (-10000))
|
||||
|
||||
Reference in New Issue
Block a user