浏览代码

BETA: Un-implementing abstraction over L2Skill, its not needed anymore.
* Reviewed by: Nos, Adry_85

Rumen Nikiforov 11 年之前
父节点
当前提交
912a4fbe35

+ 28 - 20
L2J_Server_BETA/java/com/l2jserver/gameserver/engines/skills/DocumentSkill.java

@@ -34,7 +34,6 @@ import com.l2jserver.gameserver.model.StatsSet;
 import com.l2jserver.gameserver.model.conditions.Condition;
 import com.l2jserver.gameserver.model.skills.EffectScope;
 import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.model.skills.L2SkillType;
 
 /**
  * @author mkizub
@@ -1493,121 +1492,130 @@ public class DocumentSkill extends DocumentBase
 	{
 		int count = 0;
 		_currentSkill.currentSkills = new FastList<>(_currentSkill.sets.length + _currentSkill.enchsets1.length + _currentSkill.enchsets2.length + _currentSkill.enchsets3.length + _currentSkill.enchsets4.length + _currentSkill.enchsets5.length + _currentSkill.enchsets6.length + _currentSkill.enchsets7.length + _currentSkill.enchsets8.length);
-		
+		StatsSet set;
 		for (int i = 0; i < _currentSkill.sets.length; i++)
 		{
+			set = _currentSkill.sets[i];
 			try
 			{
-				_currentSkill.currentSkills.add(i, _currentSkill.sets[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.sets[i]));
+				_currentSkill.currentSkills.add(i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.sets[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.sets[i]).getDisplayId() + "level" + _currentSkill.sets[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.sets[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		int _count = count;
 		for (int i = 0; i < _currentSkill.enchsets1.length; i++)
 		{
+			set = _currentSkill.enchsets1[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets1[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets1[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets1[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets1[i]).getDisplayId() + " level=" + _currentSkill.enchsets1[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets1[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets2.length; i++)
 		{
+			set = _currentSkill.enchsets2[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets2[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets2[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets2[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets2[i]).getDisplayId() + " level=" + _currentSkill.enchsets2[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets2[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets3.length; i++)
 		{
+			set = _currentSkill.enchsets3[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets3[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets3[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets3[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets3[i]).getDisplayId() + " level=" + _currentSkill.enchsets3[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets3[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets4.length; i++)
 		{
+			set = _currentSkill.enchsets4[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets4[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets4[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets4[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets4[i]).getDisplayId() + " level=" + _currentSkill.enchsets4[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets4[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets5.length; i++)
 		{
+			set = _currentSkill.enchsets5[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets5[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets5[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets5[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets5[i]).getDisplayId() + " level=" + _currentSkill.enchsets5[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets5[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets6.length; i++)
 		{
+			set = _currentSkill.enchsets6[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets6[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets6[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets6[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets6[i]).getDisplayId() + " level=" + _currentSkill.enchsets6[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets6[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets7.length; i++)
 		{
+			set = _currentSkill.enchsets7[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets7[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets7[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets7[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets7[i]).getDisplayId() + " level=" + _currentSkill.enchsets7[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets7[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 		_count = count;
 		for (int i = 0; i < _currentSkill.enchsets8.length; i++)
 		{
+			set = _currentSkill.enchsets8[i];
 			try
 			{
-				_currentSkill.currentSkills.add(_count + i, _currentSkill.enchsets8[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets8[i]));
+				_currentSkill.currentSkills.add(_count + i, new L2Skill(set));
 				count++;
 			}
 			catch (Exception e)
 			{
-				_log.log(Level.SEVERE, "Skill id=" + _currentSkill.enchsets8[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets8[i]).getDisplayId() + " level=" + _currentSkill.enchsets8[i].getEnum("skillType", L2SkillType.class, L2SkillType.DUMMY).makeSkill(_currentSkill.enchsets8[i]).getLevel(), e);
+				_log.log(Level.SEVERE, "Skill id=" + set.getInt("skill_id") + "level" + set.getInt("level"), e);
 			}
 		}
 	}

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

@@ -193,10 +193,6 @@ public class ChanceSkillList extends FastMap<IChanceSkillTrigger, ChanceConditio
 			{
 				handler.useSkill(caster, triggered, targets);
 			}
-			else
-			{
-				triggered.useSkill(caster, targets);
-			}
 		}
 		catch (Exception e)
 		{

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

@@ -6174,10 +6174,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 			{
 				handler.useSkill(this, skill, targets);
 			}
-			else
-			{
-				skill.useSkill(this, targets);
-			}
 			
 			L2PcInstance player = getActingPlayer();
 			if (player != null)
@@ -6973,10 +6969,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder, IDe
 				{
 					handler.useSkill(this, skill, targets);
 				}
-				else
-				{
-					skill.useSkill(this, targets);
-				}
 			}
 		}
 		catch (Exception e)

+ 0 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/tasks/cubics/CubicHeal.java

@@ -87,10 +87,6 @@ public class CubicHeal implements Runnable
 						{
 							handler.useSkill(_cubic.getOwner(), skill, targets);
 						}
-						else
-						{
-							skill.useSkill(_cubic.getOwner(), targets);
-						}
 						
 						_cubic.getOwner().broadcastPacket(new MagicSkillUse(_cubic.getOwner(), target, skill.getId(), skill.getLevel(), 0, 0));
 					}

+ 0 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/itemcontainer/Inventory.java

@@ -388,10 +388,6 @@ public abstract class Inventory extends ItemContainer
 				{
 					handler.useSkill(player, unequipSkill, targets);
 				}
-				else
-				{
-					unequipSkill.useSkill(player, targets);
-				}
 			}
 			
 			if (update)

+ 0 - 8
L2J_Server_BETA/java/com/l2jserver/gameserver/model/items/L2Weapon.java

@@ -382,10 +382,6 @@ public final class L2Weapon extends L2Item
 		{
 			handler.useSkill(caster, onCritSkill, targets);
 		}
-		else
-		{
-			onCritSkill.useSkill(caster, targets);
-		}
 	}
 	
 	/**
@@ -451,10 +447,6 @@ public final class L2Weapon extends L2Item
 		{
 			handler.useSkill(caster, onMagicSkill, targets);
 		}
-		else
-		{
-			onMagicSkill.useSkill(caster, targets);
-		}
 		
 		// notify quests of a skill use
 		if (caster instanceof L2PcInstance)

+ 2 - 4
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/L2Skill.java

@@ -67,7 +67,7 @@ import com.l2jserver.gameserver.network.serverpackets.SystemMessage;
 import com.l2jserver.gameserver.util.Util;
 import com.l2jserver.util.Rnd;
 
-public abstract class L2Skill implements IChanceSkillTrigger, IIdentifiable
+public class L2Skill implements IChanceSkillTrigger, IIdentifiable
 {
 	protected static final Logger _log = Logger.getLogger(L2Skill.class.getName());
 	
@@ -231,7 +231,7 @@ public abstract class L2Skill implements IChanceSkillTrigger, IIdentifiable
 	private final int _channelingTickInitialDelay;
 	private final int _channelingTickInterval;
 	
-	protected L2Skill(StatsSet set)
+	public L2Skill(StatsSet set)
 	{
 		_id = set.getInt("skill_id");
 		_level = set.getInt("level");
@@ -389,8 +389,6 @@ public abstract class L2Skill implements IChanceSkillTrigger, IIdentifiable
 		_channelingTickInitialDelay = set.getInt("channelingTickInitialDelay", _channelingTickInterval / 1000) * 1000;
 	}
 	
-	public abstract void useSkill(L2Character caster, L2Object[] targets);
-	
 	public final L2SkillType getSkillType()
 	{
 		return _skillType;

+ 0 - 30
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/L2SkillType.java

@@ -18,10 +18,6 @@
  */
 package com.l2jserver.gameserver.model.skills;
 
-import java.lang.reflect.Constructor;
-
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.skills.l2skills.L2SkillDefault;
 
 /**
  * Skill type enumerated.
@@ -50,30 +46,4 @@ public enum L2SkillType
 	NORNILS_POWER,
 	// unimplemented
 	NOTDONE;
-	
-	private final Class<? extends L2Skill> _class;
-	
-	public L2Skill makeSkill(StatsSet set)
-	{
-		try
-		{
-			Constructor<? extends L2Skill> c = _class.getConstructor(StatsSet.class);
-			
-			return c.newInstance(set);
-		}
-		catch (Exception e)
-		{
-			throw new RuntimeException(e);
-		}
-	}
-	
-	private L2SkillType()
-	{
-		_class = L2SkillDefault.class;
-	}
-	
-	private L2SkillType(Class<? extends L2Skill> classType)
-	{
-		_class = classType;
-	}
 }

+ 0 - 40
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/l2skills/L2SkillDefault.java

@@ -1,40 +0,0 @@
-/*
- * Copyright (C) 2004-2014 L2J Server
- * 
- * This file is part of L2J Server.
- * 
- * L2J Server 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.
- * 
- * L2J Server 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.l2skills;
-
-import com.l2jserver.gameserver.model.L2Object;
-import com.l2jserver.gameserver.model.StatsSet;
-import com.l2jserver.gameserver.model.actor.L2Character;
-import com.l2jserver.gameserver.model.skills.L2Skill;
-import com.l2jserver.gameserver.network.serverpackets.ActionFailed;
-
-public class L2SkillDefault extends L2Skill
-{
-	public L2SkillDefault(StatsSet set)
-	{
-		super(set);
-	}
-	
-	@Override
-	public void useSkill(L2Character caster, L2Object[] targets)
-	{
-		caster.sendPacket(ActionFailed.STATIC_PACKET);
-		caster.sendMessage("Skill not implemented. Skill ID: " + getId() + " " + getSkillType());
-	}
-}