VanguardTempleKnight.java 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  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 VanguardTempleKnight extends L2Transformation
  6. {
  7. public VanguardTempleKnight()
  8. {
  9. // id
  10. super(314);
  11. }
  12. @Override
  13. public void onTransform()
  14. {
  15. if (getPlayer().getTransformationId() != 314 || getPlayer().isCursedWeaponEquipped())
  16. return;
  17. transformedSkills();
  18. }
  19. public void transformedSkills()
  20. {
  21. int lvl = 1;
  22. if (getPlayer().getLevel() > 42)
  23. lvl = (getPlayer().getLevel() - 42);
  24. // Two handed mastery
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(293, lvl), false);
  26. // Full Swing
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(814, lvl), false);
  28. // Power Divide
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(816, lvl), false);
  30. // Boost Morale
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(956, lvl), false);
  32. // Guillotine Attack
  33. getPlayer().addSkill(SkillTable.getInstance().getInfo(957, lvl), false);
  34. // Switch Stance
  35. getPlayer().addSkill(SkillTable.getInstance().getInfo(838, 1), false);
  36. // Set allowed skills
  37. getPlayer().setTransformAllowedSkills(new int[]{10,18,28,67,197,293,400,449,814,816,838,956,957});
  38. }
  39. @Override
  40. public void onUntransform()
  41. {
  42. removeSkills();
  43. }
  44. public void removeSkills()
  45. {
  46. int lvl = 1;
  47. if (getPlayer().getLevel() > 42)
  48. lvl = (getPlayer().getLevel() - 42);
  49. // Two handed mastery
  50. getPlayer().removeSkill(SkillTable.getInstance().getInfo(293, lvl), false);
  51. // Full Swing
  52. getPlayer().removeSkill(SkillTable.getInstance().getInfo(814, lvl), false);
  53. // Power Divide
  54. getPlayer().removeSkill(SkillTable.getInstance().getInfo(816, lvl), false);
  55. // Boost Morale
  56. getPlayer().removeSkill(SkillTable.getInstance().getInfo(956, lvl), false, false);
  57. // Guillotine Attack
  58. getPlayer().removeSkill(SkillTable.getInstance().getInfo(957, lvl), false);
  59. // Switch Stance
  60. getPlayer().removeSkill(SkillTable.getInstance().getInfo(838, 1), false);
  61. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  62. }
  63. public static void main(String[] args)
  64. {
  65. TransformationManager.getInstance().registerTransformation(new VanguardTempleKnight());
  66. }
  67. }