1+ (*
2+ # Combat
3+ Methods to interact with the inventory gametab.
4+ *)
15{$DEFINE WL_COMBAT_INCLUDED}
26{$INCLUDE_ONCE WaspLib/osrs.simba}
37
48type
9+ (*
10+ ## TRSCombat
11+ Main record responsible with handling the combat gametab.
12+ *)
513 TRSCombat = record
614 AttackStyles: TBoxArray;
715
816 Boxes:record
9- TopLeftBox,BottomLeftBox,TopRightBox,BottomRightBox,CategoryBox,CombatLvlBox, AutoRetaliateBox:TBox;
17+ TopLeftBox, BottomLeftBox, TopRightBox, BottomRightBox,
18+ CategoryBox, CombatLvlBox, AutoRetaliateBox:TBox;
1019 end;
1120 end;
1221
1322procedure TRSCombat.SetupGameTab();
1423begin
1524 with Gametab.TopLeft do
16- Self.Boxes.TopLeftBox:= [X+20, Y+45, X+85, Y+90];
17-
18- with Gametab.TopLeft do
19- Self.Boxes.TopRightBox:= [X+95, Y+45, X+165, Y+90];
20-
21- with Gametab.TopLeft do
22- Self.Boxes.BottomLeftBox:=[X+20, Y+100, X+85, Y+146];
23-
24- with Gametab.TopLeft do
25- Self.Boxes.BottomRightBox:= [X+95, Y+100, X+165, Y+146];
26-
27- with GameTab.TopLeft do
28- Self.Boxes.CombatLvlBox:= [X+45, Y+25, X+135, Y+40];
29-
30- with GameTab.Bounds do
31- Self.Boxes.AutoRetaliateBox:=[X1+20,Y1+155,X2-15,Y2-60];
25+ begin
26+ Self.Boxes.TopLeftBox := [X+20, Y+45, X+85, Y+90];
27+ Self.Boxes.TopRightBox := [X+95, Y+45, X+165, Y+90];
28+ Self.Boxes.BottomLeftBox :=[X+20, Y+100, X+85, Y+146];
29+ Self.Boxes.BottomRightBox := [X+95, Y+100, X+165, Y+146];
30+ Self.Boxes.CombatLvlBox := [X+45, Y+25, X+135, Y+40];
31+ end;
3232
3333 with GameTab.Bounds do
34- Self.Boxes.CategoryBox:=[X1+45,Y1+225,X2-45,Y2];
34+ begin
35+ Self.Boxes.AutoRetaliateBox := [X1+20,Y1+155,X2-15,Y2-60];
36+ Self.Boxes.CategoryBox := [X1+45,Y1+225,X2-45,Y2];
37+ end;
3538
36- Self.AttackStyles :=[Self.boxes.topleftbox , Self.Boxes.TopRightbox ,Self.Boxes.BottomLeftbox, Self.Boxes.BottomRightbox ];
39+ Self.AttackStyles :=[Self.boxes.TopLeftBox , Self.Boxes.TopRightBox ,Self.Boxes.BottomLeftBox, Self.Boxes.BottomRightBox ];
3740end;
41+
3842(*
3943## ChangeAttackStyle
4044```pascal
41- procedure TRSCombat.ChangeAttackStyle(Box: TBox);
45+ procedure TRSCombat.ChangeAttackStyle(b: TBox);
4246```
4347Changes attack styles. Uses parameters stored in Combat.Boxes. To call just use ```Combat.Boxes.TopLeftBox```
4448The last prefix can be switched out for TopRightBox, BottomLeftBox or BottomRightBox.
@@ -62,14 +66,15 @@ begin
6266end;
6367```
6468*)
65- procedure TRSCombat.ChangeAttackStyle(Box :TBox);
69+ procedure TRSCombat.ChangeAttackStyle(b :TBox);
6670begin
67- Mouse.Click(Box, EMouseButton.LEFT,True,EMouseDistribution.DEFAULT);
71+ Mouse.Click(b, EMouseButton.LEFT,True,EMouseDistribution.DEFAULT);
6872end;
73+
6974(*
7075## ToggleAutoRetaliate
7176```pascal
72- procedure TRSCombat.ToggleAutoRetaliate;
77+ procedure TRSCombat.ToggleAutoRetaliate() ;
7378```
7479Toggles the Auto-Retaliate feature.
7580
@@ -83,14 +88,14 @@ begin
8388end;
8489```
8590*)
86- procedure TRSCombat.ToggleAutoRetaliate;
87- var
88- b:TBox;
91+ procedure TRSCombat.ToggleAutoRetaliate();
8992begin
90- b:= self.Boxes.AutoRetaliateBox;
91- Mouse.Click(b,EMouseButton.LEFT,True,EMouseDistribution.DEFAULT);
93+ Mouse.Click(Self.Boxes.AutoRetaliateBox, EMouseButton.LEFT);
9294end;
9395
9496var
97+ (*
98+ ## Combat variable
99+ Global {ref}`TRSCombat` variable.
100+ *)
95101 Combat: TRSCombat;
96-
0 commit comments