DivineKnight.java 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  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 DivineKnight extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {680,681,682,683,684,685,795,796,5491,619};
  8. public DivineKnight()
  9. {
  10. // id, colRadius, colHeight
  11. super(252, 16, 30);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 252 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. // Divine Knight Hate
  23. getPlayer().addSkill(SkillTable.getInstance().getInfo(680, 1), false);
  24. // Divine Knight Hate Aura
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(681, 1), false);
  26. // Divine Knight Stun Attack
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(682, 1), false);
  28. // Divine Knight Thunder Storm
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(683, 1), false);
  30. // Divine Knight Ultimate Defense
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(684, 1), false);
  32. // Sacrifice Knight
  33. getPlayer().addSkill(SkillTable.getInstance().getInfo(685, 1), false);
  34. // Divine Knight Brandish
  35. getPlayer().addSkill(SkillTable.getInstance().getInfo(795, 1), false);
  36. // Divine Knight Explosion
  37. getPlayer().addSkill(SkillTable.getInstance().getInfo(796, 1), false);
  38. // Decrease Bow/Crossbow Attack Speed
  39. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  40. // Transform Dispel
  41. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  42. getPlayer().setTransformAllowedSkills(SKILLS);
  43. }
  44. @Override
  45. public void onUntransform()
  46. {
  47. removeSkills();
  48. }
  49. public void removeSkills()
  50. {
  51. // Divine Knight Hate
  52. getPlayer().removeSkill(SkillTable.getInstance().getInfo(680, 1), false);
  53. // Divine Knight Hate Aura
  54. getPlayer().removeSkill(SkillTable.getInstance().getInfo(681, 1), false);
  55. // Divine Knight Stun Attack
  56. getPlayer().removeSkill(SkillTable.getInstance().getInfo(682, 1), false);
  57. // Divine Knight Thunder Storm
  58. getPlayer().removeSkill(SkillTable.getInstance().getInfo(683, 1), false);
  59. // Divine Knight Ultimate Defense
  60. getPlayer().removeSkill(SkillTable.getInstance().getInfo(684, 1), false, false);
  61. // Sacrifice Knight
  62. getPlayer().removeSkill(SkillTable.getInstance().getInfo(685, 1), false, false);
  63. // Divine Knight Brandish
  64. getPlayer().removeSkill(SkillTable.getInstance().getInfo(795, 1), false);
  65. // Divine Knight Explosion
  66. getPlayer().removeSkill(SkillTable.getInstance().getInfo(796, 1), false);
  67. // Decrease Bow/Crossbow Attack Speed
  68. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  69. // Transform Dispel
  70. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  71. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  72. }
  73. public static void main(String[] args)
  74. {
  75. TransformationManager.getInstance().registerTransformation(new DivineKnight());
  76. }
  77. }