Переглянути джерело

BETA: Moving lambda variable inside `Func` abstraction class instead of declaring it for each func that extends it.
* Also adding getFunctions method on `Calculator` class
* Also fixing wrong structure/usage of `OnEventTrigger` packet
* Reported by: Nos

Rumen Nikiforov 11 роки тому
батько
коміт
b99eddd96a
30 змінених файлів з 46 додано та 70 видалено
  1. 5 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/Func.java
  2. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncAdd.java
  3. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncBaseMul.java
  4. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncDiv.java
  5. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncEnchant.java
  6. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncEnchantHp.java
  7. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncMul.java
  8. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncSet.java
  9. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncShare.java
  10. 1 4
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncSub.java
  11. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncArmorSet.java
  12. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkAccuracy.java
  13. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkCritical.java
  14. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkEvasion.java
  15. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncGatesMDefMod.java
  16. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncGatesPDefMod.java
  17. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncHenna.java
  18. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkCritical.java
  19. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkMod.java
  20. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkSpeed.java
  21. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMDefMod.java
  22. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxCpMul.java
  23. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxHpMul.java
  24. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxMpMul.java
  25. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMoveSpeed.java
  26. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPAtkMod.java
  27. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPAtkSpeed.java
  28. 1 1
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPDefMod.java
  29. 9 0
      L2J_Server_BETA/java/com/l2jserver/gameserver/model/stats/Calculator.java
  30. 5 21
      L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/OnEventTrigger.java

+ 5 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/Func.java

@@ -58,17 +58,21 @@ public abstract class Func
 	 */
 	public Condition cond;
 	
+	public Lambda _lambda;
+	
 	/**
 	 * Constructor of Func.
 	 * @param pStat
 	 * @param pOrder
 	 * @param owner
+	 * @param lambda
 	 */
-	public Func(Stats pStat, int pOrder, Object owner)
+	public Func(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
 		stat = pStat;
 		order = pOrder;
 		funcOwner = owner;
+		_lambda = lambda;
 	}
 	
 	/**

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncAdd.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncAdd extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncAdd(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncBaseMul.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncBaseMul extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncBaseMul(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncDiv.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncDiv extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncDiv(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncEnchant.java

@@ -30,7 +30,7 @@ public class FuncEnchant extends Func
 {
 	public FuncEnchant(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncEnchantHp.java

@@ -30,7 +30,7 @@ public class FuncEnchantHp extends Func
 {
 	public FuncEnchantHp(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncMul.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncMul extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncMul(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncSet.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncSet extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncSet(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncShare.java

@@ -29,12 +29,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
  */
 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;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/FuncSub.java

@@ -23,12 +23,9 @@ import com.l2jserver.gameserver.model.stats.Stats;
 
 public class FuncSub extends Func
 {
-	private final Lambda _lambda;
-	
 	public FuncSub(Stats pStat, int pOrder, Object owner, Lambda lambda)
 	{
-		super(pStat, pOrder, owner);
-		_lambda = lambda;
+		super(pStat, pOrder, owner, lambda);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncArmorSet.java

@@ -47,7 +47,7 @@ public class FuncArmorSet extends Func
 	
 	private FuncArmorSet(Stats stat)
 	{
-		super(stat, 0x10, null);
+		super(stat, 0x10, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkAccuracy.java

@@ -36,7 +36,7 @@ public class FuncAtkAccuracy extends Func
 	
 	private FuncAtkAccuracy()
 	{
-		super(Stats.ACCURACY_COMBAT, 0x10, null);
+		super(Stats.ACCURACY_COMBAT, 0x10, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkCritical.java

@@ -37,7 +37,7 @@ public class FuncAtkCritical extends Func
 	
 	private FuncAtkCritical()
 	{
-		super(Stats.CRITICAL_RATE, 0x09, null);
+		super(Stats.CRITICAL_RATE, 0x09, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncAtkEvasion.java

@@ -36,7 +36,7 @@ public class FuncAtkEvasion extends Func
 	
 	private FuncAtkEvasion()
 	{
-		super(Stats.EVASION_RATE, 0x10, null);
+		super(Stats.EVASION_RATE, 0x10, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncGatesMDefMod.java

@@ -38,7 +38,7 @@ public class FuncGatesMDefMod extends Func
 	
 	private FuncGatesMDefMod()
 	{
-		super(Stats.MAGIC_DEFENCE, 0x20, null);
+		super(Stats.MAGIC_DEFENCE, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncGatesPDefMod.java

@@ -38,7 +38,7 @@ public class FuncGatesPDefMod extends Func
 	
 	private FuncGatesPDefMod()
 	{
-		super(Stats.POWER_DEFENCE, 0x20, null);
+		super(Stats.POWER_DEFENCE, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncHenna.java

@@ -44,7 +44,7 @@ public class FuncHenna extends Func
 	
 	private FuncHenna(Stats stat)
 	{
-		super(stat, 0x10, null);
+		super(stat, 0x10, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkCritical.java

@@ -38,7 +38,7 @@ public class FuncMAtkCritical extends Func
 	
 	private FuncMAtkCritical()
 	{
-		super(Stats.MCRITICAL_RATE, 0x09, null);
+		super(Stats.MCRITICAL_RATE, 0x09, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkMod.java

@@ -37,7 +37,7 @@ public class FuncMAtkMod extends Func
 	
 	private FuncMAtkMod()
 	{
-		super(Stats.MAGIC_ATTACK, 0x20, null);
+		super(Stats.MAGIC_ATTACK, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMAtkSpeed.java

@@ -37,7 +37,7 @@ public class FuncMAtkSpeed extends Func
 	
 	private FuncMAtkSpeed()
 	{
-		super(Stats.MAGIC_ATTACK_SPEED, 0x20, null);
+		super(Stats.MAGIC_ATTACK_SPEED, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMDefMod.java

@@ -39,7 +39,7 @@ public class FuncMDefMod extends Func
 	
 	private FuncMDefMod()
 	{
-		super(Stats.MAGIC_DEFENCE, 0x20, null);
+		super(Stats.MAGIC_DEFENCE, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxCpMul.java

@@ -37,7 +37,7 @@ public class FuncMaxCpMul extends Func
 	
 	private FuncMaxCpMul()
 	{
-		super(Stats.MAX_CP, 0x20, null);
+		super(Stats.MAX_CP, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxHpMul.java

@@ -37,7 +37,7 @@ public class FuncMaxHpMul extends Func
 	
 	private FuncMaxHpMul()
 	{
-		super(Stats.MAX_HP, 0x20, null);
+		super(Stats.MAX_HP, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMaxMpMul.java

@@ -37,7 +37,7 @@ public class FuncMaxMpMul extends Func
 	
 	private FuncMaxMpMul()
 	{
-		super(Stats.MAX_MP, 0x20, null);
+		super(Stats.MAX_MP, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncMoveSpeed.java

@@ -37,7 +37,7 @@ public class FuncMoveSpeed extends Func
 	
 	private FuncMoveSpeed()
 	{
-		super(Stats.MOVE_SPEED, 0x30, null);
+		super(Stats.MOVE_SPEED, 0x30, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPAtkMod.java

@@ -37,7 +37,7 @@ public class FuncPAtkMod extends Func
 	
 	private FuncPAtkMod()
 	{
-		super(Stats.POWER_ATTACK, 0x30, null);
+		super(Stats.POWER_ATTACK, 0x30, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPAtkSpeed.java

@@ -37,7 +37,7 @@ public class FuncPAtkSpeed extends Func
 	
 	private FuncPAtkSpeed()
 	{
-		super(Stats.POWER_ATTACK_SPEED, 0x20, null);
+		super(Stats.POWER_ATTACK_SPEED, 0x20, null, null);
 	}
 	
 	@Override

+ 1 - 1
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/funcs/formulas/FuncPDefMod.java

@@ -39,7 +39,7 @@ public class FuncPDefMod extends Func
 	
 	private FuncPDefMod()
 	{
-		super(Stats.POWER_DEFENCE, 0x20, null);
+		super(Stats.POWER_DEFENCE, 0x20, null, null);
 	}
 	
 	@Override

+ 9 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/stats/Calculator.java

@@ -207,4 +207,13 @@ public final class Calculator
 			func.calc(env);
 		}
 	}
+	
+	/**
+	 * Get array of all function, dont use for add/remove
+	 * @return
+	 */
+	public Func[] getFunctions()
+	{
+		return _functions;
+	}
 }

+ 5 - 21
L2J_Server_BETA/java/com/l2jserver/gameserver/network/serverpackets/OnEventTrigger.java

@@ -19,35 +19,19 @@
 package com.l2jserver.gameserver.network.serverpackets;
 
 import com.l2jserver.gameserver.model.actor.instance.L2DoorInstance;
-import com.l2jserver.gameserver.util.Util;
 
 /**
- * @author Gnacik
+ * @author Gnacik, UnAfraid
  */
 public class OnEventTrigger extends L2GameServerPacket
 {
 	private final int _emitterId;
-	private final boolean _opened;
+	private final int _enabled;
 	
-	private static final int[] REVERSE_DOORS =
-	{
-		16200023,
-		16200024,
-		16200025
-	};
-	
-	public OnEventTrigger(L2DoorInstance door, boolean opened)
+	public OnEventTrigger(L2DoorInstance door, boolean enabled)
 	{
 		_emitterId = door.getEmitter();
-		// XXX: Check this out!
-		if (Util.contains(REVERSE_DOORS, door.getId()))
-		{
-			_opened = !opened;
-		}
-		else
-		{
-			_opened = opened;
-		}
+		_enabled = enabled ? 1 : 0;
 	}
 	
 	@Override
@@ -55,6 +39,6 @@ public class OnEventTrigger extends L2GameServerPacket
 	{
 		writeC(0xCF);
 		writeD(_emitterId);
-		writeD(_opened ? 0 : 1);
+		writeC(_enabled);
 	}
 }