Bläddra i källkod

BETA: Minor tweaks to CategoryData:
* Overriding getId in L2PcInstance with player's class id.
* Finalizing isInCategory method.

Rumen Nikiforov 11 år sedan
förälder
incheckning
2ee6d331a7

+ 3 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -44,6 +44,7 @@ import com.l2jserver.gameserver.ai.CtrlEvent;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.ai.L2AttackableAI;
 import com.l2jserver.gameserver.ai.L2CharacterAI;
+import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.datatables.DoorTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.SkillData;
@@ -6982,9 +6983,9 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 		return getTemplate().getBaseAttackType();
 	}
 	
-	public boolean isInCategory(CategoryType type)
+	public final boolean isInCategory(CategoryType type)
 	{
-		return false;
+		return CategoryData.getInstance().isInCategory(type, getId());
 	}
 	
 	/**

+ 0 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Decoy.java

@@ -20,8 +20,6 @@ package com.l2jserver.gameserver.model.actor;
 
 import java.util.Collection;
 
-import com.l2jserver.gameserver.datatables.CategoryData;
-import com.l2jserver.gameserver.enums.CategoryType;
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
 import com.l2jserver.gameserver.model.actor.templates.L2CharTemplate;
@@ -182,10 +180,4 @@ public abstract class L2Decoy extends L2Character
 			getOwner().sendPacket(id);
 		}
 	}
-	
-	@Override
-	public boolean isInCategory(CategoryType type)
-	{
-		return CategoryData.getInstance().isInCategory(type, getId());
-	}
 }

+ 0 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Npc.java

@@ -31,12 +31,10 @@ import com.l2jserver.gameserver.SevenSigns;
 import com.l2jserver.gameserver.SevenSignsFestival;
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.cache.HtmCache;
-import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.datatables.ItemTable;
 import com.l2jserver.gameserver.datatables.NpcPersonalAIData;
 import com.l2jserver.gameserver.enums.AISkillScope;
 import com.l2jserver.gameserver.enums.AIType;
-import com.l2jserver.gameserver.enums.CategoryType;
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.enums.NpcRace;
 import com.l2jserver.gameserver.enums.PrivateStoreType;
@@ -1903,12 +1901,6 @@ public class L2Npc extends L2Character
 		return new Location((int) (getX() + (radius * Math.cos(angle))), (int) (getY() + (radius * Math.sin(angle))), getZ());
 	}
 	
-	@Override
-	public boolean isInCategory(CategoryType type)
-	{
-		return CategoryData.getInstance().isInCategory(type, getId());
-	}
-	
 	/**
 	 * Drops an item.
 	 * @param player the last attacker or main damage dealer

+ 0 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Summon.java

@@ -23,10 +23,8 @@ import com.l2jserver.gameserver.GameTimeController;
 import com.l2jserver.gameserver.ai.CtrlIntention;
 import com.l2jserver.gameserver.ai.L2CharacterAI;
 import com.l2jserver.gameserver.ai.L2SummonAI;
-import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.datatables.ExperienceTable;
 import com.l2jserver.gameserver.datatables.ItemTable;
-import com.l2jserver.gameserver.enums.CategoryType;
 import com.l2jserver.gameserver.enums.InstanceType;
 import com.l2jserver.gameserver.enums.NpcRace;
 import com.l2jserver.gameserver.enums.QuestEventType;
@@ -1241,10 +1239,4 @@ public abstract class L2Summon extends L2Playable
 	{
 		return (getOwner() != null) ? getOwner().getAllyId() : 0;
 	}
-	
-	@Override
-	public boolean isInCategory(CategoryType type)
-	{
-		return CategoryData.getInstance().isInCategory(type, getId());
-	}
 }

+ 1 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2BabyPetInstance.java

@@ -24,7 +24,6 @@ import java.util.concurrent.Future;
 
 import com.l2jserver.gameserver.ThreadPoolManager;
 import com.l2jserver.gameserver.ai.CtrlIntention;
-import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.datatables.PetDataTable;
 import com.l2jserver.gameserver.datatables.SkillData;
 import com.l2jserver.gameserver.enums.CategoryType;
@@ -270,7 +269,7 @@ public final class L2BabyPetInstance extends L2PetInstance
 				// If the owner's HP is very low, under 15% for Baby pets and under 30% for Improved Baby Pets, have 75% chances of using a strong heal.
 				// Otherwise, have 25% chances for weak heal.
 				final double hpPercent = owner.getCurrentHp() / owner.getMaxHp();
-				final boolean isImprovedBaby = CategoryData.getInstance().isInCategory(CategoryType.BABY_PET_GROUP, getId());
+				final boolean isImprovedBaby = isInCategory(CategoryType.BABY_PET_GROUP);
 				if ((isImprovedBaby && (hpPercent < 0.3)) || (!isImprovedBaby && (hpPercent < 0.15)))
 				{
 					skill = _majorHeal.getSkill();

+ 1 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -70,7 +70,6 @@ import com.l2jserver.gameserver.communitybbs.BB.Forum;
 import com.l2jserver.gameserver.communitybbs.Manager.ForumsBBSManager;
 import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager;
 import com.l2jserver.gameserver.datatables.AdminTable;
-import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.datatables.CharNameTable;
 import com.l2jserver.gameserver.datatables.CharSummonTable;
 import com.l2jserver.gameserver.datatables.CharTemplateTable;
@@ -86,7 +85,6 @@ import com.l2jserver.gameserver.datatables.PetDataTable;
 import com.l2jserver.gameserver.datatables.RecipeData;
 import com.l2jserver.gameserver.datatables.SkillData;
 import com.l2jserver.gameserver.datatables.SkillTreesData;
-import com.l2jserver.gameserver.enums.CategoryType;
 import com.l2jserver.gameserver.enums.HtmlActionScope;
 import com.l2jserver.gameserver.enums.IllegalActionPunishmentType;
 import com.l2jserver.gameserver.enums.InstanceType;
@@ -14705,16 +14703,10 @@ public final class L2PcInstance extends L2Playable
 		return _eventListeners;
 	}
 	
-	@Override
-	public boolean isInCategory(CategoryType type)
-	{
-		return CategoryData.getInstance().isInCategory(type, getClassId().getId());
-	}
-	
 	@Override
 	public int getId()
 	{
-		return 0;
+		return getClassId().getId();
 	}
 	
 	public boolean isPartyBanned()

+ 1 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/conditions/ConditionCategoryType.java

@@ -20,7 +20,6 @@ package com.l2jserver.gameserver.model.conditions;
 
 import java.util.Set;
 
-import com.l2jserver.gameserver.datatables.CategoryData;
 import com.l2jserver.gameserver.enums.CategoryType;
 import com.l2jserver.gameserver.model.stats.Env;
 
@@ -40,10 +39,9 @@ public class ConditionCategoryType extends Condition
 	@Override
 	public boolean testImpl(Env env)
 	{
-		final int id = env.getCharacter().isPlayer() ? env.getPlayer().getClassId().getId() : env.getCharacter().getId();
 		for (CategoryType type : _categoryTypes)
 		{
-			if (CategoryData.getInstance().isInCategory(type, id))
+			if (env.getCharacter().isInCategory(type))
 			{
 				return true;
 			}