Browse Source

BETA: Support for "equip_reuse_delay".

MELERIX 13 năm trước cách đây
mục cha
commit
826ae06fe4

+ 5 - 6
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java

@@ -345,7 +345,7 @@ public abstract class Inventory extends ItemContainer
 							{
 								if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
 								{
-									int equipDelay = itemSkill.getEquipDelay();
+									int equipDelay = item.getEquipReuseDelay();
 									if (equipDelay > 0)
 									{
 										player.addTimeStamp(itemSkill, equipDelay);
@@ -446,7 +446,7 @@ public abstract class Inventory extends ItemContainer
 						{
 							if (!player.hasSkillReuse(itemSkill.getReuseHashCode()))
 							{
-								int equipDelay = itemSkill.getEquipDelay();
+								int equipDelay = item.getEquipReuseDelay();
 								if (equipDelay > 0)
 								{
 									player.addTimeStamp(itemSkill, equipDelay);
@@ -525,12 +525,11 @@ public abstract class Inventory extends ItemContainer
 								{
 									if (player.hasSkillReuse(itemSkill.getReuseHashCode()))
 									{
-										int equipDelay = itemSkill.getEquipDelay();
-										
+										int equipDelay = item.getEquipReuseDelay();
 										if (equipDelay > 0)
 										{
-											player.addTimeStamp(itemSkill, itemSkill.getEquipDelay());
-											player.disableSkill(itemSkill, itemSkill.getEquipDelay());
+											player.addTimeStamp(itemSkill, equipDelay);
+											player.disableSkill(itemSkill, equipDelay);
 										}
 									}
 									updateTimeStamp = true;

+ 10 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/items/L2Item.java

@@ -172,6 +172,7 @@ public abstract class L2Item
 	private final boolean _stackable;
 	private final int _materialType;
 	private final int _crystalType; // default to none-grade
+	private final int _equipReuseDelay;
 	private final int _duration;
 	private final int _time;
 	private final int _autoDestroyTime;
@@ -222,6 +223,7 @@ public abstract class L2Item
 		_icon = set.getString("icon", null);
 		_weight = set.getInteger("weight", 0);
 		_materialType = ItemTable._materials.get(set.getString("material", "steel")); // default is steel, yeah and what?
+		_equipReuseDelay = set.getInteger("equip_reuse_delay", 0) * 1000;
 		_duration = set.getInteger("duration", -1);
 		_time = set.getInteger("time", -1);
 		_autoDestroyTime = set.getInteger("auto_destroy_time", -1) * 1000;
@@ -332,6 +334,14 @@ public abstract class L2Item
 	 */
 	public abstract L2ItemType getItemType();
 	
+	/**
+	 * @return the _equipReuseDelay
+	 */
+	public int getEquipReuseDelay()
+	{
+		return _equipReuseDelay;
+	}
+
 	/**
 	 * Returns the duration of the item
 	 * @return int

+ 5 - 0
L2J_Server_BETA/java/com/l2jserver/gameserver/model/items/instance/L2ItemInstance.java

@@ -2180,4 +2180,9 @@ public final class L2ItemInstance extends L2Object
 	{
 		dropListeners.remove(listener);
 	}
+
+	public int getEquipReuseDelay()
+	{
+	        return _item.getEquipReuseDelay();
+	}
 }

+ 0 - 9
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/L2Skill.java

@@ -148,8 +148,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 	private final int _coolTime;
 	private final int _reuseHashCode;
 	private final int _reuseDelay;
-	// for item skills delay on equip
-	private final int _equipDelay;
 	
 	/** Target type of the skill : SELF, PARTY, CLAN, PET... */
 	private final L2TargetType _targetType;
@@ -397,8 +395,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			_reuseDelay = set.getInteger("reuseDelay", 0);
 		}
 		
-		_equipDelay = set.getInteger("equipDelay", 0);
-		
 		_skillRadius = set.getInteger("skillRadius", 0);
 		
 		_targetType = set.getEnum("target", L2TargetType.class);
@@ -964,11 +960,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 		return _reuseHashCode;
 	}
 	
-	public final int getEquipDelay()
-	{
-		return _equipDelay;
-	}
-	
 	public final int getHitTime()
 	{
 		return _hitTime;