(0004292)
|
gnfalex
|
18.10.09 18:35
|
|
Greetings.
Try to solve.
Algorithm - if belt was sent to base, then before belt nillifing all item from it also sent to base.
diff -w -B -u old\DXSoldatConfig.pas new\DXSoldatConfig.pas
--- old\DXSoldatConfig.pas Thu Aug 20 14:56:56 2009
+++ new\DXSoldatConfig.pas Sat Oct 17 15:59:24 2009
@@ -1337,6 +1338,7 @@
FromItem : TLagerItem;
ToItem : TLagerItem;
+ Dummy : Integer;
function FindMunForIDinSlot(ID: Cardinal;
SlotType: TSoldatConfigSlot; var Slot: TItemSlot): boolean;
@@ -1625,7 +1627,17 @@
case FromSlot.Slot of
scsBasisItem..scsBodenItem : DeleteFromSlot(FromSlot);
scsLinkeHand..scsPanzerung,
- scsGuertel : fManager.SetzeAusruestung(FromSlot.Slot,0);
+ scsGuertel :
+ begin
+ if (ToSlot.Slot in [scsBasisItem,scsSchiffItem,scsBodenItem]) then
+ for dummy:= FromSlot.SlotID+1 to high(fItemSlots) do
+ begin
+ if (fItemSlots[dummy].Slot=scsMunition) and (fItemSlots[dummy].ID<>0) then
+ setslot(fItemSlots[dummy],ToSlot)
+ else break; // don't sure. Work as with that, as without it, but I preffer to add
+ end;
+ fManager.SetzeAusruestung(FromSlot.Slot,0);
+ end;
scsRucksack :
begin
fManager.DeleteFromRucksack(FromSlot.Data);
Best regards |
|