public FightLog CreateFightLog(FightLog fightLog) { _context.FightLogs.Add(fightLog); _context.SaveChanges(); return(fightLog); }
public IActionResult Take(int inventoryItemID, int itemID, int chestID) { // TODO: Actions taken when taking User user = GetUser(); Item takenItem = _context.Item.Where(i => i.ItemID == itemID).FirstOrDefault(); InventoryItem inv = new InventoryItem(); if (inventoryItemID == 0) { inv.ItemID = itemID; inv.UserID = user.UserID; inv.Quantity = 1; _context.InventoryItems.Add(inv); ScreenItem se = _context.ScreenItem.Where(s => s.ScreenID == user.Screen && s.ItemID == itemID).FirstOrDefault(); _context.ScreenItem.Remove(se); } else { inv.InventoryItemID = inventoryItemID; inv.ItemID = itemID; inv.UserID = user.UserID; inv.Quantity = 1; _context.InventoryItems.Update(inv); } user.Inventory.Add(takenItem); ItemType type = _context.ItemType.Where(t => t.ItemTypeID == takenItem.ItemTypeID).FirstOrDefault(); if (type.ItemTypeName == "Weapon") { user.WeaponEquipped = true; user.WeaponID = takenItem.ItemID; } SaveUser(user); FightLog f = new FightLog { UserID = user.UserID, Entry = $"You added the {takenItem.ItemName} to your inventory.", EntryType = "normal-event" }; _context.FightLogs.Add(f); _context.User.Update(user); _context.SaveChanges(); if (chestID == 0) { UpdateScreen(user); return(View("Console", BuildModel())); } else { BuildOpenViewDescription(chestID); return(View("Open", BuildModel())); } }
static int Close(IntPtr L) { try { ToLua.CheckArgsCount(L, 0); FightLog.Close(); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
static int Log(IntPtr L) { try { ToLua.CheckArgsCount(L, 1); string arg0 = ToLua.CheckString(L, 1); FightLog.Log(arg0); return(0); } catch (Exception e) { return(LuaDLL.toluaL_exception(L, e)); } }
public void BuildOpenViewDescription(int itemID) { Item item = _context.Item.Where(i => i.ItemID == itemID).FirstOrDefault(); ItemType type = _context.ItemType.Where(i => i.ItemTypeID == item.ItemTypeID).FirstOrDefault(); User user = GetUser(); Screen screen = _context.Screen.Include(s => s.ScreenInventory).Where(s => s.ScreenID == user.Screen).FirstOrDefault(); Chest chest = new Chest(); foreach (ScreenItem si in screen.ScreenInventory) { si.Item = _context.Item.Where(i => i.ItemID == si.ItemID).FirstOrDefault(); chest.ParentContainer = si.Item; List <InventoryItem> items = _context.InventoryItems.Where(i => i.ScreenItemID == si.ScreenItemID).ToList(); foreach (InventoryItem inv in items) { chest.ItemsInside.Add(inv.InventoryItemID, _context.Item.Where(i => i.ItemID == inv.ItemID).FirstOrDefault()); } } string openDesc = $"You open the {type.ItemTypeName} and look in."; if (chest.ItemsInside == null || chest.ItemsInside.Count == 0) { openDesc += " You don't see anything."; } else { foreach (KeyValuePair <int, Item> chestItem in chest.ItemsInside) { openDesc += " " + chestItem.Value.ItemDescription; } } // TODO: Append items in container to description FightLog f = new FightLog { UserID = user.UserID, Entry = openDesc, EntryType = "normal-event" }; _context.FightLogs.Add(f); _context.SaveChanges(); }