OlMahum.java 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  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 OlMahum extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {749,750,751,5491,619};
  8. public OlMahum()
  9. {
  10. // id, colRadius, colHeight
  11. super(6, 23, 61);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 6 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. if (getPlayer().getLevel() >= 76)
  23. {
  24. // Oel Mahum Stun Attack (up to 3 levels)
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 3), false);
  26. // Oel Mahum Ultimate Defense
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
  28. // Oel Mahum Arm Flourish (up to 3 levels)
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 3), false);
  30. }
  31. else if (getPlayer().getLevel() >= 73)
  32. {
  33. // Oel Mahum Stun Attack (up to 3 levels)
  34. getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 2), false);
  35. // Oel Mahum Ultimate Defense
  36. getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
  37. // Oel Mahum Arm Flourish (up to 3 levels)
  38. getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 2), false);
  39. }
  40. else if (getPlayer().getLevel() >= 70)
  41. {
  42. // Oel Mahum Stun Attack (up to 3 levels)
  43. getPlayer().addSkill(SkillTable.getInstance().getInfo(749, 1), false);
  44. // Oel Mahum Ultimate Defense
  45. getPlayer().addSkill(SkillTable.getInstance().getInfo(750, 1), false);
  46. // Oel Mahum Arm Flourish (up to 3 levels)
  47. getPlayer().addSkill(SkillTable.getInstance().getInfo(751, 1), false);
  48. }
  49. // Decrease Bow/Crossbow Attack Speed
  50. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  51. // Transform Dispel
  52. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  53. getPlayer().setTransformAllowedSkills(SKILLS);
  54. }
  55. @Override
  56. public void onUntransform()
  57. {
  58. removeSkills();
  59. }
  60. public void removeSkills()
  61. {
  62. if (getPlayer().getLevel() >= 76)
  63. {
  64. // Oel Mahum Stun Attack (up to 3 levels)
  65. getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 3), false);
  66. // Oel Mahum Arm Flourish (up to 3 levels)
  67. getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 3), false);
  68. }
  69. else if (getPlayer().getLevel() >= 73)
  70. {
  71. // Oel Mahum Stun Attack (up to 3 levels)
  72. getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 2), false);
  73. // Oel Mahum Arm Flourish (up to 3 levels)
  74. getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 2), false);
  75. }
  76. else if (getPlayer().getLevel() >= 70)
  77. {
  78. // Oel Mahum Stun Attack (up to 3 levels)
  79. getPlayer().removeSkill(SkillTable.getInstance().getInfo(749, 1), false);
  80. // Oel Mahum Arm Flourish (up to 3 levels)
  81. getPlayer().removeSkill(SkillTable.getInstance().getInfo(751, 1), false);
  82. }
  83. // Oel Mahum Ultimate Defense
  84. getPlayer().removeSkill(SkillTable.getInstance().getInfo(750, 1), false, false);
  85. // Decrease Bow/Crossbow Attack Speed
  86. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  87. // Transform Dispel
  88. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  89. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  90. }
  91. public static void main(String[] args)
  92. {
  93. TransformationManager.getInstance().registerTransformation(new OlMahum());
  94. }
  95. }