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 }
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(); }
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); }
/* 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 } }
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); }