diff --git a/src/furnace.mpsrc b/src/furnace.mpsrc
index 0d195642186697463307e752a6dc2c29e52f751c..1cf918517708833839b6c11d2f63fa30883dbf84 100644 (file)
--- a/src/furnace.mpsrc
+++ b/src/furnace.mpsrc
MAX_FURNACE=31;\r
MAX_FURNACE_CELLS=2;\r
\r
MAX_FURNACE=31;\r
MAX_FURNACE_CELLS=2;\r
\r
- ITEM_IN_FIRE=10000;\r
+ ITEM_IN_FIRE=9950; // <== Костыль "исправляющий" тайминги. Должно быть 10000.\r
\r
FURNACE_IN=0;\r
FURNACE_FUEL=1;\r
\r
FURNACE_IN=0;\r
FURNACE_FUEL=1;\r
procedure ResetData;\r
\r
implementation\r
procedure ResetData;\r
\r
implementation\r
- uses maps, drop, items_store, items, jsr75i, func;\r
+ uses maps, drop, items_store, jsr75i, func, Items;\r
\r
var\r
furnace_b: array [0..MAX_FURNACE] of boolean;\r
\r
var\r
furnace_b: array [0..MAX_FURNACE] of boolean;\r
sumOUT:=GetFurSum(FURNACE_OUT, i);\r
recipeOUT:=GetReceptOut(itemIN);\r
\r
sumOUT:=GetFurSum(FURNACE_OUT, i);\r
recipeOUT:=GetReceptOut(itemIN);\r
\r
- if (itemIN<>0) and (recipeOUT<>FURNACE_ERROR) then\r
- if (itemOUT=0) or ((itemOUT=recipeOUT) and (sumOUT<getItemMax(itemOUT))) then\r
- canUpdate:=true;\r
+ if (itemIN <> 0) and (recipeOUT <> FURNACE_ERROR) then\r
+ if (itemOUT = 0) or ((itemOUT = recipeOUT) and (sumOUT < Items.GetMaximum(itemOUT))) then\r
+ canUpdate := true;\r
end;\r
\r
function furnaceBurn(i:integer):boolean;\r
end;\r
\r
function furnaceBurn(i:integer):boolean;\r
item:=GetFurItem(FURNACE_FUEL, i);\r
sum:=GetFurSum(FURNACE_FUEL, i);\r
\r
item:=GetFurItem(FURNACE_FUEL, i);\r
sum:=GetFurSum(FURNACE_FUEL, i);\r
\r
- if getItemDiv(item) then\r
+ if Items.IsDividable(item) then\r
begin\r
sum:=sum-1;\r
if sum<0 then\r
begin\r
sum:=sum-1;\r
if sum<0 then\r
sumOUT:=GetFurSum(FURNACE_OUT, i);\r
recipeOUT:=GetReceptOut(itemIN);\r
\r
sumOUT:=GetFurSum(FURNACE_OUT, i);\r
recipeOUT:=GetReceptOut(itemIN);\r
\r
- if getItemDiv(itemIN) then\r
+ if Items.IsDividable(itemIN) then\r
begin\r
sumIN:=sumIN-1;\r
if sumIN<0 then\r
begin\r
sumIN:=sumIN-1;\r
if sumIN<0 then\r