Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Anti-Drain Mob

Iniciado por Swarlog, Jul 26, 2025, 10:57 PM

Tema anterior - Siguiente tema

Swarlog

Index: L2PcInstance.java
===================================================================
--- L2PcInstance.java	(revision 10276)
+++ L2PcInstance.java	(working copy)
@@ -392,6 +392,14 @@
 	
 	private final List<IEventListener> _eventListeners = new FastList<IEventListener>().shared();
 	
+	// TODO: Anti Drain Mob
+	final int[] drainIds =
+	{
+		0,
+		25,
+		2
+	};
+	
 	public class AIAccessor extends L2Character.AIAccessor
 	{
 		public L2PcInstance getPlayer()
@@ -423,6 +431,26 @@
 		{
 			super.doCast(skill);
 			
+			// TODO: Anti Drain Mob
+			L2Object target = getTarget();
+			L2MonsterInstance m = null;
+			if (target instanceof L2MonsterInstance)
+			{
+				m = (L2MonsterInstance) target;
+			}
+			
+			if ((m != null) && (getPvpFlag() > 0))
+			{
+				for (int drainId : drainIds)
+				{
+					if (skill.getId() == drainId)
+					{
+						sendMessage("You can't drain hp from mobs");
+						return;
+					}
+				}
+			}
+			
 			// cancel the recent fake-death protection instantly if the player attacks or casts spells
 			getPlayer().setRecentFakeDeath(false);
 		}