InfernoDrakeNormal.java 2.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  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 InfernoDrakeNormal extends L2Transformation
  6. {
  7. private static final int[] SKILLS = {619,5491,576,577,578,579};
  8. public InfernoDrakeNormal()
  9. {
  10. // id, colRadius, colHeight
  11. super(214, 15, 24);
  12. }
  13. @Override
  14. public void onTransform()
  15. {
  16. if (getPlayer().getTransformationId() != 214 || getPlayer().isCursedWeaponEquipped())
  17. return;
  18. transformedSkills();
  19. }
  20. public void transformedSkills()
  21. {
  22. // Paw Strike (up to 4 levels)
  23. getPlayer().addSkill(SkillTable.getInstance().getInfo(576, 3), false);
  24. // Fire Breath (up to 4 levels)
  25. getPlayer().addSkill(SkillTable.getInstance().getInfo(577, 3), false);
  26. // Blaze Quake (up to 4 levels)
  27. getPlayer().addSkill(SkillTable.getInstance().getInfo(578, 3), false);
  28. // Fire Armor (up to 4 levels)
  29. getPlayer().addSkill(SkillTable.getInstance().getInfo(579, 3), false);
  30. // Decrease Bow/Crossbow Attack Speed
  31. getPlayer().addSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  32. // Transform Dispel
  33. getPlayer().addSkill(SkillTable.getInstance().getInfo(619, 1), false);
  34. getPlayer().setTransformAllowedSkills(SKILLS);
  35. }
  36. @Override
  37. public void onUntransform()
  38. {
  39. removeSkills();
  40. }
  41. public void removeSkills()
  42. {
  43. // Paw Strike (up to 4 levels)
  44. getPlayer().removeSkill(SkillTable.getInstance().getInfo(576, 3), false);
  45. // Fire Breath (up to 4 levels)
  46. getPlayer().removeSkill(SkillTable.getInstance().getInfo(577, 3), false);
  47. // Blaze Quake (up to 4 levels)
  48. getPlayer().removeSkill(SkillTable.getInstance().getInfo(578, 3), false);
  49. // Fire Armor (up to 4 levels)
  50. getPlayer().removeSkill(SkillTable.getInstance().getInfo(579, 3), false, false);
  51. // Decrease Bow/Crossbow Attack Speed
  52. getPlayer().removeSkill(SkillTable.getInstance().getInfo(5491, 1), false);
  53. // Transform Dispel
  54. getPlayer().removeSkill(SkillTable.getInstance().getInfo(619, 1), false);
  55. getPlayer().setTransformAllowedSkills(EMPTY_ARRAY);
  56. }
  57. public static void main(String[] args)
  58. {
  59. TransformationManager.getInstance().registerTransformation(new InfernoDrakeNormal());
  60. }
  61. }