ArcheryCommand.java 2.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. package com.gmail.nossr50.commands.skills;
  2. import com.gmail.nossr50.commands.SkillCommand;
  3. import com.gmail.nossr50.datatypes.SkillType;
  4. import com.gmail.nossr50.locale.LocaleLoader;
  5. public class ArcheryCommand extends SkillCommand {
  6. private String skillShotBonus;
  7. private String dazeChance;
  8. private String retrieveChance;
  9. private boolean canSkillShot;
  10. private boolean canDaze;
  11. private boolean canRetrieve;
  12. public ArcheryCommand() {
  13. super(SkillType.ARCHERY);
  14. }
  15. @Override
  16. protected void dataCalculations() {
  17. if (skillValue >= 1000) {
  18. skillShotBonus = "200.00%";
  19. dazeChance = "50.00%";
  20. retrieveChance = "100.00%";
  21. }
  22. else {
  23. skillShotBonus = percent.format(((int) skillValue / 50) * 0.1D); //TODO: Not sure if this is the best way to calculate this or not...
  24. dazeChance = percent.format(skillValue / 2000);
  25. retrieveChance = percent.format(skillValue / 1000);
  26. }
  27. }
  28. @Override
  29. protected void permissionsCheck() {
  30. canSkillShot = permInstance.archeryBonus(player);
  31. canDaze = permInstance.daze(player);
  32. canRetrieve = permInstance.trackArrows(player);
  33. }
  34. @Override
  35. protected boolean effectsHeaderPermissions() {
  36. return canSkillShot || canDaze || canRetrieve;
  37. }
  38. @Override
  39. protected void effectsDisplay() {
  40. if (canSkillShot) {
  41. player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.0"), LocaleLoader.getString("Archery.Effect.1") }));
  42. }
  43. if (canDaze) {
  44. player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.2"), LocaleLoader.getString("Archery.Effect.3") }));
  45. }
  46. if (canRetrieve) {
  47. player.sendMessage(LocaleLoader.getString("Effects.Template", new Object[] { LocaleLoader.getString("Archery.Effect.4"), LocaleLoader.getString("Archery.Effect.5") }));
  48. }
  49. }
  50. @Override
  51. protected boolean statsHeaderPermissions() {
  52. return canSkillShot || canDaze || canRetrieve;
  53. }
  54. @Override
  55. protected void statsDisplay() {
  56. if (canSkillShot) {
  57. player.sendMessage(LocaleLoader.getString("Archery.Combat.SkillshotBonus", new Object[] { skillShotBonus }));
  58. }
  59. if (canDaze) {
  60. player.sendMessage(LocaleLoader.getString("Archery.Combat.DazeChance", new Object[] { dazeChance }));
  61. }
  62. if (canRetrieve) {
  63. player.sendMessage(LocaleLoader.getString("Archery.Combat.RetrieveChance", new Object[] { retrieveChance }));
  64. }
  65. }
  66. }