|
@@ -51,32 +51,34 @@ public final class CpDamPercent extends AbstractEffect
|
|
@Override
|
|
@Override
|
|
public void onStart(BuffInfo info)
|
|
public void onStart(BuffInfo info)
|
|
{
|
|
{
|
|
- if (info.getEffected().isPlayer())
|
|
|
|
|
|
+ if (!info.getEffected().isPlayer())
|
|
{
|
|
{
|
|
- if (info.getEffected().isPlayer() && info.getEffected().getActingPlayer().isFakeDeath())
|
|
|
|
- {
|
|
|
|
- info.getEffected().stopFakeDeath(true);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- int damage = (int) ((info.getEffected().getCurrentCp() * getValue()) / 100);
|
|
|
|
- // Manage attack or cast break of the target (calculating rate, sending message)
|
|
|
|
- if (!info.getEffected().isRaid() && Formulas.calcAtkBreak(info.getEffected(), damage))
|
|
|
|
- {
|
|
|
|
- info.getEffected().breakAttack();
|
|
|
|
- info.getEffected().breakCast();
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- if (damage > 0)
|
|
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (info.getEffected().isPlayer() && info.getEffected().getActingPlayer().isFakeDeath())
|
|
|
|
+ {
|
|
|
|
+ info.getEffected().stopFakeDeath(true);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ int damage = (int) ((info.getEffected().getCurrentCp() * getValue()) / 100);
|
|
|
|
+ // Manage attack or cast break of the target (calculating rate, sending message)
|
|
|
|
+ if (!info.getEffected().isRaid() && Formulas.calcAtkBreak(info.getEffected(), damage))
|
|
|
|
+ {
|
|
|
|
+ info.getEffected().breakAttack();
|
|
|
|
+ info.getEffected().breakCast();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ if (damage > 0)
|
|
|
|
+ {
|
|
|
|
+ info.getEffected().setCurrentCp(info.getEffected().getCurrentCp() - damage);
|
|
|
|
+ if (info.getEffected() != info.getEffector())
|
|
{
|
|
{
|
|
- info.getEffected().setCurrentCp(info.getEffected().getCurrentCp() - damage);
|
|
|
|
- if (info.getEffected() != info.getEffector())
|
|
|
|
- {
|
|
|
|
- info.getEffector().sendDamageMessage(info.getEffected(), damage, false, false, false);
|
|
|
|
- info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, false);
|
|
|
|
- }
|
|
|
|
|
|
+ info.getEffector().sendDamageMessage(info.getEffected(), damage, false, false, false);
|
|
|
|
+ info.getEffected().notifyDamageReceived(damage, info.getEffector(), info.getSkill(), false, false);
|
|
}
|
|
}
|
|
- // Check if damage should be reflected
|
|
|
|
- Formulas.calcDamageReflected(info.getEffector(), info.getEffected(), info.getSkill(), false);
|
|
|
|
}
|
|
}
|
|
|
|
+ // Check if damage should be reflected
|
|
|
|
+ Formulas.calcDamageReflected(info.getEffector(), info.getEffected(), info.getSkill(), false);
|
|
}
|
|
}
|
|
}
|
|
}
|