Пример #1
0
        public void Equip(AItem WeaponOrArmor)
        {
            WeaponOrArmor.InventoryId = 1;

            if (WeaponOrArmor is Weapon)
            {
                Weapon OldWeapon = App.PlayerViewModel.Player.Inventory.UsingWeapon;
                OldWeapon.InventoryId = 9999;
                App.PlayerViewModel.UpdateItem(OldWeapon);

                App.PlayerViewModel.Player.Inventory.UsingWeapon = (Weapon)WeaponOrArmor;
            }
            else if (WeaponOrArmor is Armor)
            {
                Armor OldArmor = App.PlayerViewModel.Player.Inventory.UsingArmor;
                OldArmor.InventoryId = 9999;
                App.PlayerViewModel.UpdateItem(OldArmor);

                App.PlayerViewModel.Player.Inventory.UsingArmor = (Armor)WeaponOrArmor;
            }

            /* FREE HIT IF IN FIGHT*/
            if (App.PlayerViewModel.Player.InFight)
            {
                App.GameActions.FightActions.EnemyAtack();
            }

            App.PlayerViewModel.UpdateItem(WeaponOrArmor);
            App.PlayerViewModel.ReRenderBars(); // player's render + DB-update
        }
Пример #2
0
        public void Drop(AItem droppedItem)
        {
            int itemIndex = App.PlayerViewModel.Player.Inventory.ItemList.IndexOf(droppedItem);

            droppedItem.LocationId = 1000 + App.PlayerViewModel.Player.InLocationId;
            App.PlayerViewModel.DBhelper.UpdateItem(droppedItem);
            App.LocationViewModel.CurrentLocation.ItemList.Add(droppedItem);
            App.PlayerViewModel.Player.Inventory.ItemList.RemoveAt(itemIndex);
            //App.PlayerViewModel.UpdatePlayer();
        }
Пример #3
0
        public bool TryFindItem(AItem item, int itemIndex, int bonusChance = 0)
        {
            if (item.Visiblity == true)
            {
                return(true);
            }

            if ((App.PlayerViewModel.Player.PrimaryStats.Inteligence + bonusChance) > item.FindChance)
            {
                item.Visiblity = true;
                App.LocationViewModel.CurrentLocation.ItemList[itemIndex] = item;
                return(true);
            }
            return(false);
        }
Пример #4
0
        /* RARITY COLORS */
        public Brush GetRarityBrush(AItem Item, Label TextRarityLabel = null)
        {
            var bc = new BrushConverter();

            if (Item.FindChance <= 7)// 0 - 7
            {
                if (TextRarityLabel != null)
                {
                    TextRarityLabel.Content = "Normální";
                }
                return((Brush)bc.ConvertFrom("#FF4F4F4F")); //WHITE - COMMON
            }
            else if (Item.FindChance <= 14)                 // 8 - 14
            {
                if (TextRarityLabel != null)
                {
                    TextRarityLabel.Content = "Vzácn";
                }
                return((Brush)bc.ConvertFrom("#FF0743AC")); //BLUE - RARE
            }
            else if (Item.FindChance <= 20)                 // 15 - 20
            {
                if (TextRarityLabel != null)
                {
                    TextRarityLabel.Content = "Epick";
                }
                return((Brush)bc.ConvertFrom("#FF911CC7"));//PURPLE - EPIC
            }
            else// 21 - 26
            {
                if (TextRarityLabel != null)
                {
                    TextRarityLabel.Content = "Legendární";
                }
                return((Brush)bc.ConvertFrom("#FFDE8300"));//ORANGE - LEGENDARY
            }
        }
Пример #5
0
        public void PickUp(AItem pickedItem)
        {
            int itemIndex = App.LocationViewModel.CurrentLocation.ItemList.IndexOf(pickedItem);

            /* ADD ITEM TO LIST */
            bool DeleteFromDb = false;

            foreach (AItem playersItem in App.PlayerViewModel.Player.Inventory.ItemList)
            {
                if (playersItem.Name == pickedItem.Name)
                {
                    /* STACK CONSUMABLE ITEM */
                    if (playersItem is Consumable && pickedItem is Consumable)
                    {
                        (playersItem as Consumable).Amount += (pickedItem as Consumable).Amount;
                        DeleteFromDb = true;
                        App.PlayerViewModel.UpdateItem(playersItem);
                        App.PlayerViewModel.UpdatePlayer();
                        break;
                    }
                }
            }

            if (DeleteFromDb)
            {
                App.LocationViewModel.DeleteItemFromLocation(itemIndex);// deletes DB
            }
            else
            {
                App.PlayerViewModel.Player.Inventory.ItemList.Add(pickedItem);
                App.LocationViewModel.PickUpItemFromLocation(itemIndex);// updates DB
            }

            /* REMOVES ITEM FROM LIST */
            App.LocationViewModel.CurrentLocation.ItemList.RemoveAt(itemIndex);
        }