X-Git-Url: https://deadsoftware.ru/gitweb?p=cavecraft.git;a=blobdiff_plain;f=src%2Ffurnace.mpsrc;h=1cf918517708833839b6c11d2f63fa30883dbf84;hp=0d195642186697463307e752a6dc2c29e52f751c;hb=4d7cf2ab1e10d9926d03afb5a3f883bcf5312469;hpb=13a872abec65a21544bfa928624c6bf3975fd50f diff --git a/src/furnace.mpsrc b/src/furnace.mpsrc index 0d19564..1cf9185 100644 --- a/src/furnace.mpsrc +++ b/src/furnace.mpsrc @@ -5,7 +5,7 @@ interface MAX_FURNACE=31; MAX_FURNACE_CELLS=2; - ITEM_IN_FIRE=10000; + ITEM_IN_FIRE=9950; // <== Костыль "исправляющий" тайминги. Должно быть 10000. FURNACE_IN=0; FURNACE_FUEL=1; @@ -43,7 +43,7 @@ interface procedure ResetData; implementation - uses maps, drop, items_store, items, jsr75i, func; + uses maps, drop, items_store, jsr75i, func, Items; var furnace_b: array [0..MAX_FURNACE] of boolean; @@ -265,9 +265,9 @@ implementation sumOUT:=GetFurSum(FURNACE_OUT, i); recipeOUT:=GetReceptOut(itemIN); - if (itemIN<>0) and (recipeOUT<>FURNACE_ERROR) then - if (itemOUT=0) or ((itemOUT=recipeOUT) and (sumOUT 0) and (recipeOUT <> FURNACE_ERROR) then + if (itemOUT = 0) or ((itemOUT = recipeOUT) and (sumOUT < Items.GetMaximum(itemOUT))) then + canUpdate := true; end; function furnaceBurn(i:integer):boolean; @@ -291,7 +291,7 @@ implementation item:=GetFurItem(FURNACE_FUEL, i); sum:=GetFurSum(FURNACE_FUEL, i); - if getItemDiv(item) then + if Items.IsDividable(item) then begin sum:=sum-1; if sum<0 then @@ -319,7 +319,7 @@ implementation sumOUT:=GetFurSum(FURNACE_OUT, i); recipeOUT:=GetReceptOut(itemIN); - if getItemDiv(itemIN) then + if Items.IsDividable(itemIN) then begin sumIN:=sumIN-1; if sumIN<0 then