Zaken.java 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. package transformations;
  2. import com.l2jserver.gameserver.datatables.SkillTable;
  3. import com.l2jserver.gameserver.instancemanager.TransformationManager;
  4. import com.l2jserver.gameserver.model.L2Transformation;
  5. public class Zaken extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {715,716,717,718,719,5491,619};
  8. public Zaken()
  9. {
  10. // id, colRadius, colHeight
  11. super(305, 16, 32);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 305 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. // Zaken Energy Drain (up to 4 levels)
  23. getPlayer().addSkill(SkillTable.getInstance().getInfo(715, 4), false);
  24. // Zaken Hold (up to 4 levels)
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(716, 4), false);
  26. // Zaken Concentrated Attack (up to 4 levels)
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(717, 4), false);
  28. // Zaken Dancing Sword (up to 4 levels)
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(718, 4), false);
  30. // Zaken Vampiric Rage
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(719, 1), false);
  32. // Decrease Bow/Crossbow Attack Speed
  33. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  34. // Transform Dispel
  35. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  36. getPlayer().setTransformAllowedSkills(SKILLS);
  37. }
  38. @Override
  39. public void onUntransform()
  40. {
  41. removeSkills();
  42. }
  43. public void removeSkills()
  44. {
  45. // Zaken Energy Drain (up to 4 levels)
  46. getPlayer().removeSkill(SkillTable.getInstance().getInfo(715, 4), false);
  47. // Zaken Hold (up to 4 levels)
  48. getPlayer().removeSkill(SkillTable.getInstance().getInfo(716, 4), false);
  49. // Zaken Concentrated Attack (up to 4 levels)
  50. getPlayer().removeSkill(SkillTable.getInstance().getInfo(717, 4), false);
  51. // Zaken Dancing Sword (up to 4 levels)
  52. getPlayer().removeSkill(SkillTable.getInstance().getInfo(718, 4), false);
  53. // Zaken Vampiric Rage
  54. getPlayer().removeSkill(SkillTable.getInstance().getInfo(719, 1), false, false);
  55. // Decrease Bow/Crossbow Attack Speed
  56. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  57. // Transform Dispel
  58. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  59. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  60. }
  61. public static void main(String[] args)
  62. {
  63. TransformationManager.getInstance().registerTransformation(new Zaken());
  64. }
  65. }