|
@@ -25,10 +25,11 @@ import java.util.logging.Logger;
|
|
import com.l2jserver.Config;
|
|
import com.l2jserver.Config;
|
|
import com.l2jserver.gameserver.datatables.EnchantItemData;
|
|
import com.l2jserver.gameserver.datatables.EnchantItemData;
|
|
import com.l2jserver.gameserver.datatables.SkillTable;
|
|
import com.l2jserver.gameserver.datatables.SkillTable;
|
|
-import com.l2jserver.gameserver.model.EnchantItem;
|
|
|
|
-import com.l2jserver.gameserver.model.EnchantScroll;
|
|
|
|
import com.l2jserver.gameserver.model.L2World;
|
|
import com.l2jserver.gameserver.model.L2World;
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
|
|
|
|
+import com.l2jserver.gameserver.model.enchant.EnchantItem;
|
|
|
|
+import com.l2jserver.gameserver.model.enchant.EnchantResultType;
|
|
|
|
+import com.l2jserver.gameserver.model.enchant.EnchantScroll;
|
|
import com.l2jserver.gameserver.model.items.L2Armor;
|
|
import com.l2jserver.gameserver.model.items.L2Armor;
|
|
import com.l2jserver.gameserver.model.items.L2Item;
|
|
import com.l2jserver.gameserver.model.items.L2Item;
|
|
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
|
import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
|
|
@@ -41,7 +42,6 @@ import com.l2jserver.gameserver.network.serverpackets.MagicSkillUse;
|
|
import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
|
|
import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
|
|
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
|
import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
|
|
import com.l2jserver.gameserver.util.Util;
|
|
import com.l2jserver.gameserver.util.Util;
|
|
-import com.l2jserver.util.Rnd;
|
|
|
|
|
|
|
|
public final class RequestEnchantItem extends L2GameClientPacket
|
|
public final class RequestEnchantItem extends L2GameClientPacket
|
|
{
|
|
{
|
|
@@ -158,143 +158,94 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
|
|
|
|
|
synchronized (item)
|
|
synchronized (item)
|
|
{
|
|
{
|
|
- double chance = scrollTemplate.getChance(item, supportTemplate);
|
|
|
|
-
|
|
|
|
- L2Skill enchant4Skill = null;
|
|
|
|
- L2Item it = item.getItem();
|
|
|
|
-
|
|
|
|
// last validation check
|
|
// last validation check
|
|
- if ((item.getOwnerId() != activeChar.getObjectId()) || (item.isEnchantable() == 0) || (chance < 0))
|
|
|
|
|
|
+ if ((item.getOwnerId() != activeChar.getObjectId()) || (item.isEnchantable() == 0))
|
|
{
|
|
{
|
|
activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION);
|
|
activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION);
|
|
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
|
activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
|
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
|
activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
|
return;
|
|
return;
|
|
}
|
|
}
|
|
-
|
|
|
|
- if (Rnd.get(100) < chance)
|
|
|
|
|
|
+ final EnchantResultType resultType = scrollTemplate.calculateSuccess(activeChar, item, supportTemplate);
|
|
|
|
+ switch (resultType)
|
|
{
|
|
{
|
|
- // success
|
|
|
|
- item.setEnchantLevel(item.getEnchantLevel() + 1);
|
|
|
|
- item.updateDatabase();
|
|
|
|
- activeChar.sendPacket(new EnchantResult(0, 0, 0));
|
|
|
|
-
|
|
|
|
- if (Config.LOG_ITEM_ENCHANTS)
|
|
|
|
|
|
+ case ERROR:
|
|
{
|
|
{
|
|
- LogRecord record = new LogRecord(Level.INFO, "Success");
|
|
|
|
- record.setParameters(new Object[]
|
|
|
|
- {
|
|
|
|
- activeChar,
|
|
|
|
- item,
|
|
|
|
- scroll,
|
|
|
|
- support,
|
|
|
|
- chance
|
|
|
|
- });
|
|
|
|
- record.setLoggerName("item");
|
|
|
|
- _logEnchant.log(record);
|
|
|
|
|
|
+ activeChar.sendPacket(SystemMessageId.INAPPROPRIATE_ENCHANT_CONDITION);
|
|
|
|
+ activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
-
|
|
|
|
- // announce the success
|
|
|
|
- int minEnchantAnnounce = item.isArmor() ? 6 : 7;
|
|
|
|
- int maxEnchantAnnounce = item.isArmor() ? 0 : 15;
|
|
|
|
- if ((item.getEnchantLevel() == minEnchantAnnounce) || (item.getEnchantLevel() == maxEnchantAnnounce))
|
|
|
|
|
|
+ case SUCCESS:
|
|
{
|
|
{
|
|
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_SUCCESSFULY_ENCHANTED_A_S2_S3);
|
|
|
|
- sm.addCharName(activeChar);
|
|
|
|
- sm.addNumber(item.getEnchantLevel());
|
|
|
|
- sm.addItemName(item);
|
|
|
|
- activeChar.broadcastPacket(sm);
|
|
|
|
|
|
+ L2Skill enchant4Skill = null;
|
|
|
|
+ L2Item it = item.getItem();
|
|
|
|
|
|
- L2Skill skill = SkillTable.FrequentSkill.FIREWORK.getSkill();
|
|
|
|
- if (skill != null)
|
|
|
|
- {
|
|
|
|
- activeChar.broadcastPacket(new MagicSkillUse(activeChar, activeChar, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if ((it instanceof L2Armor) && (item.getEnchantLevel() == 4) && activeChar.getInventory().getItemByObjectId(item.getObjectId()).isEquipped())
|
|
|
|
- {
|
|
|
|
- enchant4Skill = ((L2Armor) it).getEnchant4Skill();
|
|
|
|
- if (enchant4Skill != null)
|
|
|
|
- {
|
|
|
|
- // add skills bestowed from +4 armor
|
|
|
|
- activeChar.addSkill(enchant4Skill, false);
|
|
|
|
- activeChar.sendSkillList();
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- if (scrollTemplate.isSafe())
|
|
|
|
- {
|
|
|
|
- // safe enchant - remain old value
|
|
|
|
- activeChar.sendPacket(SystemMessageId.SAFE_ENCHANT_FAILED);
|
|
|
|
- activeChar.sendPacket(new EnchantResult(5, 0, 0));
|
|
|
|
|
|
+ item.setEnchantLevel(item.getEnchantLevel() + 1);
|
|
|
|
+ item.updateDatabase();
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(0, 0, 0));
|
|
|
|
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
{
|
|
{
|
|
- LogRecord record = new LogRecord(Level.INFO, "Safe Fail");
|
|
|
|
|
|
+ LogRecord record = new LogRecord(Level.INFO, "Success");
|
|
record.setParameters(new Object[]
|
|
record.setParameters(new Object[]
|
|
{
|
|
{
|
|
activeChar,
|
|
activeChar,
|
|
item,
|
|
item,
|
|
scroll,
|
|
scroll,
|
|
support,
|
|
support,
|
|
- chance
|
|
|
|
});
|
|
});
|
|
record.setLoggerName("item");
|
|
record.setLoggerName("item");
|
|
_logEnchant.log(record);
|
|
_logEnchant.log(record);
|
|
}
|
|
}
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- // unequip item on enchant failure to avoid item skills stack
|
|
|
|
- if (item.isEquipped())
|
|
|
|
|
|
+
|
|
|
|
+ // announce the success
|
|
|
|
+ int minEnchantAnnounce = item.isArmor() ? 6 : 7;
|
|
|
|
+ int maxEnchantAnnounce = item.isArmor() ? 0 : 15;
|
|
|
|
+ if ((item.getEnchantLevel() == minEnchantAnnounce) || (item.getEnchantLevel() == maxEnchantAnnounce))
|
|
{
|
|
{
|
|
- if (item.getEnchantLevel() > 0)
|
|
|
|
- {
|
|
|
|
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED);
|
|
|
|
- sm.addNumber(item.getEnchantLevel());
|
|
|
|
- sm.addItemName(item);
|
|
|
|
- activeChar.sendPacket(sm);
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED);
|
|
|
|
- sm.addItemName(item);
|
|
|
|
- activeChar.sendPacket(sm);
|
|
|
|
- }
|
|
|
|
|
|
+ SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.C1_SUCCESSFULY_ENCHANTED_A_S2_S3);
|
|
|
|
+ sm.addCharName(activeChar);
|
|
|
|
+ sm.addNumber(item.getEnchantLevel());
|
|
|
|
+ sm.addItemName(item);
|
|
|
|
+ activeChar.broadcastPacket(sm);
|
|
|
|
|
|
- L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(item.getLocationSlot());
|
|
|
|
- InventoryUpdate iu = new InventoryUpdate();
|
|
|
|
- for (L2ItemInstance itm : unequiped)
|
|
|
|
|
|
+ L2Skill skill = SkillTable.FrequentSkill.FIREWORK.getSkill();
|
|
|
|
+ if (skill != null)
|
|
{
|
|
{
|
|
- iu.addModifiedItem(itm);
|
|
|
|
|
|
+ activeChar.broadcastPacket(new MagicSkillUse(activeChar, activeChar, skill.getId(), skill.getLevel(), skill.getHitTime(), skill.getReuseDelay()));
|
|
}
|
|
}
|
|
-
|
|
|
|
- activeChar.sendPacket(iu);
|
|
|
|
- activeChar.broadcastUserInfo();
|
|
|
|
}
|
|
}
|
|
|
|
|
|
- if (scrollTemplate.isBlessed())
|
|
|
|
|
|
+ if ((it instanceof L2Armor) && (item.getEnchantLevel() == 4) && activeChar.getInventory().getItemByObjectId(item.getObjectId()).isEquipped())
|
|
{
|
|
{
|
|
- // blessed enchant - clear enchant value
|
|
|
|
- activeChar.sendPacket(SystemMessageId.BLESSED_ENCHANT_FAILED);
|
|
|
|
-
|
|
|
|
- item.setEnchantLevel(0);
|
|
|
|
- item.updateDatabase();
|
|
|
|
- activeChar.sendPacket(new EnchantResult(3, 0, 0));
|
|
|
|
|
|
+ enchant4Skill = ((L2Armor) it).getEnchant4Skill();
|
|
|
|
+ if (enchant4Skill != null)
|
|
|
|
+ {
|
|
|
|
+ // add skills bestowed from +4 armor
|
|
|
|
+ activeChar.addSkill(enchant4Skill, false);
|
|
|
|
+ activeChar.sendSkillList();
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ case FAILURE:
|
|
|
|
+ {
|
|
|
|
+ if (scrollTemplate.isSafe())
|
|
|
|
+ {
|
|
|
|
+ // safe enchant - remain old value
|
|
|
|
+ activeChar.sendPacket(SystemMessageId.SAFE_ENCHANT_FAILED);
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(5, 0, 0));
|
|
|
|
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
{
|
|
{
|
|
- LogRecord record = new LogRecord(Level.INFO, "Blessed Fail");
|
|
|
|
|
|
+ LogRecord record = new LogRecord(Level.INFO, "Safe Fail");
|
|
record.setParameters(new Object[]
|
|
record.setParameters(new Object[]
|
|
{
|
|
{
|
|
activeChar,
|
|
activeChar,
|
|
item,
|
|
item,
|
|
scroll,
|
|
scroll,
|
|
support,
|
|
support,
|
|
- chance
|
|
|
|
});
|
|
});
|
|
record.setLoggerName("item");
|
|
record.setLoggerName("item");
|
|
_logEnchant.log(record);
|
|
_logEnchant.log(record);
|
|
@@ -302,117 +253,170 @@ public final class RequestEnchantItem extends L2GameClientPacket
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- // enchant failed, destroy item
|
|
|
|
- int crystalId = item.getItem().getCrystalItemId();
|
|
|
|
- int count = item.getCrystalCount() - ((item.getItem().getCrystalCount() + 1) / 2);
|
|
|
|
- if (count < 1)
|
|
|
|
|
|
+ // unequip item on enchant failure to avoid item skills stack
|
|
|
|
+ if (item.isEquipped())
|
|
{
|
|
{
|
|
- count = 1;
|
|
|
|
|
|
+ if (item.getEnchantLevel() > 0)
|
|
|
|
+ {
|
|
|
|
+ SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EQUIPMENT_S1_S2_REMOVED);
|
|
|
|
+ sm.addNumber(item.getEnchantLevel());
|
|
|
|
+ sm.addItemName(item);
|
|
|
|
+ activeChar.sendPacket(sm);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.S1_DISARMED);
|
|
|
|
+ sm.addItemName(item);
|
|
|
|
+ activeChar.sendPacket(sm);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ L2ItemInstance[] unequiped = activeChar.getInventory().unEquipItemInSlotAndRecord(item.getLocationSlot());
|
|
|
|
+ InventoryUpdate iu = new InventoryUpdate();
|
|
|
|
+ for (L2ItemInstance itm : unequiped)
|
|
|
|
+ {
|
|
|
|
+ iu.addModifiedItem(itm);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ activeChar.sendPacket(iu);
|
|
|
|
+ activeChar.broadcastUserInfo();
|
|
}
|
|
}
|
|
|
|
|
|
- L2ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
|
|
|
|
- if (destroyItem == null)
|
|
|
|
|
|
+ if (scrollTemplate.isBlessed())
|
|
{
|
|
{
|
|
- // unable to destroy item, cheater ?
|
|
|
|
- Util.handleIllegalPlayerAction(activeChar, "Unable to delete item on enchant failure from player " + activeChar.getName() + ", possible cheater !", Config.DEFAULT_PUNISH);
|
|
|
|
- activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
|
|
|
- activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
|
|
|
|
|
+ // blessed enchant - clear enchant value
|
|
|
|
+ activeChar.sendPacket(SystemMessageId.BLESSED_ENCHANT_FAILED);
|
|
|
|
+
|
|
|
|
+ item.setEnchantLevel(0);
|
|
|
|
+ item.updateDatabase();
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(3, 0, 0));
|
|
|
|
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
if (Config.LOG_ITEM_ENCHANTS)
|
|
{
|
|
{
|
|
- LogRecord record = new LogRecord(Level.INFO, "Unable to destroy");
|
|
|
|
|
|
+ LogRecord record = new LogRecord(Level.INFO, "Blessed Fail");
|
|
record.setParameters(new Object[]
|
|
record.setParameters(new Object[]
|
|
{
|
|
{
|
|
activeChar,
|
|
activeChar,
|
|
item,
|
|
item,
|
|
scroll,
|
|
scroll,
|
|
support,
|
|
support,
|
|
- chance
|
|
|
|
});
|
|
});
|
|
record.setLoggerName("item");
|
|
record.setLoggerName("item");
|
|
_logEnchant.log(record);
|
|
_logEnchant.log(record);
|
|
}
|
|
}
|
|
- return;
|
|
|
|
}
|
|
}
|
|
-
|
|
|
|
- L2ItemInstance crystals = null;
|
|
|
|
- if (crystalId != 0)
|
|
|
|
|
|
+ else
|
|
{
|
|
{
|
|
- crystals = activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem);
|
|
|
|
|
|
+ // enchant failed, destroy item
|
|
|
|
+ int crystalId = item.getItem().getCrystalItemId();
|
|
|
|
+ int count = item.getCrystalCount() - ((item.getItem().getCrystalCount() + 1) / 2);
|
|
|
|
+ if (count < 1)
|
|
|
|
+ {
|
|
|
|
+ count = 1;
|
|
|
|
+ }
|
|
|
|
|
|
- SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
|
|
|
|
- sm.addItemName(crystals);
|
|
|
|
- sm.addItemNumber(count);
|
|
|
|
- activeChar.sendPacket(sm);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (!Config.FORCE_INVENTORY_UPDATE)
|
|
|
|
- {
|
|
|
|
- InventoryUpdate iu = new InventoryUpdate();
|
|
|
|
- if (destroyItem.getCount() == 0)
|
|
|
|
|
|
+ L2ItemInstance destroyItem = activeChar.getInventory().destroyItem("Enchant", item, activeChar, null);
|
|
|
|
+ if (destroyItem == null)
|
|
{
|
|
{
|
|
- iu.addRemovedItem(destroyItem);
|
|
|
|
|
|
+ // unable to destroy item, cheater ?
|
|
|
|
+ Util.handleIllegalPlayerAction(activeChar, "Unable to delete item on enchant failure from player " + activeChar.getName() + ", possible cheater !", Config.DEFAULT_PUNISH);
|
|
|
|
+ activeChar.setActiveEnchantItemId(L2PcInstance.ID_NONE);
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(2, 0, 0));
|
|
|
|
+
|
|
|
|
+ if (Config.LOG_ITEM_ENCHANTS)
|
|
|
|
+ {
|
|
|
|
+ LogRecord record = new LogRecord(Level.INFO, "Unable to destroy");
|
|
|
|
+ record.setParameters(new Object[]
|
|
|
|
+ {
|
|
|
|
+ activeChar,
|
|
|
|
+ item,
|
|
|
|
+ scroll,
|
|
|
|
+ support,
|
|
|
|
+ });
|
|
|
|
+ record.setLoggerName("item");
|
|
|
|
+ _logEnchant.log(record);
|
|
|
|
+ }
|
|
|
|
+ return;
|
|
}
|
|
}
|
|
- else
|
|
|
|
|
|
+
|
|
|
|
+ L2ItemInstance crystals = null;
|
|
|
|
+ if (crystalId != 0)
|
|
{
|
|
{
|
|
- iu.addModifiedItem(destroyItem);
|
|
|
|
|
|
+ crystals = activeChar.getInventory().addItem("Enchant", crystalId, count, activeChar, destroyItem);
|
|
|
|
+
|
|
|
|
+ SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.EARNED_S2_S1_S);
|
|
|
|
+ sm.addItemName(crystals);
|
|
|
|
+ sm.addItemNumber(count);
|
|
|
|
+ activeChar.sendPacket(sm);
|
|
}
|
|
}
|
|
|
|
|
|
- if (crystals != null)
|
|
|
|
|
|
+ if (!Config.FORCE_INVENTORY_UPDATE)
|
|
|
|
+ {
|
|
|
|
+ InventoryUpdate iu = new InventoryUpdate();
|
|
|
|
+ if (destroyItem.getCount() == 0)
|
|
|
|
+ {
|
|
|
|
+ iu.addRemovedItem(destroyItem);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ iu.addModifiedItem(destroyItem);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (crystals != null)
|
|
|
|
+ {
|
|
|
|
+ iu.addItem(crystals);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (scroll.getCount() == 0)
|
|
|
|
+ {
|
|
|
|
+ iu.addRemovedItem(scroll);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ iu.addModifiedItem(scroll);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ activeChar.sendPacket(iu);
|
|
|
|
+ }
|
|
|
|
+ else
|
|
{
|
|
{
|
|
- iu.addItem(crystals);
|
|
|
|
|
|
+ activeChar.sendPacket(new ItemList(activeChar, true));
|
|
}
|
|
}
|
|
|
|
|
|
- if (scroll.getCount() == 0)
|
|
|
|
|
|
+ L2World world = L2World.getInstance();
|
|
|
|
+ world.removeObject(destroyItem);
|
|
|
|
+ if (crystalId == 0)
|
|
{
|
|
{
|
|
- iu.addRemovedItem(scroll);
|
|
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(4, 0, 0));
|
|
}
|
|
}
|
|
else
|
|
else
|
|
{
|
|
{
|
|
- iu.addModifiedItem(scroll);
|
|
|
|
|
|
+ activeChar.sendPacket(new EnchantResult(1, crystalId, count));
|
|
}
|
|
}
|
|
|
|
|
|
- activeChar.sendPacket(iu);
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- activeChar.sendPacket(new ItemList(activeChar, true));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- L2World world = L2World.getInstance();
|
|
|
|
- world.removeObject(destroyItem);
|
|
|
|
- if (crystalId == 0)
|
|
|
|
- {
|
|
|
|
- activeChar.sendPacket(new EnchantResult(4, 0, 0));
|
|
|
|
- }
|
|
|
|
- else
|
|
|
|
- {
|
|
|
|
- activeChar.sendPacket(new EnchantResult(1, crystalId, count));
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (Config.LOG_ITEM_ENCHANTS)
|
|
|
|
- {
|
|
|
|
- LogRecord record = new LogRecord(Level.INFO, "Fail");
|
|
|
|
- record.setParameters(new Object[]
|
|
|
|
|
|
+ if (Config.LOG_ITEM_ENCHANTS)
|
|
{
|
|
{
|
|
- activeChar,
|
|
|
|
- item,
|
|
|
|
- scroll,
|
|
|
|
- support,
|
|
|
|
- chance
|
|
|
|
- });
|
|
|
|
- record.setLoggerName("item");
|
|
|
|
- _logEnchant.log(record);
|
|
|
|
|
|
+ LogRecord record = new LogRecord(Level.INFO, "Fail");
|
|
|
|
+ record.setParameters(new Object[]
|
|
|
|
+ {
|
|
|
|
+ activeChar,
|
|
|
|
+ item,
|
|
|
|
+ scroll,
|
|
|
|
+ support,
|
|
|
|
+ });
|
|
|
|
+ record.setLoggerName("item");
|
|
|
|
+ _logEnchant.log(record);
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ break;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- StatusUpdate su = new StatusUpdate(activeChar);
|
|
|
|
|
|
+ final StatusUpdate su = new StatusUpdate(activeChar);
|
|
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
|
su.addAttribute(StatusUpdate.CUR_LOAD, activeChar.getCurrentLoad());
|
|
activeChar.sendPacket(su);
|
|
activeChar.sendPacket(su);
|
|
|
|
|
|
- InventoryUpdate iu = new InventoryUpdate();
|
|
|
|
|
|
+ final InventoryUpdate iu = new InventoryUpdate();
|
|
if (scroll.getCount() == 0)
|
|
if (scroll.getCount() == 0)
|
|
{
|
|
{
|
|
iu.addRemovedItem(scroll);
|
|
iu.addRemovedItem(scroll);
|