Jump to content

Recommended Posts

Posted (edited)

Edited: Becouse of Prexix.

Here is one more useful code:

Index: C:/Eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/ai/L2AttackableAI.java
===================================================================
--- C:/Eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/ai/L2AttackableAI.java	(revision 3278)
+++ C:/Eclipse/workspace/L2_GameServer/java/net/sf/l2j/gameserver/ai/L2AttackableAI.java	(working copy)
@@ -47,6 +47,8 @@
 import net.sf.l2j.gameserver.model.actor.instance.L2MonsterInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.model.actor.instance.L2RiftInvaderInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2GoodGuardInstance;
+import net.sf.l2j.gameserver.model.actor.instance.L2EvilGuardInstance;
 import net.sf.l2j.gameserver.model.quest.Quest;
 import net.sf.l2j.gameserver.taskmanager.DecayTaskManager;
 import net.sf.l2j.gameserver.util.Util;
@@ -234,6 +236,42 @@
 			
 			return false;
 		}
+		// Check if the actor is a L2GuardInstance
+		else if (_actor instanceof L2GoodGuardInstance)
+		{
+			
+			// Check if the L2PcInstance target has karma (=PK)
+			if (target instanceof L2PcInstance && ((L2PcInstance) target).isevil())
+				// Los Check
+				return GeoData.getInstance().canSeeTarget(me, target);
+			
+			//if (target instanceof L2Summon)
+			//    return ((L2Summon)target).getKarma() > 0;
+			
+			// Check if the L2MonsterInstance target is aggressive
+			if (target instanceof L2MonsterInstance)
+				return (((L2MonsterInstance) target).isAggressive() && GeoData.getInstance().canSeeTarget(me, target));
+			
+			return false;
+		}
+		// Check if the actor is a L2GuardInstance
+		else if (_actor instanceof L2EvilGuardInstance)
+		{
+			
+			// Check if the L2PcInstance target has karma (=PK)
+			if (target instanceof L2PcInstance && ((L2PcInstance) target).isgood())
+				// Los Check
+				return GeoData.getInstance().canSeeTarget(me, target);
+			
+			//if (target instanceof L2Summon)
+			//    return ((L2Summon)target).getKarma() > 0;
+			
+			// Check if the L2MonsterInstance target is aggressive
+			if (target instanceof L2MonsterInstance)
+				return (((L2MonsterInstance) target).isAggressive() && GeoData.getInstance().canSeeTarget(me, target));
+			
+			return false;
+		}
 		else if (_actor instanceof L2FriendlyMobInstance)
 		{ // the actor is a L2FriendlyMobInstance
 		
 
Edited by GODLike™
Posted

 

This is a check? or a info?

+   //if (target instanceof L2Summon)
+   //    return ((L2Summon)target).getKarma() > 0;

It's info, but if you will get any error, try to add it...on of those methods working.

Posted (edited)

It's info, but if you will get any error, try to add it...on of those methods working.

There is no reason for error in this line, just i say..

Nice work..

Edited by 'Baggos'
  • 1 month later...
Guest
This topic is now closed to further replies.
×
×
  • Create New...