package game import ( "fmt" "thehouseoficarus/internal/net" ) func (g *Game) executeInventory(sess *net.Session, args []string, rawInput string) { g.doInventory(sess) } func (g *Game) doInventory(sess *net.Session) { p := sess.Player sess.WriteLine(fmt.Sprintf("Inventory (%d free):", p.FreeSlots())) num := 0 for i := 0; i < 28; i++ { slot := p.InvSlot(i) if slot == nil { continue } num++ def, err := g.ItemStore.Load(slot.ItemID) name := slot.ItemID if err == nil { name = def.Name } coloredName := g.itemColorize(sess, def, name) if slot.Quantity > 1 { sess.WriteLine(fmt.Sprintf(" %2d) %d x %s", num, slot.Quantity, coloredName)) } else { sess.WriteLine(fmt.Sprintf(" %2d) %s", num, coloredName)) } } }