示例#1
0
        public override void EquipItem(InventoryBase InventoryBase, EquipmentBase Equipment, int IndexOf, BaseCharacter player)
        {
            bool addNewSlot = true;;

            for (int i = 0; i < Equipment.QuickAccessItems.Count; i++)
            {
                ItemSlot itemInInventory = Equipment.QuickAccessItems[i];
                if (itemInInventory.Item.ItemID == ItemID && itemInInventory.Count < 99)
                {
                    itemInInventory.Count++;
                    addNewSlot = false;
                    RemoveFromInventory(InventoryBase, IndexOf);
                }
                Equipment.QuickAccessItems[i] = itemInInventory;
            }
            if (Equipment.OpenSlots && addNewSlot)
            {
                Equipment.QuickAccessItems.Add(
                    new ItemSlot()
                {
                    Item  = Instantiate(this),
                    Count = 1
                });
                RemoveFromInventory(InventoryBase, IndexOf);
            }
            else
            if (addNewSlot)
            {
                Debug.LogWarning("Can't add item to Quick slot");
            }
        }
        private void Awake()
        {
            ModLogger = Logger;

            // Don't know how to create/use an asset bundle, or don't have a unity project set up?
            // Look here for info on how to set these up: https://github.com/KomradeSpectre/AetheriumMod/blob/rewrite-master/Tutorials/Item%20Mod%20Creation.md#unity-project

            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("ItemModCreationBoilerplate.my_assetbundlefile"))
            {
                MainAssets = AssetBundle.LoadFromStream(stream);
            }

            //This section automatically scans the project for all artifacts
            var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase)));

            foreach (var artifactType in ArtifactTypes)
            {
                ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType);
                if (ValidateArtifact(artifact, Artifacts))
                {
                    artifact.Init(Config);
                }
            }

            //This section automatically scans the project for all items
            var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase)));

            foreach (var itemType in ItemTypes)
            {
                ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType);
                if (ValidateItem(item, Items))
                {
                    item.Init(Config);
                }
            }

            //this section automatically scans the project for all equipment
            var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase)));

            foreach (var equipmentType in EquipmentTypes)
            {
                EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType);
                if (ValidateEquipment(equipment, Equipments))
                {
                    equipment.Init(Config);
                }
            }

            //this section automatically scans the project for all elite equipment
            var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase)));

            foreach (var eliteEquipmentType in EliteEquipmentTypes)
            {
                EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType);
                if (ValidateEliteEquipment(eliteEquipment, EliteEquipments))
                {
                    eliteEquipment.Init(Config);
                }
            }
        }
示例#3
0
    void Start()
    {
        PC        = this.GetComponent <PlayerCharacter>();
        Inventory = this.GetComponent <CharacterInventory>().Inventory;
        CharacterInventory temp = this.GetComponent <CharacterInventory>();

        temp.Inventory.MaxInventorySize = 30;
        Equip = temp.Equipment;
        SetupPC();

        addering[0].AddToInventory(Inventory);
        addering[0].AddToInventory(Inventory);
        addering[0].AddToInventory(Inventory);
        addering[1].AddToInventory(Inventory);
        addering[1].AddToInventory(Inventory);
        addering[1].AddToInventory(Inventory);
        addering[2].AddToInventory(Inventory);
        addering[2].AddToInventory(Inventory);
        addering[2].AddToInventory(Inventory);
        addering[2].AddToInventory(Inventory);

        Inventory.ItemsInInventory[0].Item.Use(Inventory, 0, PC);
        Menu = new  DisplayMenu(PC, Equip, Inventory);
        Menu.CloseInventory();
    }
示例#4
0
    /// <summary>
    /// 从装备槽向背包放回装备
    /// </summary>
    public void ReturnEquipmentFromSlot(EquipmentBase equipment)
    {
        GameObject newEquipment = Instantiate(solotPrefab, content.transform);

        newEquipment.GetComponentInChildren <PackageItem>().setEquipment(equipment);//把背包图标与真实装备对应上
        RefreshPackageSize();
    }
 public bool Add(string StrEquipmenName, EquipmentBase pEquipmentBase)
 {
     // MyEquipList.Add(EquipmenNameArray.Keys[i].ToString(), (EquipmentBase)MyEquipmentManage.Createobject(CurrentEquipmentName));
     MyEquipList.Add(StrEquipmenName, (EquipmentBase)pEquipmentBase);
     // MyEquipList.Clear();
     return(true);
 }
 public void OnMouseHover(GameObject theObject)
 {
     MouseOver        = true;
     currentEquipment = theObject.GetComponent <EquipmentBase>();
     StartCoroutine(StartCountDown());
     Title.text = "";
 }
示例#7
0
        public override void Unequip(InventoryBase inventoryBase, EquipmentBase Equipment, BaseCharacter player, int IndexOf)
        {
            AddToInventory(inventoryBase);
            ModCharacterStats(player, false);

            switch (ArmorType)
            {
            case ArmorType.Arms:
                Equipment.Arms = null;
                break;

            case ArmorType.Chest:
                Equipment.Chest = null;

                break;

            case ArmorType.Helmet:
                Equipment.Helmet = null;
                break;

            case ArmorType.Legs:
                Equipment.Legs = null;
                break;

            case ArmorType.Signature:
                Equipment.Signature = null;
                break;
            }
        }
示例#8
0
        public void Awake()
        {
            using (var stream = Assembly.GetExecutingAssembly().GetManifestResourceStream("LostInTransit.lostintransit_assets"))
            {
                MainAssets = AssetBundle.LoadFromStream(stream);
            }

            var materialAssets = MainAssets.LoadAllAssets <Material>();

            foreach (Material material in materialAssets)
            {
                if (!material.shader.name.StartsWith("Stubbed"))
                {
                    continue;
                }
                //Logger.LogInfo(material);

                var replacementShader = Resources.Load <Shader>(ShaderLookup[material.shader.name.ToLower()]);
                if (replacementShader)
                {
                    material.shader = replacementShader;
                }
            }

            var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase)));

            foreach (var itemType in ItemTypes)
            {
                ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType);
                if (ValidateItem(item, Items))
                {
                    item.Init(Config);
                }
            }

            //Material shader autoconversion - thanks Komrade, you're da best! ^^


            var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase)));

            foreach (var equipmentType in EquipmentTypes)
            {
                EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType);
                if (ValidateEquipment(equipment, Equipments))
                {
                    equipment.Init(Config);
                }
            }

            var EliteTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteBase)));

            foreach (var eliteType in EliteTypes)
            {
                EliteBase elite = (EliteBase)System.Activator.CreateInstance(eliteType);
                if (ValidateElites(elite, Elites))
                {
                    elite.Init(Config);
                }
            }
        }
示例#9
0
        public void AddToAssembly()
        {
            //This section automatically scans the project for all artifacts
            var ArtifactTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ArtifactBase)));

            foreach (var artifactType in ArtifactTypes)
            {
                ArtifactBase artifact = (ArtifactBase)Activator.CreateInstance(artifactType);
                if (ValidateArtifact(artifact, Artifacts))
                {
                    artifact.Init(Config);
                }
            }

            //This section automatically scans the project for all items
            var ItemTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ItemBase)));

            foreach (var itemType in ItemTypes)
            {
                ItemBase item = (ItemBase)System.Activator.CreateInstance(itemType);
                if (ValidateItem(item, Items))
                {
                    item.Init(Config);
                }
            }

            //this section automatically scans the project for all equipment
            var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase)));

            foreach (var equipmentType in EquipmentTypes)
            {
                EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType);
                if (ValidateEquipment(equipment, Equipments))
                {
                    equipment.Init(Config);
                }
            }

            //this section automatically scans the project for all elite equipment
            var EliteEquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EliteEquipmentBase)));

            foreach (var eliteEquipmentType in EliteEquipmentTypes)
            {
                EliteEquipmentBase eliteEquipment = (EliteEquipmentBase)System.Activator.CreateInstance(eliteEquipmentType);
                if (ValidateEliteEquipment(eliteEquipment, EliteEquipments))
                {
                    eliteEquipment.Init(Config);
                }
            }

            //this section automatically scans the project for all elite equipment
            var ControllerTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(ControllerBase)));

            foreach (var controllerType in ControllerTypes)
            {
                ControllerBase controllerBase = (ControllerBase)System.Activator.CreateInstance(controllerType);
                controllerBase.Init(Config);
            }
        }
示例#10
0
        private void UpdateEquipmentDataText()
        {
            var player = this.Player;

            (this.m_textInfoStatContainer.GetChildAt(0) as TextObj).Text = player.MaxHealth.ToString();
            (this.m_textInfoStatContainer.GetChildAt(1) as TextObj).Text = player.MaxMana.ToString();
            (this.m_textInfoStatContainer.GetChildAt(2) as TextObj).Text = player.Damage.ToString();
            (this.m_textInfoStatContainer.GetChildAt(3) as TextObj).Text = player.TotalMagicDamage.ToString();
            (this.m_textInfoStatContainer.GetChildAt(4) as TextObj).Text = player.TotalArmor.ToString();
            (this.m_textInfoStatContainer.GetChildAt(5) as TextObj).Text = player.CurrentWeight + "/" + player.MaxWeight;

            int mCurrentCategoryIndex = this.m_currentCategoryIndex - 6;
            int equippedIndex         = Game.PlayerStats.GetEquippedArray[mCurrentCategoryIndex];

            EquipmentBase currentData = equippedIndex == this.m_currentEquipmentIndex
                ? new EquipmentBase()
                : Game.EquipmentSystem.GetEquipmentData(mCurrentCategoryIndex, this.m_currentEquipmentIndex);

            EquipmentBase equippedData = equippedIndex >= 0
                ? Game.EquipmentSystem.GetEquipmentData(mCurrentCategoryIndex, equippedIndex)
                : new EquipmentBase();

            SetStatTextObject(0, currentData.BonusHealth - equippedData.BonusHealth);
            SetStatTextObject(1, currentData.BonusMana - equippedData.BonusMana);
            SetStatTextObject(2, currentData.BonusDamage - equippedData.BonusDamage);
            SetStatTextObject(3, currentData.BonusMagic - equippedData.BonusMagic);
            SetStatTextObject(4, currentData.BonusArmor - equippedData.BonusArmor);
            SetStatTextObject(5, currentData.Weight - equippedData.Weight);

            if (equippedIndex == this.m_currentEquipmentIndex)
            {
                currentData = equippedData;
            }

            Vector2[] secondaryAttribute = currentData.SecondaryAttribute;
            string    secondaryString    = "None";

            if (secondaryAttribute != null && secondaryAttribute.Length > 0)
            {
                var accum = "";

                foreach (var v in secondaryAttribute)
                {
                    if (v.X > 0f)
                    {
                        accum += "+" + (v.X >= 7f ? v.Y + " " : (v.Y * 100 + "% ")) + EquipmentSecondaryDataType.ToString((int)v.X) + "\n";
                    }
                }

                if (accum.Length > 0)
                {
                    secondaryString = accum;
                }
            }

            this.m_addPropertiesText.Text  = secondaryString;
            this.m_equipmentTitleText.Text = currentData.ShortDisplayName;
        }
示例#11
0
 public Armor(EquipmentBase e, int ilvl) : base(e, ilvl)
 {
     armor           = e.armor;
     shield          = e.shield;
     dodgeRating     = e.dodgeRating;
     resolveRating   = e.resolveRating;
     blockChance     = (int)e.criticalChance;
     blockProtection = (int)e.attackSpeed;
 }
示例#12
0
 /// <summary>
 /// A helper to easily set up and initialize an equipment from your equipment classes if the user has it enabled in their configuration files.
 /// </summary>
 /// <param name="equipment">A new instance of an EquipmentBase class."</param>
 /// <param name="equipmentList">The list you would like to add this to if it passes the config check.</param>
 public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList)
 {
     if (Config.Bind <bool>(equipment.ConfigCategory, "Enable Equipment?", true, "Should this equipment appear in runs?").Value)
     {
         equipmentList.Add(equipment);
         return(true);
     }
     return(false);
 }
示例#13
0
 /// <summary>
 /// A helper to easily set up and initialize an equipment from your equipment classes if the user has it enabled in their configuration files.
 /// </summary>
 /// <param name="equipment">A new instance of an EquipmentBase class. E.g. "new ExampleEquipment()"</param>
 /// <param name="equipmentList">The list you would like to add this to if it passes the config check.</param>
 public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList)
 {
     if (TurboEdition.instance.Config.Bind <bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value)
     {
         equipmentList.Add(equipment);
         return(true);
     }
     return(false);
 }
    void Start()
    {
        Debug.Log("TODO 物品槽的对象池");

        rectTransform = this.GetComponent <RectTransform>();
        if (equipment == null)
        {
            equipment = new EquipmentBase();
        }
    }
示例#15
0
    /// <summary>
    /// 玩家背包中添加装备
    /// </summary>
    /// <param name="equipment"></param>
    /// <param name="player"></param>
    public void AddEquipmentToPackage(EquipmentBase equipment)
    {
        playerAttribute.equipmentList.Add(equipment);

        //TODO 使用对象池以节省性能
        GameObject newEquipment = Instantiate(solotPrefab, content.transform);

        newEquipment.GetComponentInChildren <PackageItem>().setEquipment(equipment);//把背包图标与真实装备对应上

        RefreshPackageSize();
    }
        private void AddButtonClick(object sender, RoutedEventArgs e)
        {
            EquipmentBase temp = new EquipmentBase
            {
                IdName        = "UNTITLED NEW",
                InnateAffixId = null
            };

            Equipments.Add(temp);
            currentID++;
        }
        private void CopyButtonClick(object sender, RoutedEventArgs e)
        {
            if (EquipList.SelectedItem == null)
            {
                return;
            }
            EquipmentBase temp = Helpers.DeepClone((EquipmentBase)EquipList.SelectedItem);

            Equipments.Add(temp);
            currentID++;
        }
示例#18
0
        private void UpdateIconStates()
        {
            var bpArr = Game.PlayerStats.GetBlueprintArray;

            int catIx = 0, catCount = bpArr.Count;

            while (catIx < catCount)
            {
                var catArr    = bpArr[catIx];
                var iconArr   = this.m_masterIconArray[catIx];
                var catString = EquipmentCategoryType.ToString(catIx);

                int itemIx = 0, itemCount = catArr.Length;
                while (itemIx < itemCount)
                {
                    var item = catArr[itemIx];
                    var icon = iconArr[itemIx];

                    if (item != 0)
                    {
                        icon.ChangeSprite("BlacksmithUI_" + catString + (itemIx % 5 + 1) + "Icon_Character");
                        for (int k = 1; k < icon.NumChildren; k++)
                        {
                            icon.GetChildAt(k).Opacity = 0.2f;
                        }
                    }
                    else
                    {
                        icon.ChangeSprite("BlacksmithUI_QuestionMarkIcon_Character");
                    }

                    if (item > 2)
                    {
                        for (int l = 1; l < icon.NumChildren; l++)
                        {
                            icon.GetChildAt(l).Opacity = 1f;
                        }

                        int num1 = catIx == 0 ? 2 : 1;

                        EquipmentBase equipmentData = Game.EquipmentSystem.GetEquipmentData(catIx, itemIx);
                        icon.GetChildAt(num1).TextureColor = equipmentData.FirstColour;

                        if (catIx != 4)
                        {
                            icon.GetChildAt(num1 + 1).TextureColor = equipmentData.SecondColour;
                        }
                    }

                    itemIx++;
                }
                catIx++;
            }
        }
示例#19
0
 public Weapon(EquipmentBase e, int ilvl) : base(e, ilvl)
 {
     weaponDamage = new Dictionary <ElementType, MinMaxRange>();
     foreach (ElementType element in Enum.GetValues(typeof(ElementType)))
     {
         weaponDamage[element] = new MinMaxRange();
     }
     weaponDamage[ElementType.PHYSICAL].SetMinMax(e.minDamage, e.maxDamage);
     CriticalChance = e.criticalChance;
     AttackSpeed    = e.attackSpeed;
     WeaponRange    = e.weaponRange;
 }
 public DisplayMenu(BaseCharacter player, EquipmentBase equipment, InventoryBase inventory)
 {
     Manager         = UIManager.instance;
     MenuPanelParent = CreateMenu(
         new Vector2(0, 0),
         new Vector2(0, 0));
     Character   = player;
     Inventory   = inventory;
     Equipment   = equipment;
     playerStats = CreatePlayerPanel();
     itemPanel   = CreateItemPanel();
 }
示例#21
0
        public bool ValidateEquipment(EquipmentBase equipment, List <EquipmentBase> equipmentList)
        {
            var enabled = Config.Bind <bool>("Equipment: " + equipment.EquipmentName, "Enable Equipment?", true, "Should this equipment appear in runs?").Value;

            EquipmentStatusDictionary.Add(equipment, enabled);

            if (enabled)
            {
                equipmentList.Add(equipment);
                return(true);
            }
            return(false);
        }
示例#22
0
        public void InitEquips()
        {
            var EquipmentTypes = Assembly.GetExecutingAssembly().GetTypes().Where(type => !type.IsAbstract && type.IsSubclassOf(typeof(EquipmentBase)));

            foreach (var equipmentType in EquipmentTypes)
            {
                EquipmentBase equipment = (EquipmentBase)System.Activator.CreateInstance(equipmentType);
                if (ValidateEquipment(equipment, EquipmentList))
                {
                    equipment.Init(TurboEdition.instance.Config);
                }
            }
        }
        private void CreateHybrid(EquipmentBase item, string oldVal, string newVal, GroupType group)
        {
            EquipmentBase hybrid = Helpers.DeepClone(item);

            hybrid.IdName = hybrid.IdName.Replace(oldVal, newVal);
            if (Equipments.ToList().Find(x => x.IdName == hybrid.IdName) != null)
            {
                return;
            }
            hybrid.Group = group;
            EquipBaseFields.CalculateArmorValues(hybrid);
            EquipBaseFields.CalculateReqValues(hybrid);

            Equipments.Add(hybrid);
        }
示例#24
0
        public override void Unequip(InventoryBase Inventory, EquipmentBase Equipment, BaseCharacter player, int IndexOf)
        {
            ItemSlot updateItem = Equipment.QuickAccessItems[IndexOf];

            if (Stackable && updateItem.Count > 1)
            {
                updateItem.Count--;
                Equipment.QuickAccessItems[IndexOf] = updateItem;
                updateItem.Item.AddToInventory(Inventory);
            }
            else
            {
                updateItem.Item.AddToInventory(Inventory);
                Equipment.QuickAccessItems.RemoveAt(IndexOf);
            }
        }
    public string GetLocalizationText(EquipmentBase equipment)
    {
        string stringId = equipment.idName;

        if (equipmentLocalizationData.TryGetValue("equipment." + stringId, out string value))
        {
            if (value == "")
            {
                return(stringId);
            }
            return(value);
        }
        else
        {
            return(stringId);
        }
    }
        private void DeleteButton_Click(object sender, EventArgs e)
        {
            if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification))
            {
                EquipmentBase equip     = (EquipmentBase)entryItems[0];
                EquipmentBase prevEquip = equip.Clone();

                // 削除する
                List <EquipmentBase> equipList = new List <EquipmentBase>();
                if (File.Exists(saveDir + userId + "_" + saveEquipFile))
                {
                    equipList = JsonConvert.DeserializeObject <List <EquipmentBase> >(File.ReadAllText(saveDir + userId + "_" + saveEquipFile));
                }
                if (updateMode)
                {
                    string itemName = prevEquip.Name;
                    string ability  = string.Join(" ", prevEquip.RefineAbility) + " " + string.Join(" ", prevEquip.SpecialAbility);
                    equipList.Remove(equipList.Where(x => x.Name == itemName && string.Join(" ", x.RefineAbility) + " " + string.Join(" ", x.SpecialAbility) == ability).First());
                }
                File.WriteAllText(saveDir + userId + "_" + saveEquipFile, JsonConvert.SerializeObject(equipList));
            }
            else
            {
                if (MessageBox.Show("以下全て削除されます!", "確認", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.OK)
                {
                    string updateItemName = entryItems[0].Name;

                    // 削除する
                    List <Item> itemList = new List <Item>();
                    if (File.Exists(saveDir + userId + "_" + saveItemFile))
                    {
                        itemList = JsonConvert.DeserializeObject <List <Item> >(File.ReadAllText(saveDir + userId + "_" + saveItemFile));
                    }
                    if (updateMode)
                    {
                        itemList.RemoveAll(x => x.Name == updateItemName);
                    }
                    File.WriteAllText(saveDir + userId + "_" + saveItemFile, JsonConvert.SerializeObject(itemList));
                }
                else
                {
                    return;
                }
            }
            this.Hide();
        }
示例#27
0
        public override void Unequip(InventoryBase inventoryBase, EquipmentBase Equipment, BaseCharacter player, int IndexOf)
        {
            ModCharacterStats(player, false);
            AddToInventory(inventoryBase);
            switch (Slot)
            {
            case WeaponSlot.Primary:
                Equipment.PrimaryWeapon = null;
                break;

            case WeaponSlot.Secondary:
                Equipment.SecondaryWeapon = null;
                break;

            case WeaponSlot.Projectile:
                Equipment.ProjectileWeopon = null;
                break;
            }
        }
示例#28
0
    public static Equipment CreateEquipmentFromBase(string equipmentString, int ilvl, RarityType rarity = RarityType.NORMAL)
    {
        EquipmentBase equipmentBase = ResourceManager.Instance.GetEquipmentBase(equipmentString);

        if (equipmentBase == null)
        {
            return(null);
        }

        Equipment equip = CreateEquipmentFromBase(equipmentBase, ilvl);

        if (rarity > RarityType.NORMAL)
        {
            equip.Rarity = rarity;
            equip.RerollAffixesAtRarity();
        }

        return(equip);
    }
        public void SetItems(int id, List <ItemBase> items, List <ItemBase> itemList, string imageFile)
        {
            userId        = id;
            entryItems    = items;
            allitemList   = itemList;
            imageFileName = imageFile;

            if (Utility.EQUIP_CATEGORY_LIST.Contains(entryItems[0].Classification))
            {
                defineList = allitemList.Where(x => Utility.EQUIP_CATEGORY_LIST.Contains(x.Classification)).ToList();
                if (imageFile == null)
                {
                    EquipmentBase equip = (EquipmentBase)items[0];
                    screenShot = Utility.DeSerializeBitmap(equip.Screenshot);
                }
            }
            else
            {
                defineList = allitemList.Where(x => Utility.ITEM_CATEGORY_LIST.Contains(x.Classification)).ToList();
            }
        }
示例#30
0
        public int DealDamage(List <EquipmentBase> i)
        {
            EquipmentBase w = null;

            foreach (var weapon in inventory)
            {
                if (weapon.AttackWeapon == true)
                {
                    if (w == null)
                    {
                        w = weapon;
                    }
                    else if (weapon.Modifier(weapon.BaseMod, weapon.Quality) > w.Modifier(w.BaseMod, w.Quality))
                    {
                        w = weapon;
                    }
                }
            }

            return(w.Modifier(w.BaseMod, w.Quality));
        }
示例#31
0
文件: Equipment.cs 项目: tgoyer/LORE
 public bool Equip(CharacterBase character, EquipmentBase item, EquipmentType location)
 {
     if (item.CanEquip(character, location))
     {
         switch (location)
         {
             case EquipmentType.Arms:
                 if(Arms != null) character.Inventory.Add(Arms);
                 Arms = item;
                 break;
             case EquipmentType.Boots:
                 if (Boots != null) character.Inventory.Add(Boots);
                 Boots = item;
                 break;
             case EquipmentType.Bracelet:
                 if (Boots != null) character.Inventory.Add(Boots);
                 Boots = item;
                 break;
             case EquipmentType.Cape:
                 if (Cape != null) character.Inventory.Add(Cape);
                 Cape = item;
                 break;
             case EquipmentType.Chest:
                 if (Chest != null) character.Inventory.Add(Chest);
                 Chest = item;
                 break;
             case EquipmentType.Finger:
                 if (Finger != null) character.Inventory.Add(Finger);
                 Finger = item;
                 break;
             case EquipmentType.Gloves:
                 if (Gloves != null) character.Inventory.Add(Gloves);
                 Gloves = item;
                 break;
             case EquipmentType.Helmet:
                 if (Head != null) character.Inventory.Add(Head);
                 Head = item;
                 break;
             case EquipmentType.Legs:
                 if (Legs != null) character.Inventory.Add(Legs);
                 Legs = item;
                 break;
             case EquipmentType.MainHand:
                 if (MainWeapon != null) character.Inventory.Add(MainWeapon);
                 if (OffHand != null && item.Types.Contains(EquipmentType.TwoHand)) character.Inventory.Add(OffHand);
                 MainWeapon = item;
                 break;
             case EquipmentType.Necklace:
                 if (Neck != null) character.Inventory.Add(Neck);
                 Neck = item;
                 break;
             case EquipmentType.Ranged:
                 if (Ranged != null) character.Inventory.Add(Ranged);
                 Ranged = item;
                 break;
             case EquipmentType.SecondaryHand:
                 if (OffHand != null) character.Inventory.Add(OffHand);
                 if (MainWeapon.Types.Contains(EquipmentType.TwoHand)) character.Inventory.Add(MainWeapon);
                 OffHand = item;
                 break;
             case EquipmentType.Shoulders:
                 if (Shoulders != null) character.Inventory.Add(Shoulders);
                 Shoulders = item;
                 break;
         }
     }
     return true;
 }