DemonPrince.java 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  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 DemonPrince extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {735,736,737,5491,619};
  8. public DemonPrince()
  9. {
  10. // id, colRadius, colHeight
  11. super(311, 33, 49);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 311 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. // Devil Spinning Weapon
  23. getPlayer().addSkill(SkillTable.getInstance().getInfo(735, 1), false);
  24. // Devil Seed
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(736, 1), false);
  26. // Devil Ultimate Defense
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(737, 1), false);
  28. // Decrease Bow/Crossbow Attack Speed
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  30. // Transform Dispel
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  32. getPlayer().setTransformAllowedSkills(SKILLS);
  33. }
  34. @Override
  35. public void onUntransform()
  36. {
  37. removeSkills();
  38. }
  39. public void removeSkills()
  40. {
  41. // Devil Spinning Weapon
  42. getPlayer().removeSkill(SkillTable.getInstance().getInfo(735, 1), false);
  43. // Devil Seed
  44. getPlayer().removeSkill(SkillTable.getInstance().getInfo(736, 1), false);
  45. // Devil Ultimate Defense
  46. getPlayer().removeSkill(SkillTable.getInstance().getInfo(737, 1), false, false);
  47. // Decrease Bow/Crossbow Attack Speed
  48. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  49. // Transform Dispel
  50. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  51. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  52. }
  53. public static void main(String[] args)
  54. {
  55. TransformationManager.getInstance().registerTransformation(new DemonPrince());
  56. }
  57. }