瀏覽代碼

Removed power from all magic skills.

Adry85 7 年之前
父節點
當前提交
188b7ce226

+ 1 - 1
src/main/java/com/l2jserver/gameserver/ai/L2AttackableAI.java

@@ -1521,7 +1521,7 @@ public class L2AttackableAI extends L2CharacterAI implements Runnable
 			}
 		}
 		
-		if (sk.hasEffectType(L2EffectType.PHYSICAL_ATTACK, L2EffectType.MAGICAL_ATTACK, L2EffectType.DEATH_LINK, L2EffectType.HP_DRAIN))
+		if (sk.hasEffectType(L2EffectType.PHYSICAL_ATTACK, L2EffectType.MAGICAL_ATTACK, L2EffectType.HP_DRAIN))
 		{
 			if (!canAura(sk))
 			{

+ 1 - 1
src/main/java/com/l2jserver/gameserver/data/xml/impl/NpcData.java

@@ -552,7 +552,7 @@ public class NpcData implements IXmlReader
 										{
 											aiSkillScopes.add(AISkillScope.HEAL);
 										}
-										else if (skill.hasEffectType(L2EffectType.PHYSICAL_ATTACK, L2EffectType.MAGICAL_ATTACK, L2EffectType.DEATH_LINK, L2EffectType.HP_DRAIN))
+										else if (skill.hasEffectType(L2EffectType.PHYSICAL_ATTACK, L2EffectType.MAGICAL_ATTACK, L2EffectType.HP_DRAIN))
 										{
 											aiSkillScopes.add(AISkillScope.ATTACK);
 											aiSkillScopes.add(AISkillScope.UNIVERSAL);

+ 0 - 1
src/main/java/com/l2jserver/gameserver/model/effects/L2EffectType.java

@@ -37,7 +37,6 @@ public enum L2EffectType
 	DISPEL_BY_SLOT,
 	DMG_OVER_TIME,
 	DMG_OVER_TIME_PERCENT,
-	DEATH_LINK,
 	FAKE_DEATH,
 	FEAR,
 	FISHING,

+ 0 - 31
src/main/java/com/l2jserver/gameserver/model/skills/Skill.java

@@ -142,8 +142,6 @@ public class Skill implements IIdentifiable
 	private final int _feed;
 	// base success chance
 	private final double _power;
-	private final double _pvpPower;
-	private final double _pvePower;
 	private final int _magicLevel;
 	private final int _lvlBonusRate;
 	private final int _activateRate;
@@ -321,8 +319,6 @@ public class Skill implements IIdentifiable
 		_targetType = set.getEnum("targetType", L2TargetType.class, L2TargetType.SELF);
 		_affectScope = set.getEnum("affectScope", AffectScope.class, AffectScope.NONE);
 		_power = set.getFloat("power", 0.f);
-		_pvpPower = set.getFloat("pvpPower", (float) getPower());
-		_pvePower = set.getFloat("pvePower", (float) getPower());
 		_magicLevel = set.getInt("magicLvl", 0);
 		_lvlBonusRate = set.getInt("lvlBonusRate", 0);
 		_activateRate = set.getInt("activateRate", -1);
@@ -449,38 +445,11 @@ public class Skill implements IIdentifiable
 		return _isSuicideAttack;
 	}
 	
-	/**
-	 * Return the power of the skill.
-	 * @param activeChar
-	 * @param target
-	 * @param isPvP
-	 * @param isPvE
-	 * @return
-	 */
-	public double getPower(L2Character activeChar, L2Character target, boolean isPvP, boolean isPvE)
-	{
-		if (activeChar == null)
-		{
-			return getPower(isPvP, isPvE);
-		}
-		
-		if (hasEffectType(L2EffectType.DEATH_LINK))
-		{
-			return getPower(isPvP, isPvE) * (-((activeChar.getCurrentHp() * 2) / activeChar.getMaxHp()) + 2);
-		}
-		return getPower(isPvP, isPvE);
-	}
-	
 	public double getPower()
 	{
 		return _power;
 	}
 	
-	public double getPower(boolean isPvP, boolean isPvE)
-	{
-		return isPvE ? _pvePower : isPvP ? _pvpPower : _power;
-	}
-	
 	/**
 	 * Verify if this skill is abnormal instant.<br>
 	 * Herb buff skills yield {@code true} for this check.

+ 4 - 8
src/main/java/com/l2jserver/gameserver/model/stats/Formulas.java

@@ -663,7 +663,6 @@ public final class Formulas
 		}
 		
 		boolean isPvP = attacker.isPlayable() && target.isPlayer();
-		boolean isPvE = attacker.isPlayable() && target.isAttackable();
 		double damage = 0;
 		double proximityBonus = attacker.isBehindTarget() ? 1.2 : attacker.isInFrontOfTarget() ? 1 : 1.1; // Behind: +20% - Side: +10%
 		double ssboost = ss ? 1.458 : 1;
@@ -714,7 +713,7 @@ public final class Formulas
 		if (attacker.isDebug())
 		{
 			final StatsSet set = new StatsSet();
-			set.set("skillPower", skill.getPower(isPvP, isPvE));
+			set.set("skillPower", power);
 			set.set("ssboost", ssboost);
 			set.set("proximityBonus", proximityBonus);
 			set.set("pvpBonus", pvpBonus);
@@ -979,7 +978,7 @@ public final class Formulas
 		return damage;
 	}
 	
-	public static final double calcMagicDam(L2Character attacker, L2Character target, Skill skill, byte shld, boolean sps, boolean bss, boolean mcrit)
+	public static final double calcMagicDam(L2Character attacker, L2Character target, Skill skill, byte shld, boolean sps, boolean bss, boolean mcrit, double power)
 	{
 		double mDef = target.getMDef(attacker, skill);
 		switch (shld)
@@ -997,7 +996,6 @@ public final class Formulas
 		
 		double mAtk = attacker.getMAtk(target, skill);
 		final boolean isPvP = attacker.isPlayable() && target.isPlayable();
-		final boolean isPvE = attacker.isPlayable() && target.isAttackable();
 		
 		// PvP bonuses for defense
 		if (isPvP)
@@ -1015,7 +1013,7 @@ public final class Formulas
 		// Bonus Spirit shot
 		mAtk *= bss ? 4 : sps ? 2 : 1;
 		// MDAM Formula.
-		double damage = ((91 * Math.sqrt(mAtk)) / mDef) * skill.getPower(attacker, target, isPvP, isPvE);
+		double damage = ((91 * Math.sqrt(mAtk)) / mDef) * power;
 		
 		// Failure calculation
 		if (Config.ALT_GAME_MAGICFAILURES && !calcMagicSuccess(attacker, target, skill))
@@ -1101,11 +1099,9 @@ public final class Formulas
 		}
 		
 		int mAtk = attacker.getCubicPower();
-		final boolean isPvP = target.isPlayable();
-		final boolean isPvE = target.isAttackable();
 		
 		// Cubics MDAM Formula (similar to PDAM formula, but using 91 instead of 70, also resisted by mDef).
-		double damage = 91 * ((mAtk + skill.getPower(isPvP, isPvE)) / mDef);
+		double damage = 91 * ((mAtk + skill.getPower()) / mDef);
 		
 		// Failure calculation
 		L2PcInstance owner = attacker.getOwner();