Browse Source

Fix for PVP flag when using skills. Thanks nbd

Sami 18 years ago
parent
commit
b7daa8e256

+ 1 - 1
L2_GameServer_It/java/net/sf/l2j/gameserver/model/L2Character.java

@@ -5065,7 +5065,7 @@ public abstract class L2Character extends L2Object
 					{
 						if (skill.isOffensive())
 						{
-							if ((player instanceof L2PcInstance || player instanceof L2Summon) && activeChar.checkIfPvP(player))
+							if (player instanceof L2PcInstance || player instanceof L2Summon)
                             {
                                 player.getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, activeChar);
                                 activeChar.updatePvPStatus(player);

+ 9 - 1
L2_GameServer_It/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java

@@ -4164,7 +4164,8 @@ public final class L2PcInstance extends L2PlayableInstance
 		if (target instanceof L2PcInstance)
 		{
 			if ((isInDuel() && ((L2PcInstance)target).getDuelId() == getDuelId())) return;
-			if (!ZoneManager.getInstance().checkIfInZonePvP(this) || !ZoneManager.getInstance().checkIfInZonePvP(target)) {
+			if ((!ZoneManager.getInstance().checkIfInZonePvP(this) || !ZoneManager.getInstance().checkIfInZonePvP(target)) && ((L2PcInstance)target).getKarma() == 0)
+			{
 				if (checkIfPvP(target))
 					setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_PVP_TIME);
 				else
@@ -4173,6 +4174,13 @@ public final class L2PcInstance extends L2PlayableInstance
 					startPvPFlag();
 			}
 		}
+		else // buffing a mob
+		{
+			setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
+			
+			if (getPvpFlag() == 0)
+				startPvPFlag();
+		}
 	}
 	
 	/**