private async Task TakeSubItem()
{
if (theron.Hand != null)
{
var ch = await GetFromItemIndex(theron.PartyGroup);
if (ch != null)
{
var inventory = await GetFromItemIndex(ch.Body.Storages);
if (inventory != null)
{
var chest = await GetFromItemIndex(inventory.Storage.OfType<IInventory>());
if (chest != null)
{
var itemIndex = await GetItemIndex(chest.Storage);
if (itemIndex != null)
{
theron.Hand = chest.TakeItemFrom(itemIndex.Value);
}
}
}
}
}
else
Output.WriteLine("Hand is empty!");
}