X-Git-Url: https://deadsoftware.ru/gitweb?p=cavecraft.git;a=blobdiff_plain;f=src%2Finv.mpsrc;h=740b8ee2e11d30b10947988ef16a0f3d0142688c;hp=76ba270e824156e836d105be310f221b2610447f;hb=4d7cf2ab1e10d9926d03afb5a3f883bcf5312469;hpb=9115be0a19d5716f33a2e2cba76f3447ce0f4c2f diff --git a/src/inv.mpsrc b/src/inv.mpsrc index 76ba270..740b8ee 100644 --- a/src/inv.mpsrc +++ b/src/inv.mpsrc @@ -19,7 +19,7 @@ interface procedure loadData; implementation - uses items_store, vars, jsr75i, items, func; + uses items_store, vars, jsr75i, func, Items; var inv_item: array [0..INV_SIZE] of integer; inv_sum: array [0..INV_SIZE] of integer; @@ -62,25 +62,26 @@ implementation //Добавить предмет в инвентарь, возващает количество не полученых предметов. function giveItem(ityp, isum:integer):integer; var - i, item, sum:integer; + i, item, sum, max:integer; begin //Ищем такой же предмет только если он имеет возможность делиться - if getItemDiv(ityp) then + if Items.IsDividable(ityp) then for i:=0 to INV_SIZE do begin - item:=getItem(i); - sum:=getSum(i); + item :=getItem(i); + sum :=getSum(i); + max := Items.GetMaximum(ityp); if (item=ityp) and (isNull(i)=false) then - if isumgetItemMax(ityp) then + if sum > max then begin - isum:=sum-getItemMax(ityp); - sum:=sum-isum; + isum := sum - max; + sum := sum - isum; end; setSum(sum, i); @@ -95,11 +96,12 @@ function giveItem(ityp, isum:integer):integer; begin sum:=isum; isum:=0; + max := Items.GetMaximum(ityp); - if sum>getItemMax(ityp) then + if sum > max then begin - isum:=sum-getItemMax(ityp); - sum:=sum-isum; + isum := sum - max; + sum := sum - isum; end; setItem(ityp, i);