anchor.diff:      Deep: TDeepEnum;
     end;
   
  -type        
  +type
     TItemEnum = (
       // All maps
       iGold, iPotionOfHealth, iPotionOfMana,
  
positive.code:   end;
  end;
  
  procedure TItems.RenderInvItem(X, Y, I: Integer; AItem: Item; IsAdvInfo: Boolean = False);
  var
    Info, S: string;
  begin
    Terminal.ForegroundColor(clRed);
    Terminal.Print(X - 4, Y + I, TScene.KeyStr(Chr(I + Ord('A'))));
    Terminal.ForegroundColor(ItemBase[TItemEnum(AItem.ItemID)].Color);
    Terminal.Print(X, Y + I, ItemBase[TItemEnum(AItem.ItemID)].Symbol);
    S := Items.GetItemInfo(AItem);
    Terminal.ForegroundColor(clGray);
    if IsAdvInfo then
    begin
      Info := '';
      if (AItem.Equipment > 0) then
      begin
        case ItemBase[TItemEnum(AItem.ItemID)].SlotType of
          stMainHand: Info := Format(' - %s', [_('in main hand')]);
        end;
      end;
    end;
    Terminal.Print(X + 2, Y + I, S + Info);
  end;
  
  procedure TItems.AddItemToInv(Index: Integer);
  
negative.code: end;
  
  function TItems.GetInventory: string;
  var
    SL: TStringList;
    I, FCount: Integer;
    FItem: Item;
  begin
    Result := '';
    SL := TStringList.Create;
    try
      FCount := Clamp(Items_Inventory_GetCount(), 0, 26);
      for I := 0 to FCount - 1 do
      begin
        FItem := Items_Inventory_GetItem(I);
        SL.Append(Items.RenderInvItem(5, 2, I, FItem, False, False));
      end;
      Result := SL.Text;
    finally
      SL.Free;
    end;
  end;
  
  function TItems.GetItemEnum(AItemID: Integer): TItemEnum;
  