Selaa lähdekoodia

New condition <player isHero="true">

_DS_ 15 vuotta sitten
vanhempi
sitoutus
599eb155b7

+ 5 - 0
L2_GameServer/java/com/l2jserver/gameserver/skills/DocumentBase.java

@@ -474,6 +474,11 @@ abstract class DocumentBase
                 boolean val = Boolean.valueOf(a.getNodeValue());
                 cond = joinAnd(cond, new ConditionPlayerState(PlayerState.OLYMPIAD, val));
             }
+            else if ("ishero".equalsIgnoreCase(a.getNodeName()))
+            {
+                boolean val = Boolean.valueOf(a.getNodeValue());
+                cond = joinAnd(cond, new ConditionPlayerIsHero(val));
+            }
             else if ("hp".equalsIgnoreCase(a.getNodeName()))
             {
                 int hp = Integer.decode(getValue(a.getNodeValue(), null));

+ 36 - 0
L2_GameServer/java/com/l2jserver/gameserver/skills/conditions/ConditionPlayerIsHero.java

@@ -0,0 +1,36 @@
+/*
+ * This program is free software: you can redistribute it and/or modify it under
+ * the terms of the GNU General Public License as published by the Free Software
+ * Foundation, either version 3 of the License, or (at your option) any later
+ * version.
+ * 
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ * 
+ * You should have received a copy of the GNU General Public License along with
+ * this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+package com.l2jserver.gameserver.skills.conditions;
+
+import com.l2jserver.gameserver.model.actor.instance.L2PcInstance;
+import com.l2jserver.gameserver.skills.Env;
+
+public class ConditionPlayerIsHero extends Condition
+{
+	private final boolean _val;
+
+	public ConditionPlayerIsHero(boolean val)
+	{
+		_val = val;
+	}
+
+	@Override
+	public boolean testImpl(Env env)
+	{
+		if (!(env.player instanceof L2PcInstance))
+			return false;
+		return (((L2PcInstance)env.player).isHero() == _val);
+	}
+}