anchor.diff:          if (aHouse = ht_ArmorSmithy) and (I in [1,2]) then
             Id := gRes.Houses[aHouse].SupplyOut[3-I, K] + 1;
         end;
  -    end else
  -      Id := gRes.Houses[aHouse].SupplyOut[I, Min(R2[I - 1], 5)] + 1;
  +    end
  +    else
  +      Id := gRes.Houses[aHouse].SupplyOut[I, Count] + 1;
   
       AddHouseSupplySprite(Id);
     end;
  
positive.code: 
  procedure TRenderPool.AddHouseSupply(aHouse: THouseType; Loc: TKMPoint; const R1, R2: array of Byte; DoImmediateRender: Boolean = False; DoHighlight: Boolean = False; HighlightColor: TColor4 = 0);
  var
    Id, I, K: Integer;
    R: TRXData;
  
    procedure AddHouseSupplySprite(aId: Integer);
  
negative.code:     // Makes compiler happy
      Id := 0;
  
      Count := Min(R2[I - 1], 5);
      // Exception for houses whose wares are layered
      if aHouse in [ht_WeaponSmithy, ht_ArmorSmithy, ht_WeaponWorkshop, ht_ArmorWorkshop] then
      begin
        for K := 1 to Count do
        begin
          Id := gRes.Houses[aHouse].SupplyOut[I, K] + 1;
          // Need to swap Shields and Armor for the ArmorSmithy
  