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

BETA: Core-part of [DP9274]

Rumen Nikiforov 12 жил өмнө
parent
commit
507736f4b8

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/engines/DocumentBase.java

@@ -237,6 +237,10 @@ public abstract class DocumentBase
 			{
 				attachFunc(n, template, "Set", condition);
 			}
+			else if ("share".equalsIgnoreCase(n.getNodeName()))
+			{
+				attachFunc(n, template, "Share", condition);
+			}
 			else if ("enchant".equalsIgnoreCase(n.getNodeName()))
 			{
 				attachFunc(n, template, "Enchant", condition);

+ 1 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/CharEffectList.java

@@ -68,6 +68,7 @@ public class CharEffectList
 	public static final int EFFECT_FLAG_INVUL = 0x40000;
 	public static final int EFFECT_FLAG_PARALYZED = 0x80000;
 	public static final int EFFECT_FLAG_BLOCK_RESURRECTION = 0x100000;
+	public static final int EFFECT_FLAG_SERVITOR_SHARE = 0x200000;
 	
 	private FastList<L2Effect> _buffs;
 	private FastList<L2Effect> _debuffs;

+ 4 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/L2Character.java

@@ -4334,6 +4334,10 @@ public abstract class L2Character extends L2Object
 					broadcastPacket(su);
 				}
 			}
+			if ((getPet() != null) && isAffected(CharEffectList.EFFECT_FLAG_SERVITOR_SHARE))
+			{
+				getPet().broadcastStatusUpdate();
+			}
 		}
 		else if (isNpc())
 		{

+ 41 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncShare.java

@@ -0,0 +1,41 @@
+/*
+ * 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.model.skills.funcs;
+
+import com.l2jserver.gameserver.model.stats.Env;
+import com.l2jserver.gameserver.model.stats.Stats;
+
+/**
+ * @author UnAfraid
+ */
+public class FuncShare extends Func
+{
+	private final Lambda _lambda;
+	
+	public FuncShare(Stats pStat, int pOrder, Object owner, Lambda lambda)
+	{
+		super(pStat, pOrder, owner);
+		_lambda = lambda;
+	}
+	
+	@Override
+	public void calc(Env env)
+	{
+		if ((cond == null) || cond.test(env))
+		{
+			env.addValue(env.getPlayer().calcStat(stat, 0, null, null) * _lambda.calc(env));
+		}
+	}
+}