ValeMaster.java 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121
  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 ValeMaster extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {742,743,744,745,5491,619};
  8. public ValeMaster()
  9. {
  10. // id, colRadius, colHeight
  11. super(4, 12, 40);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 4 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. if (getPlayer().getLevel() >= 76)
  23. {
  24. // Vale Master Bursting Flame (up to 3 levels)
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 3), false);
  26. // Vale Master Dark Explosion (up to 3 levels)
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 3), false);
  28. // Vale Master Dark Flare (up to 3 levels)
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 3), false);
  30. // Vale Master Dark Cure (up to 3 levels)
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 3), false);
  32. }
  33. else if (getPlayer().getLevel() >= 73)
  34. {
  35. // Vale Master Bursting Flame (up to 3 levels)
  36. getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 2), false);
  37. // Vale Master Dark Explosion (up to 3 levels)
  38. getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 2), false);
  39. // Vale Master Dark Flare (up to 3 levels)
  40. getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 2), false);
  41. // Vale Master Dark Cure (up to 3 levels)
  42. getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 2), false);
  43. }
  44. else if (getPlayer().getLevel() >= 70)
  45. {
  46. // Vale Master Bursting Flame (up to 3 levels)
  47. getPlayer().addSkill(SkillTable.getInstance().getInfo(742, 1), false);
  48. // Vale Master Dark Explosion (up to 3 levels)
  49. getPlayer().addSkill(SkillTable.getInstance().getInfo(743, 1), false);
  50. // Vale Master Dark Flare (up to 3 levels)
  51. getPlayer().addSkill(SkillTable.getInstance().getInfo(744, 1), false);
  52. // Vale Master Dark Cure (up to 3 levels)
  53. getPlayer().addSkill(SkillTable.getInstance().getInfo(745, 1), false);
  54. }
  55. // Decrease Bow/Crossbow Attack Speed
  56. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  57. // Transform Dispel
  58. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  59. getPlayer().setTransformAllowedSkills(SKILLS);
  60. }
  61. @Override
  62. public void onUntransform()
  63. {
  64. removeSkills();
  65. }
  66. public void removeSkills()
  67. {
  68. if (getPlayer().getLevel() >= 76)
  69. {
  70. // Vale Master Bursting Flame (up to 3 levels)
  71. getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 3), false);
  72. // Vale Master Dark Explosion (up to 3 levels)
  73. getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 3), false);
  74. // Vale Master Dark Flare (up to 3 levels)
  75. getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 3), false);
  76. // Vale Master Dark Cure (up to 3 levels)
  77. getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 3), false);
  78. }
  79. else if (getPlayer().getLevel() >= 73)
  80. {
  81. // Vale Master Bursting Flame (up to 3 levels)
  82. getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 2), false);
  83. // Vale Master Dark Explosion (up to 3 levels)
  84. getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 2), false);
  85. // Vale Master Dark Flare (up to 3 levels)
  86. getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 2), false);
  87. // Vale Master Dark Cure (up to 3 levels)
  88. getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 2), false);
  89. }
  90. else
  91. {
  92. // Vale Master Bursting Flame (up to 3 levels)
  93. getPlayer().removeSkill(SkillTable.getInstance().getInfo(742, 1), false);
  94. // Vale Master Dark Explosion (up to 3 levels)
  95. getPlayer().removeSkill(SkillTable.getInstance().getInfo(743, 1), false);
  96. // Vale Master Dark Flare (up to 3 levels)
  97. getPlayer().removeSkill(SkillTable.getInstance().getInfo(744, 1), false);
  98. // Vale Master Dark Cure (up to 3 levels)
  99. getPlayer().removeSkill(SkillTable.getInstance().getInfo(745, 1), false);
  100. }
  101. // Decrease Bow/Crossbow Attack Speed
  102. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  103. // Transform Dispel
  104. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  105. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  106. }
  107. public static void main(String[] args)
  108. {
  109. TransformationManager.getInstance().registerTransformation(new ValeMaster());
  110. }
  111. }