GODLike™ Posted February 10, 2015 Posted February 10, 2015 (edited) Edited: Becouse of Prexix.Here is one more useful code: Faction engine:http://www.mediafire...tion_Engine.rar Faction guards:http://www.mediafire...ctionGuards.zip 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 February 10, 2015 by GODLike™
'Baggos' Posted February 10, 2015 Posted February 10, 2015 This is a check? or a info? + //if (target instanceof L2Summon) + // return ((L2Summon)target).getKarma() > 0;
GODLike™ Posted February 10, 2015 Author Posted February 10, 2015 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.
'Baggos' Posted February 10, 2015 Posted February 10, 2015 (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 February 10, 2015 by 'Baggos'
GODLike™ Posted February 10, 2015 Author Posted February 10, 2015 There is no reason for error in this line, just i say.. Nice work.. Yeah, i know. Thank you :)
Recommended Posts