dxbydt

Untitled

Dec 14th, 2018
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.52 KB | None | 0 0
  1. public class ManaGearCrafter : CrafterBase
  2. {
  3.     public ManaGearCrafter(IPoeHUDWrapper phw, ITradeCommands tc, IRarityStateMachine rsm) : base(phw, tc, rsm) { }
  4.  
  5.     public override async Task Craft()
  6.     {
  7.         await StartUsingCurrency(CurrencyType.alt);
  8.         for (int i = 0; i < 799; i++)
  9.         {
  10.             await ClickItem();
  11.  
  12.             if (HasLife && HasManaRecovery)
  13.                 break;
  14.  
  15.             if (HasOneMod && (HasManaRecovery || HasLife))
  16.                 await UseCurrency(CurrencyType.augmentation);
  17.  
  18.             if (HasLife && HasManaRecovery)
  19.                 break;
  20.  
  21.             await Task.Delay(100);
  22.         }
  23.         await StopUsingCurrency();
  24.     }
  25.  
  26.     protected override int GetNumberOfRemainingPrefixes()
  27.     {
  28.         return 3 - GetCraftingMods().Count(mod => mod.Record.Group == "IncreasedLife" && mod.Tier <= 3);
  29.     }
  30.  
  31.     protected override int GetNumberOfRemainingSuffixes()
  32.     {
  33.         return 3 - GetCraftingMods().Count(mod => mod.Record.Group == "ManaRecoveryRate" && mod.Record.Tier == "Tier 1");
  34.     }
  35.  
  36.     private bool HasLife => poeHud.GetCraftingSlotMods().SingleOrDefault(mod => mod.Record.Group == "IncreasedLife" && mod.Tier <= 3 && mod.AffixType == ModsDat.ModType.Prefix) != null;
  37.     private bool HasManaRecovery => poeHud.GetCraftingSlotMods().SingleOrDefault(mod => mod.Record.Group == "ManaRecoveryRate" && mod.Record.Tier == "Tier 1" && mod.AffixType == ModsDat.ModType.Suffix) != null;
  38.     private bool HasOneMod => poeHud.GetCraftingSlotMods().Count() < 3;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment