Browse Source

BETA: Skill related improvements and fixes.

	* Removed useless SkillType.
	* Removed isStaticHeal boolean, now using isStatic() check.

	Reviewed by: MELERIX, UnAfraid, Zoey76
Adry_85 12 năm trước cách đây
mục cha
commit
bf93d12780

+ 0 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

@@ -1424,9 +1424,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 				break;
 				break;
 			}
 			}
 			case HEAL:
 			case HEAL:
-			case HOT:
 			case HEAL_PERCENT:
 			case HEAL_PERCENT:
-			case HEAL_STATIC:
 			{
 			{
 				double percentage = (caster.getCurrentHp() / caster.getMaxHp()) * 100;
 				double percentage = (caster.getCurrentHp() / caster.getMaxHp()) * 100;
 				if (caster.isMinion() && (sk.getTargetType() != L2TargetType.TARGET_SELF))
 				if (caster.isMinion() && (sk.getTargetType() != L2TargetType.TARGET_SELF))

+ 0 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/ai/L2CharacterAI.java

@@ -1291,8 +1291,6 @@ public class L2CharacterAI extends AbstractAI
 				{
 				{
 					case HEAL:
 					case HEAL:
 					case HEAL_PERCENT:
 					case HEAL_PERCENT:
-					case HEAL_STATIC:
-					case HOT:
 						healSkills.add(sk);
 						healSkills.add(sk);
 						hasHealOrResurrect = true;
 						hasHealOrResurrect = true;
 						continue; // won't be considered something for fighting
 						continue; // won't be considered something for fighting

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

@@ -1686,7 +1686,6 @@ public abstract class L2Character extends L2Object implements ISkillsHolder
 					case BUFF:
 					case BUFF:
 					case HEAL:
 					case HEAL:
 					case COMBATPOINTHEAL:
 					case COMBATPOINTHEAL:
-					case MANAHEAL:
 						doit = true;
 						doit = true;
 						break;
 						break;
 				}
 				}

+ 1 - 3
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2BabyPetInstance.java

@@ -118,9 +118,7 @@ public final class L2BabyPetInstance extends L2PetInstance
 						}
 						}
 						_buffs.add(new SkillHolder(skill));
 						_buffs.add(new SkillHolder(skill));
 						break;
 						break;
-					case MANAHEAL:
-					case MANARECHARGE:
-					case MANA_BY_LEVEL:
+					case MANAHEAL_BY_LEVEL:
 						_recharge = new SkillHolder(skill);
 						_recharge = new SkillHolder(skill);
 						break;
 						break;
 				}
 				}

+ 0 - 14
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java

@@ -9727,20 +9727,6 @@ public final class L2PcInstance extends L2Playable
 			}
 			}
 		}
 		}
 		
 		
-		// Check if the skill is Drain Soul (Soul Crystals) and if the target is a MOB
-		if (sklType == L2SkillType.DRAIN_SOUL)
-		{
-			if (!(target instanceof L2MonsterInstance))
-			{
-				// Send a System Message to the L2PcInstance
-				sendPacket(SystemMessageId.INCORRECT_TARGET);
-				
-				// Send a Server->Client packet ActionFailed to the L2PcInstance
-				sendPacket(ActionFailed.STATIC_PACKET);
-				return false;
-			}
-		}
-		
 		// Check if this is a Pvp skill and target isn't a non-flagged/non-karma player
 		// Check if this is a Pvp skill and target isn't a non-flagged/non-karma player
 		switch (sklTargetType)
 		switch (sklTargetType)
 		{
 		{

+ 3 - 19
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/instance/L2TamedBeastInstance.java

@@ -31,6 +31,7 @@ import com.l2jserver.gameserver.datatables.SkillTable;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.L2Object;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.L2Character;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
 import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
+import com.l2jserver.gameserver.model.effects.L2EffectType;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.items.instance.L2ItemInstance;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2Skill;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
 import com.l2jserver.gameserver.model.skills.L2SkillType;
@@ -386,26 +387,9 @@ public final class L2TamedBeastInstance extends L2FeedableBeastInstance
 			for (L2Skill skill : getTemplate().getSkills().values())
 			for (L2Skill skill : getTemplate().getSkills().values())
 			{
 			{
 				// if the skill is a buff, check if the owner has it already [ owner.getEffect(L2Skill skill) ]
 				// if the skill is a buff, check if the owner has it already [ owner.getEffect(L2Skill skill) ]
-				if (Rnd.get(5) < chance)
+				if ((Rnd.get(5) < chance) && skill.hasEffectType(L2EffectType.CPHEAL, L2EffectType.HEAL, L2EffectType.HEAL_PERCENT, L2EffectType.MANAHEAL_BY_LEVEL, L2EffectType.MANAHEAL_PERCENT))
 				{
 				{
-					switch (skill.getSkillType())
-					{
-						case COMBATPOINTHEAL:
-						case CPHOT:
-						case HEAL:
-						case HEAL_PERCENT:
-						case HEAL_STATIC:
-						case HOT:
-						case MANA_BY_LEVEL:
-						case MANAHEAL:
-						case MANAHEAL_PERCENT:
-						case MANARECHARGE:
-						case MPHOT:
-						{
-							sitCastAndFollow(skill, _owner);
-							return;
-						}
-					}
+					sitCastAndFollow(skill, _owner);
 				}
 				}
 			}
 			}
 		}
 		}

+ 0 - 2
L2J_Server_BETA/java/com/l2jserver/gameserver/model/actor/templates/L2NpcTemplate.java

@@ -431,9 +431,7 @@ public final class L2NpcTemplate extends L2CharTemplate
 						addBuffSkill(skill);
 						addBuffSkill(skill);
 						break;
 						break;
 					case HEAL:
 					case HEAL:
-					case HOT:
 					case HEAL_PERCENT:
 					case HEAL_PERCENT:
-					case HEAL_STATIC:
 						addHealSkill(skill);
 						addHealSkill(skill);
 						break;
 						break;
 					case RESURRECT:
 					case RESURRECT:

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

@@ -254,7 +254,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 	private L2ExtractableSkill _extractableItems = null;
 	private L2ExtractableSkill _extractableItems = null;
 	
 	
 	private final int _maxTargets;
 	private final int _maxTargets;
-	private final boolean _isStaticHeal;
 	
 	
 	private int _npcId = 0;
 	private int _npcId = 0;
 	
 	
@@ -537,7 +536,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			_extractableItems = parseExtractableSkill(_id, _level, capsuled_items);
 			_extractableItems = parseExtractableSkill(_id, _level, capsuled_items);
 		}
 		}
 		_maxTargets = set.getInteger("maxTargets", -1);
 		_maxTargets = set.getInteger("maxTargets", -1);
-		_isStaticHeal = set.getBool("isStaticHeal", false);
 		_npcId = set.getInteger("npcId", 0);
 		_npcId = set.getInteger("npcId", 0);
 		_faceId = set.getInteger("faceId", -1);
 		_faceId = set.getInteger("faceId", -1);
 		_hairColorId = set.getInteger("hairColorId", -1);
 		_hairColorId = set.getInteger("hairColorId", -1);
@@ -1240,7 +1238,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			case CHARGEDAM:
 			case CHARGEDAM:
 			case CONFUSE_MOB_ONLY:
 			case CONFUSE_MOB_ONLY:
 			case DEATHLINK:
 			case DEATHLINK:
-			case DETECT_WEAKNESS:
 			case MANADAM:
 			case MANADAM:
 			case MDOT:
 			case MDOT:
 			case MUTE:
 			case MUTE:
@@ -1249,7 +1246,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 			case SPOIL:
 			case SPOIL:
 			case SWEEP:
 			case SWEEP:
 			case PARALYZE:
 			case PARALYZE:
-			case DRAIN_SOUL:
 			case AGGREDUCE:
 			case AGGREDUCE:
 			case CANCEL:
 			case CANCEL:
 			case AGGREMOVE:
 			case AGGREMOVE:
@@ -2164,11 +2160,6 @@ public abstract class L2Skill implements IChanceSkillTrigger
 		return _maxTargets;
 		return _maxTargets;
 	}
 	}
 	
 	
-	public boolean isStaticHeal()
-	{
-		return _isStaticHeal;
-	}
-	
 	/**
 	/**
 	 * @return the _npcId
 	 * @return the _npcId
 	 */
 	 */

+ 1 - 15
L2J_Server_BETA/java/com/l2jserver/gameserver/model/skills/L2SkillType.java

@@ -51,7 +51,6 @@ public enum L2SkillType
 	CPDAMPERCENT,
 	CPDAMPERCENT,
 	DOT,
 	DOT,
 	MDOT,
 	MDOT,
-	DRAIN_SOUL,
 	DRAIN(L2SkillDrain.class),
 	DRAIN(L2SkillDrain.class),
 	DEATHLINK,
 	DEATHLINK,
 	FATAL,
 	FATAL,
@@ -72,16 +71,10 @@ public enum L2SkillType
 	DISARM,
 	DISARM,
 	// hp, mp, cp
 	// hp, mp, cp
 	HEAL,
 	HEAL,
-	HOT,
 	HEAL_PERCENT,
 	HEAL_PERCENT,
-	HEAL_STATIC,
 	COMBATPOINTHEAL,
 	COMBATPOINTHEAL,
-	CPHOT,
-	MANAHEAL,
-	MANA_BY_LEVEL,
+	MANAHEAL_BY_LEVEL,
 	MANAHEAL_PERCENT,
 	MANAHEAL_PERCENT,
-	MANARECHARGE,
-	MPHOT,
 	CHAIN_HEAL,
 	CHAIN_HEAL,
 	// reco
 	// reco
 	GIVE_RECO,
 	GIVE_RECO,
@@ -108,7 +101,6 @@ public enum L2SkillType
 	SIEGEFLAG(L2SkillSiegeFlag.class),
 	SIEGEFLAG(L2SkillSiegeFlag.class),
 	TAKECASTLE,
 	TAKECASTLE,
 	TAKEFORT,
 	TAKEFORT,
-	WEAPON_SA,
 	DELUXE_KEY_UNLOCK,
 	DELUXE_KEY_UNLOCK,
 	SOW,
 	SOW,
 	GET_PLAYER,
 	GET_PLAYER,
@@ -124,7 +116,6 @@ public enum L2SkillType
 	// Summons
 	// Summons
 	SUMMON(L2SkillSummon.class),
 	SUMMON(L2SkillSummon.class),
 	FEED_PET,
 	FEED_PET,
-	DEATHLINK_PET,
 	STRSIEGEASSAULT,
 	STRSIEGEASSAULT,
 	ERASE,
 	ERASE,
 	BETRAY,
 	BETRAY,
@@ -132,8 +123,6 @@ public enum L2SkillType
 	SPAWN(L2SkillSpawn.class),
 	SPAWN(L2SkillSpawn.class),
 	// Cancel
 	// Cancel
 	CANCEL,
 	CANCEL,
-	CANCEL_ALL,
-	CANCEL_STATS,
 	CANCEL_DEBUFF,
 	CANCEL_DEBUFF,
 	NEGATE,
 	NEGATE,
 	
 	
@@ -144,15 +133,12 @@ public enum L2SkillType
 	
 	
 	RESURRECT,
 	RESURRECT,
 	CHARGEDAM(L2SkillChargeDmg.class),
 	CHARGEDAM(L2SkillChargeDmg.class),
-	MHOT,
-	DETECT_WEAKNESS,
 	RECALL(L2SkillTeleport.class),
 	RECALL(L2SkillTeleport.class),
 	TELEPORT(L2SkillTeleport.class),
 	TELEPORT(L2SkillTeleport.class),
 	SUMMON_FRIEND,
 	SUMMON_FRIEND,
 	SPOIL,
 	SPOIL,
 	SWEEP(L2SkillSweeper.class),
 	SWEEP(L2SkillSweeper.class),
 	FAKE_DEATH,
 	FAKE_DEATH,
-	UNDEAD_DEFENSE,
 	BEAST_FEED,
 	BEAST_FEED,
 	BEAST_RELEASE,
 	BEAST_RELEASE,
 	BEAST_RELEASE_ALL,
 	BEAST_RELEASE_ALL,

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

@@ -2393,10 +2393,6 @@ public final class Formulas
 			case BUFF:
 			case BUFF:
 			case HEAL_PERCENT:
 			case HEAL_PERCENT:
 			case MANAHEAL_PERCENT:
 			case MANAHEAL_PERCENT:
-			case HOT:
-			case CPHOT:
-			case MPHOT:
-			case UNDEAD_DEFENSE:
 			case AGGDEBUFF:
 			case AGGDEBUFF:
 			case CONT:
 			case CONT:
 				return SKILL_REFLECT_FAILED;
 				return SKILL_REFLECT_FAILED;