소스 검색

BETA: Core-Part for [DP10238].

Nos 11 년 전
부모
커밋
237c63a7f0

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

@@ -4288,9 +4288,7 @@ public final class L2PcInstance extends L2Playable
 			return false;
 		}
 		
-		// TODO: Should possibly be checked only in L2PcInstance's useMagic
-		// Can't use Hero and resurrect skills during Olympiad
-		if (isInOlympiadMode() && (skill.isHeroSkill() || (skill.hasEffectType(L2EffectType.RESURRECTION))))
+		if (isInOlympiadMode() && skill.isBlockedInOlympiad())
 		{
 			sendPacket(SystemMessageId.THIS_SKILL_IS_NOT_AVAILABLE_FOR_THE_OLYMPIAD_EVENT);
 			return false;

+ 12 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/Skill.java

@@ -160,6 +160,8 @@ public final class Skill implements IChanceSkillTrigger, IIdentifiable
 	private final boolean _removedOnAnyActionExceptMove;
 	private final boolean _removedOnDamage;
 	
+	private final boolean _blockedInOlympiad;
+	
 	private final byte _element;
 	private final int _elementPower;
 	
@@ -319,6 +321,8 @@ public final class Skill implements IChanceSkillTrigger, IIdentifiable
 		_removedOnAnyActionExceptMove = set.getBoolean("removedOnAnyActionExceptMove", false);
 		_removedOnDamage = set.getBoolean("removedOnDamage", false);
 		
+		_blockedInOlympiad = set.getBoolean("blockedInOlympiad", false);
+		
 		_element = set.getByte("element", (byte) -1);
 		_elementPower = set.getInt("elementPower", 0);
 		
@@ -599,6 +603,14 @@ public final class Skill implements IChanceSkillTrigger, IIdentifiable
 		return _removedOnDamage;
 	}
 	
+	/**
+	 * @return {@code true} if skill can not be used in olympiad.
+	 */
+	public boolean isBlockedInOlympiad()
+	{
+		return _blockedInOlympiad;
+	}
+	
 	/**
 	 * Return the additional effect Id.
 	 * @return