public static TransmuteRecipe GetRecipeToCurrency(CurrencyType to, ACDItem item)
        {
            var quality = item.GetTrinityItemQuality();

            switch (to)
            {
            case CurrencyType.ArcaneDust:
                return(quality == TrinityItemQuality.Rare
                        ? Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromRare
                        : Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromNormal);

            case CurrencyType.VeiledCrystal:
                return(quality == TrinityItemQuality.Magic
                        ? Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromMagic
                        : Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromNormal);

            case CurrencyType.ReusableParts:
                return(quality == TrinityItemQuality.Rare
                        ? Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromRare
                        : Zeta.Game.TransmuteRecipe.ConvertCraftingMaterialsFromMagic);

            default:
                return((TransmuteRecipe)(-1));
            }
        }
Exemplo n.º 2
0
 public string LogTemplate(ItemAction action, ACDItem item)
 => $"{Environment.NewLine}" +
 $"{DateTime.UtcNow.ToLocalTime():f} {Environment.NewLine}" +
 $"{item.Name} ({item.ActorSnoId}), {item.GetRawItemType()} {Environment.NewLine}" +
 $"{item.ItemBaseType}: {item.GetTrinityItemType()}, {item.GetTrinityItemQuality()}" +
 $"{(item.Stats.IsAncient ? ", Ancient" : string.Empty)}, {item.Stats}" +
 $"{Environment.NewLine}";
Exemplo n.º 3
0
        private void LogItem(ItemAction action, ACDItem item)
        {
            if (!IsEnabled || !Core.Settings.Advanced.LogItems)
            {
                return;
            }

            if (item.GetTrinityItemQuality() < TrinityItemQuality.Legendary && !Core.Settings.Advanced.LogAllItems)
            {
                return;
            }

            if (action == ItemAction.Dropped && !Core.Settings.Advanced.LogDroppedItems)
            {
                return;
            }

            var file    = $"{action} - {Core.Player.ActorClass}.log";
            var path    = Path.Combine(FileManager.LoggingPath, file);
            var message = LogTemplate(action, item);

            File.AppendAllText(path, message);
        }
Exemplo n.º 4
0
        public void RecordItemStats(ItemStats stats, ACDItem item)
        {
            if (!IsRunning)
            {
                return;
            }

            stats.Total++;

            if (item.Stats.IsAncient)
            {
                stats.Ancients++;
            }

            if (GameData.PetTable.Contains(item.GameBalanceId) || GameData.PetSnoIds.Contains(item.ActorSnoId))
            {
                stats.Pets++;
            }

            if (GameData.TransmogTable.Contains(item.GameBalanceId))
            {
                stats.Transmog++;
            }

            if (Core.Settings.Items.SpecialItems.HasFlag(SpecialItemTypes.Wings) && GameData.WingsTable.Contains(item.GameBalanceId) || GameData.CosmeticSnoIds.Contains(item.ActorSnoId))
            {
                stats.Wings++;
            }

            if (item.GetTrinityItemType() == TrinityItemType.HealthPotion)
            {
                stats.Potions++;
            }

            if (item.GetTrinityItemType() == TrinityItemType.UberReagent)
            {
                stats.Ubers++;
            }

            if (item.GetTrinityItemType() == TrinityItemType.ConsumableAddSockets)
            {
                stats.Gifts++;
            }

            if (item.IsCraftingReagent)
            {
                stats.Crafting++;
                stats.CraftingStackQuantity += item.ItemStackQuantity;
            }

            if (item.GetIsEquipment())
            {
                stats.Equipment++;

                switch (item.GetTrinityItemQuality())
                {
                case TrinityItemQuality.Set:
                    stats.Sets++;
                    break;

                case TrinityItemQuality.Legendary:
                    stats.Legendaries++;
                    break;

                case TrinityItemQuality.Rare:
                    stats.Rares++;
                    break;

                case TrinityItemQuality.Magic:
                    stats.Magics++;
                    break;

                case TrinityItemQuality.Inferior:
                case TrinityItemQuality.Common:
                    stats.Normals++;
                    break;
                }
            }
        }