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

Support for CpDamPercent in effect (needed for TOD skill), thanks Zoey76.

MELERIX 14 роки тому
батько
коміт
0c427cd144

+ 39 - 0
L2J_Server/java/com/l2jserver/gameserver/skills/effects/EffectCpDamPercent.java

@@ -0,0 +1,39 @@
+package com.l2jserver.gameserver.skills.effects;
+
+import com.l2jserver.gameserver.model.L2Effect;
+import com.l2jserver.gameserver.network.serverpackets.StatusUpdate;
+import com.l2jserver.gameserver.skills.Env;
+import com.l2jserver.gameserver.templates.effects.EffectTemplate;
+import com.l2jserver.gameserver.templates.skills.L2EffectType;
+
+/**
+ * @author Zoey76
+ */
+public class EffectCpDamPercent extends L2Effect
+{
+	public EffectCpDamPercent(Env env, EffectTemplate template)
+	{
+		super(env, template);
+	}
+	
+	@Override
+	public L2EffectType getEffectType()
+	{
+		return L2EffectType.CPDAMPERCENT;
+	}
+	
+	@Override
+	public boolean onActionTime()
+	{
+		if (getEffected().isDead())
+			return false;
+		
+		double cp = getEffected().getCurrentCp() * (100 - getEffectPower()) / 100;
+		getEffected().setCurrentCp(cp);
+		
+		StatusUpdate sucp = new StatusUpdate(getEffected());
+		sucp.addAttribute(StatusUpdate.CUR_CP, (int) cp);
+		getEffected().sendPacket(sucp);
+		return false;
+	}
+}

+ 1 - 0
L2J_Server/java/com/l2jserver/gameserver/templates/skills/L2EffectType.java

@@ -28,6 +28,7 @@ public enum L2EffectType
 	HEAL_OVER_TIME,
 	COMBAT_POINT_HEAL,
 	COMBAT_POINT_HEAL_OVER_TIME,
+	CPDAMPERCENT,
 	MANA_DMG_OVER_TIME,
 	MANA_HEAL_OVER_TIME,
 	MP_CONSUME_PER_LEVEL,