private static ItemSlotEquip ToItemSlot(
            this ItemEquipTemplate template,
            ItemVariationType type = ItemVariationType.None
            )
        {
            var variation = new ItemVariation(Rand32.Create(), type);

            return(new ItemSlotEquip
            {
                TemplateID = template.ID,

                RUC = template.TUC,
                STR = (short)variation.Get(template.IncSTR),
                DEX = (short)variation.Get(template.IncDEX),
                INT = (short)variation.Get(template.IncINT),
                LUK = (short)variation.Get(template.IncLUK),
                MaxHP = (short)variation.Get(template.IncMaxHP),
                MaxMP = (short)variation.Get(template.IncMaxMP),
                PAD = (short)variation.Get(template.IncPAD),
                MAD = (short)variation.Get(template.IncMAD),
                PDD = (short)variation.Get(template.IncPDD),
                MDD = (short)variation.Get(template.IncMDD),
                ACC = (short)variation.Get(template.IncACC),
                EVA = (short)variation.Get(template.IncEVA),
                Craft = (short)variation.Get(template.IncCraft),
                Speed = (short)variation.Get(template.IncSpeed),
                Jump = (short)variation.Get(template.IncJump),
                Durability = 100
            });
        }
Esempio n. 2
0
        public void Add(int templateID, short quantity = 1, ItemVariationType type = ItemVariationType.None)
        {
            var template = _fieldUser.Service.TemplateManager
                           .Get <ItemTemplate>(templateID);

            _fieldUser.ModifyInventory(i => i.Add(template, quantity)).Wait();
            _fieldUser.Effect(new QuestEffect(templateID, quantity)).Wait();
        }
        public void Add(ItemTemplate template, short quantity = 1, ItemVariationType type = ItemVariationType.None)
        {
            var item = template.ToItemSlot();

            if (item is ItemSlotBundle bundle &&
                !ItemInfo.IsRechargeableItem(bundle.TemplateID))
            {
                bundle.Number = quantity;
                Add(bundle);
            }
Esempio n. 4
0
        public static ItemSlot ToItemSlot(this ItemTemplate template,
                                          ItemVariationType type = ItemVariationType.None)
        {
            switch (template)
            {
            case ItemEquipTemplate equipTemplate:
                return(equipTemplate.ToItemSlot(type));

            case ItemBundleTemplate bundleTemplate:
                return(bundleTemplate.ToItemSlot());

            case PetItemTemplate petTemplate:
                return(petTemplate.ToItemSlot());
            }

            return(null);
        }
        public static ItemSlot ToItemSlot(
            this ItemTemplate template,
            ItemVariationType type = ItemVariationType.None
            )
        {
            switch (template)
            {
            case ItemEquipTemplate equipTemplate:
                return(equipTemplate.ToItemSlot(type));

            case ItemBundleTemplate bundleTemplate:
                return(bundleTemplate.ToItemSlot());

            case PetItemTemplate petTemplate:
                return(petTemplate.ToItemSlot());

            default:
                throw new ArgumentOutOfRangeException();
            }
        }
Esempio n. 6
0
 public ItemVariation(Rand32 rand, ItemVariationType type)
 {
     this.rand = rand;
     this.type = type;
 }