2
0
Эх сурвалжийг харах

BETA: Core-Part for [DP10121]

Nos 11 жил өмнө
parent
commit
51038d85f8

+ 12 - 7
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -6811,7 +6811,7 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 		getTriggerSkills().remove(holder.getSkillId());
 		getTriggerSkills().remove(holder.getSkillId());
 	}
 	}
 	
 	
-	public void makeTriggerCast(L2Skill skill, L2Character target)
+	public void makeTriggerCast(L2Skill skill, L2Character target, boolean ignoreTargetType)
 	{
 	{
 		try
 		try
 		{
 		{
@@ -6841,24 +6841,24 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 					disableSkill(skill, skill.getReuseDelay());
 					disableSkill(skill, skill.getReuseDelay());
 				}
 				}
 				
 				
-				final L2Object[] targets = skill.getTargetList(this, false, target);
+				// @formatter:off
+				final L2Object[] targets = !ignoreTargetType ? skill.getTargetList(this, false, target) : new L2Character[]{ target };
+				// @formatter:on
 				if (targets.length == 0)
 				if (targets.length == 0)
 				{
 				{
 					return;
 					return;
 				}
 				}
 				
 				
-				final L2Character firstTarget = (L2Character) targets[0];
-				
-				if (Config.ALT_VALIDATE_TRIGGER_SKILLS && isPlayable() && (firstTarget != null) && firstTarget.isPlayable())
+				if (Config.ALT_VALIDATE_TRIGGER_SKILLS && isPlayable() && (target != null) && target.isPlayable())
 				{
 				{
 					final L2PcInstance player = getActingPlayer();
 					final L2PcInstance player = getActingPlayer();
-					if (!player.checkPvpSkill(firstTarget, skill, isSummon()))
+					if (!player.checkPvpSkill(target, skill, isSummon()))
 					{
 					{
 						return;
 						return;
 					}
 					}
 				}
 				}
 				
 				
-				broadcastPacket(new MagicSkillUse(this, firstTarget, skill.getDisplayId(), skill.getLevel(), 0, 0));
+				broadcastPacket(new MagicSkillUse(this, target, skill.getDisplayId(), skill.getLevel(), 0, 0));
 				broadcastPacket(new MagicSkillLaunched(this, skill.getDisplayId(), skill.getLevel(), targets));
 				broadcastPacket(new MagicSkillLaunched(this, skill.getDisplayId(), skill.getLevel(), targets));
 				
 				
 				// Launch the magic skill and calculate its effects
 				// Launch the magic skill and calculate its effects
@@ -6880,6 +6880,11 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 		}
 		}
 	}
 	}
 	
 	
+	public void makeTriggerCast(L2Skill skill, L2Character target)
+	{
+		makeTriggerCast(skill, target, false);
+	}
+	
 	/**
 	/**
 	 * Dummy method overriden in {@link L2PcInstance}
 	 * Dummy method overriden in {@link L2PcInstance}
 	 * @return {@code true} if current player can revive and shows 'To Village' button upon death, {@code false} otherwise.
 	 * @return {@code true} if current player can revive and shows 'To Village' button upon death, {@code false} otherwise.