Guest User

Untitled

a guest
Sep 1st, 2014
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.49 KB | None | 0 0
  1. package com.ew.game.player.actions;
  2.  
  3. import com.ew.cache.loaders.ItemDefinitions;
  4. import com.ew.game.Animation;
  5. import com.ew.game.item.Item;
  6. import com.ew.game.player.Player;
  7. import com.ew.game.player.Skills;
  8. import com.ew.game.player.actions.Action;
  9. import com.ew.game.player.actions.GemCutting;
  10. import com.ew.game.player.actions.GemCutting.Gem;
  11.  
  12. public class GemCutting extends Action {
  13.  
  14.     /**
  15.      * Enum for gems
  16.      *
  17.      * @author Raghav
  18.      *
  19.      */
  20.     public enum Gem {
  21.         OPAL(1625, 1609, 15.0, 1, 886),
  22.  
  23.         JADE(1627, 1611, 20, 13, 886),
  24.  
  25.         RED_TOPAZ(1629, 1613, 25, 16, 887),
  26.  
  27.         SAPPHIRE(1623, 1607, 50, 20, 888),
  28.  
  29.         EMERALD(1621, 1605, 67, 27, 889),
  30.  
  31.         RUBY(1619, 1603, 85, 34, 887),
  32.  
  33.         DIAMOND(1617, 1601, 107.5, 43, 890),
  34.  
  35.         DRAGONSTONE(1631, 1615, 137.5, 55, 885),
  36.  
  37.         ONYX(6571, 6573, 167.5, 67, 2717);
  38.  
  39.         private double experience;
  40.         private int levelRequired;
  41.         private int uncut, cut;
  42.  
  43.         private int emote;
  44.  
  45.         private Gem(int uncut, int cut, double experience, int levelRequired,
  46.                 int emote) {
  47.             this.uncut = uncut;
  48.             this.cut = cut;
  49.             this.experience = experience;
  50.             this.levelRequired = levelRequired;
  51.             this.emote = emote;
  52.         }
  53.  
  54.         public int getLevelRequired() {
  55.             return levelRequired;
  56.         }
  57.  
  58.         public double getExperience() {
  59.             return experience;
  60.         }
  61.  
  62.         public int getUncut() {
  63.             return uncut;
  64.         }
  65.  
  66.         public int getCut() {
  67.             return cut;
  68.         }
  69.  
  70.         public int getEmote() {
  71.             return emote;
  72.         }
  73.  
  74.     }
  75.  
  76.     public static void cut(Player player, Gem gem) {
  77.         if (player.getInventory().getItems()
  78.                 .getNumberOf(new Item(gem.getUncut(), 1)) <= 1) // contains just
  79.             // 1 lets start
  80.             player.getActionManager().setAction(new GemCutting(gem, 1));
  81.         else
  82.             player.getDialogueManager().startDialogue("GemCuttingD", gem);
  83.     }
  84.  
  85.     private Gem gem;
  86.     private int quantity;
  87.  
  88.     public GemCutting(Gem gem, int quantity) {
  89.         this.gem = gem;
  90.         this.quantity = quantity;
  91.     }
  92.  
  93.     public boolean checkAll(Player player) {
  94.         if (player.getSkills().getLevel(Skills.CRAFTING) < gem
  95.                 .getLevelRequired()) {
  96.             player.getDialogueManager().startDialogue(
  97.                     "SimpleMessage",
  98.                     "You need a crafting level of " + gem.getLevelRequired()
  99.                     + " to cut that gem.");
  100.             return false;
  101.         }
  102.         if (!player.getInventory().containsOneItem(gem.getUncut())) {
  103.             player.getDialogueManager().startDialogue(
  104.                     "SimpleMessage",
  105.                     "You don't have any "
  106.                             + ItemDefinitions
  107.                             .getItemDefinitions(gem.getUncut())
  108.                             .getName().toLowerCase() + " to cut.");
  109.             return false;
  110.         }
  111.         return true;
  112.     }
  113.  
  114.     @Override
  115.     public boolean start(Player player) {
  116.         if (checkAll(player)) {
  117.             setActionDelay(player, 1);
  118.             player.setNextAnimation(new Animation(gem.getEmote()));
  119.             return true;
  120.         }
  121.         return false;
  122.     }
  123.  
  124.     @Override
  125.     public boolean process(Player player) {
  126.         return checkAll(player);
  127.     }
  128.  
  129.     @Override
  130.     public int processWithDelay(Player player) {
  131.         player.getInventory().deleteItem(gem.getUncut(), 1);
  132.         player.getInventory().addItem(gem.getCut(), 1);
  133.         player.getSkills().addXp(Skills.CRAFTING, gem.getExperience());
  134.         player.getPackets().sendGameMessage(
  135.                 "You cut the "
  136.                         + ItemDefinitions.getItemDefinitions(gem.getUncut())
  137.                         .getName().toLowerCase() + ".", true);
  138.         quantity--;
  139.         if (quantity <= 0)
  140.             return -1;
  141.         player.setNextAnimation(new Animation(gem.getEmote())); // start the
  142.         // emote and add
  143.         // 2 delay
  144.         return 0;
  145.     }
  146.  
  147.     @Override
  148.     public void stop(final Player player) {
  149.         setActionDelay(player, 3);
  150.     }
  151. }
Advertisement
Add Comment
Please, Sign In to add comment