Jump to content

No item consumption


Recommended Posts

No item consumption for some stuff heres a list:

-arrows,bolts

-soulshot spiritshots(for pets too)

-char change potions(hair face etc)

-escape scrolls(for blessed no!)

-fish shots

-recovery scrolls

-res scrolls(for blessed no!)

-healing drug,mana drug,mana potion,greater healing potion,healing potion

 

from these items you need only 1!

 

credits to me.

 

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 144)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -6332,7 +6332,7 @@
         {
             synchronized(arrows)
             {
-                arrows.changeCountWithoutTrace(-1, this, null);
+                arrows.changeCountWithoutTrace(0, this, null);
                 arrows.setLastChange(L2ItemInstance.MODIFIED);

                 // could do also without saving, but let's save approx 1 of 10
@@ -6343,8 +6343,6 @@
         }
         else
         {
-            // Destroy entire item and save to database
-            _inventory.destroyItem("Consume", arrows, this, null);
             
             getInventory().unEquipItemInSlot(Inventory.PAPERDOLL_LHAND);
             if (bolts) 
Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSoulShot.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSoulShot.java	(revision 121)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSoulShot.java	(working copy)
@@ -22,7 +22,6 @@
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
-import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
@@ -78,7 +77,6 @@
			return;
		}

-		int itemId = 6645;
		int shotConsumption = 1;
		L2ItemInstance weaponInst = null;
		L2Weapon weaponItem = null;
@@ -126,24 +124,6 @@
			activePet.setChargedSoulShot(L2ItemInstance.CHARGED_SOULSHOT);
		}

-		// If the player doesn't have enough beast soulshot remaining, remove any auto soulshot task.
-		if (!activeOwner.destroyItemWithoutTrace("Consume", item.getObjectId(), shotConsumption, null, false))
-		{
-			if (activeOwner.getAutoSoulShot().containsKey(itemId))
-			{
-				activeOwner.removeAutoSoulShot(itemId);
-				activeOwner.sendPacket(new ExAutoSoulShot(itemId, 0));
-				
-				SystemMessage sm = new SystemMessage(SystemMessageId.AUTO_USE_OF_S1_CANCELLED);
-				sm.addString(item.getItem().getName());
-				activeOwner.sendPacket(sm);
-				return;
-			}
-			
-			activeOwner.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_SOULSHOTS));
-			return;
-		}
-		
		// Pet uses the power of spirit.
		activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT));

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/CharChangePotions.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/CharChangePotions.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/CharChangePotions.java	(working copy)
@@ -112,9 +112,6 @@
		// Update the changed stat for the character in the DB.
		activeChar.store();

-		// Remove the item from inventory.
-		activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false);
-		
		// Broadcast the changes to the char and all those nearby.
		UserInfo ui = new UserInfo(activeChar);
		activeChar.broadcastPacket(ui);
Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java	(working copy)
@@ -19,10 +19,8 @@
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
-import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
-import net.sf.l2j.gameserver.skills.Stats;
import net.sf.l2j.gameserver.templates.item.L2Item;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
import net.sf.l2j.gameserver.util.Broadcast;
@@ -84,26 +82,6 @@
			if (weaponInst.getChargedSoulshot() != L2ItemInstance.CHARGED_NONE)
				return;

-			// Consume Soul shots if player has enough of them
-			int saSSCount = (int) activeChar.getStat().calcStat(Stats.SOULSHOT_COUNT, 0, null, null);
-			int SSCount = saSSCount == 0 ? weaponItem.getSoulShotCount() : saSSCount;
-			
-			if (!activeChar.destroyItemWithoutTrace("Consume", item.getObjectId(), SSCount, null, false))
-			{
-				if (activeChar.getAutoSoulShot().containsKey(itemId))
-				{
-					activeChar.removeAutoSoulShot(itemId);
-					activeChar.sendPacket(new ExAutoSoulShot(itemId, 0));
-					
-					SystemMessage sm = new SystemMessage(SystemMessageId.AUTO_USE_OF_S1_CANCELLED);
-					sm.addString(item.getItem().getName());
-					activeChar.sendPacket(sm);
-				}
-				else
-					activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_SOULSHOTS));
-				return;
-			}
-			
			// Charge soul shot
			weaponInst.setChargedSoulshot(L2ItemInstance.CHARGED_SOULSHOT);
		}
Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java	(revision 142)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfEscape.java	(working copy)
@@ -167,8 +167,11 @@
		int itemId = item.getItemId();
		int escapeSkill = (itemId == 1538 || itemId == 5858 || itemId == 5859 || itemId == 3958 || itemId == 10130) ? 2036 : 2013;

-		if (!activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
-			return;
+		if (itemId == 1538)
+		{
+			if (!activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
+				return;
+		}

		activeChar.disableAllSkills();

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/SpiritShot.java	(working copy)
@@ -19,7 +19,6 @@
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
-import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.item.L2Item;
@@ -80,23 +79,6 @@
			return;
		}

-		// Consume Spirit shot if player has enough of them
-		if (!activeChar.destroyItemWithoutTrace("Consume", item.getObjectId(), weaponItem.getSpiritShotCount(), null, false))
-		{
-			if (activeChar.getAutoSoulShot().containsKey(itemId))
-			{
-				activeChar.removeAutoSoulShot(itemId);
-				activeChar.sendPacket(new ExAutoSoulShot(itemId, 0));
-				
-				SystemMessage sm = new SystemMessage(SystemMessageId.AUTO_USE_OF_S1_CANCELLED);
-				sm.addString(item.getItem().getName());
-				activeChar.sendPacket(sm);
-			}
-			else
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_SPIRITSHOTS));
-			return;
-		}
-		
		// Charge Spirit shot
		weaponInst.setChargedSpiritshot(L2ItemInstance.CHARGED_SPIRITSHOT);

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BlessedSpiritShot.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BlessedSpiritShot.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BlessedSpiritShot.java	(working copy)
@@ -19,7 +19,6 @@
import net.sf.l2j.gameserver.model.actor.L2Playable;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
-import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.item.L2Item;
@@ -90,23 +89,6 @@
			return;
		}

-		// Consume Blessed SpiritShot if player has enough of them
-		if (!activeChar.destroyItemWithoutTrace("Consume", item.getObjectId(), weaponItem.getSpiritShotCount(), null, false))
-		{
-			if (activeChar.getAutoSoulShot().containsKey(itemId))
-			{
-				activeChar.removeAutoSoulShot(itemId);
-				activeChar.sendPacket(new ExAutoSoulShot(itemId, 0));
-				
-				SystemMessage sm = new SystemMessage(SystemMessageId.AUTO_USE_OF_S1_CANCELLED);
-				sm.addString(item.getItem().getName());
-				activeChar.sendPacket(sm);
-			}
-			else
-				activeChar.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_SPIRITSHOTS));
-			return;
-		}
-		
		// Charge Blessed SpiritShot
		weaponInst.setChargedSpiritshot(L2ItemInstance.CHARGED_BLESSED_SPIRITSHOT);

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/FishShots.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/FishShots.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/FishShots.java	(working copy)
@@ -85,7 +85,6 @@
		}

		weaponInst.setChargedFishshot(true);
-		activeChar.destroyItemWithoutTrace("Consume", item.getObjectId(), 1, null, false);
		L2Object oldTarget = activeChar.getTarget();
		activeChar.setTarget(activeChar);

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Scrolls.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Scrolls.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Scrolls.java	(working copy)
@@ -85,8 +85,6 @@

		if (itemId >= 8594 && itemId <= 8599) //Scrolls of recovery XML: 2286
		{
-			if (!playable.destroyItem("Consume", item.getObjectId(), 1, null, false))
-				return;
			activeChar.broadcastPacket(new MagicSkillUse(playable, playable, 2286, 1, 1, 0));
			activeChar.reduceDeathPenaltyBuffLevel();
			useScroll(activeChar, 2286, itemId - 8593);
Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSpiritShot.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSpiritShot.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/BeastSpiritShot.java	(working copy)
@@ -22,7 +22,6 @@
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.actor.instance.L2PetInstance;
import net.sf.l2j.gameserver.network.SystemMessageId;
-import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot;
import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse;
import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
import net.sf.l2j.gameserver.templates.item.L2Weapon;
@@ -135,23 +134,6 @@
				activePet.setChargedSpiritShot(L2ItemInstance.CHARGED_SPIRITSHOT);
		}

-		if (!activeOwner.destroyItemWithoutTrace("Consume", item.getObjectId(), shotConsumption, null, false))
-		{
-			if (activeOwner.getAutoSoulShot().containsKey(itemId))
-			{
-				activeOwner.removeAutoSoulShot(itemId);
-				activeOwner.sendPacket(new ExAutoSoulShot(itemId, 0));
-				
-				SystemMessage sm = new SystemMessage(SystemMessageId.AUTO_USE_OF_S1_CANCELLED);
-				sm.addString(item.getItem().getName());
-				activeOwner.sendPacket(sm);
-				return;
-			}
-			
-			activeOwner.sendPacket(new SystemMessage(SystemMessageId.NOT_ENOUGH_SPIRITSHOTS));
-			return;
-		}
-		
		// Pet uses the power of spirit.
		activeOwner.sendPacket(new SystemMessage(SystemMessageId.PET_USE_THE_POWER_OF_SPIRIT));

Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfResurrection.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfResurrection.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/ScrollOfResurrection.java	(working copy)
@@ -140,8 +140,6 @@

				if (condGood)
				{
-					if (!activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
-						return;

					int skillId = 0;
					int skillLevel = 1;
@@ -153,6 +151,8 @@
							break; // Scroll of Resurrection
						case 3936:
							skillId = 2049;
+							if (!activeChar.destroyItem("Consume", item.getObjectId(), 1, null, false))
+								return;
							break; // Blessed Scroll of Resurrection
						case 3959:
							skillId = 2062;
Index: D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Potions.java
===================================================================
--- D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Potions.java	(revision 117)
+++ D:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/handler/itemhandlers/Potions.java	(working copy)
@@ -128,20 +128,20 @@
			case 725: // healing_drug, xml: 2002
				if (!isEffectReplaceable(playable, L2EffectType.HEAL_OVER_TIME, itemId))
					return;
-				res = usePotion(playable, 2002, 1);
+				usePotion(playable, 2002, 1);
				break;
			case 726: // custom mana drug, xml: 9007
				if (Config.L2JMOD_ENABLE_MANA_POTIONS_SUPPORT)
-					res = usePotion(activeChar, 9007, 1);
+					usePotion(activeChar, 9007, 1);
				break;
			case 727: // _healing_potion, xml: 2032
				if (!isEffectReplaceable(playable, L2EffectType.HEAL_OVER_TIME, itemId))
					return;
-				res = usePotion(playable, 2032, 1);
+				usePotion(playable, 2032, 1);
				break;
			case 728: // custom mana potion, xml: 9008
				if (Config.L2JMOD_ENABLE_MANA_POTIONS_SUPPORT)
-					res = usePotion(activeChar, 9008, 1);
+					usePotion(activeChar, 9008, 1);
				break;
			case 733: // Endeavor Potion, xml: 2010
				res = usePotion(playable, 2010, 1);
@@ -175,7 +175,7 @@
			case 1539: // greater_healing_potion, xml: 2037
				if (!isEffectReplaceable(playable, L2EffectType.HEAL_OVER_TIME, itemId))
					return;
-				res = usePotion(playable, 2037, 1);
+				usePotion(playable, 2037, 1);
				break;
			case 1540: // quick_healing_potion, xml: 2038
				if (!isEffectReplaceable(playable, L2EffectType.HEAL_OVER_TIME, itemId))

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 months later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.




×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock