CubicMastery.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package handlers.effecthandlers;
  2. import com.l2jserver.gameserver.model.StatsSet;
  3. import com.l2jserver.gameserver.model.conditions.Condition;
  4. import com.l2jserver.gameserver.model.effects.AbstractEffect;
  5. import com.l2jserver.gameserver.model.skills.BuffInfo;
  6. /**
  7. * Cubic Mastery effect implementation.
  8. * @author Zoey76
  9. */
  10. public final class CubicMastery extends AbstractEffect
  11. {
  12. private final int _cubicCount;
  13. public CubicMastery(Condition attachCond, Condition applyCond, StatsSet set, StatsSet params)
  14. {
  15. super(attachCond, applyCond, set, params);
  16. _cubicCount = params.getInt("cubicCount", 1);
  17. }
  18. @Override
  19. public boolean canStart(BuffInfo info)
  20. {
  21. return (info.getEffector() != null) && (info.getEffected() != null) && info.getEffected().isPlayer();
  22. }
  23. @Override
  24. public void onStart(BuffInfo info)
  25. {
  26. info.getEffected().getActingPlayer().getStat().setMaxCubicCount(_cubicCount);
  27. }
  28. @Override
  29. public boolean onActionTime(BuffInfo info)
  30. {
  31. return info.getSkill().isPassive();
  32. }
  33. @Override
  34. public void onExit(BuffInfo info)
  35. {
  36. info.getEffected().getActingPlayer().getStat().setMaxCubicCount(1);
  37. }
  38. }