Trocar arma com X de Mana

Const
// quando a mana é a baxo de ... //
LowMana = 90
Weapon_ID = 7385
// quando a mana é acima de... //
HighMana = 500
Wand_ID = 3065

function GetItemFromOpenBackpack(ID: integer): TItem;
var
x: integer;
y: integer;
begin
Result := nil;
for x := 0 to Self.Containers.Count - 1 do
begin
if x >= Self.Containers.Count then Break;
for y := 0 to Self.Containers.Container[x].Count - 1 do
begin
if y >= Self.Containers.Container[x].Count then Break;
if Self.Containers.Container[x].Item[y].ID = ID then
begin
Result := Self.Containers.Container[x].Item[y];
Exit;
end;
end;
end;
end;

while not terminated do
begin
UpdateWorld;
if self.righthand.id <> Weapon_id then
if self.mana < LowMana then begin Self.RightHand.MoveToContainer(Self.Containers.Container[0],19,0); Sleep(1000); Self.Arrow.MoveToBody(Self.RightHand,0); Sleep(1000); UpdateWorld; Self.RightHand.MoveToBody(Self.Arrow,0); Self.Offensive; end; if Self.RightHand.ID <> wand_id then
if Self.Mana > HighMana then
begin
Self.RightHand.MoveToContainer(Self.Containers.Container[0],19,0);
Sleep(1000);
Self.Arrow.MoveToBody(Self.RightHand,0);
Sleep(1000);
UpdateWorld;
Self.RightHand.MoveToBody(Self.Arrow,0);
Self.Defensive;
end;
sleep(500);
end;