# Combat Methods to interact with the combat gametab: ```{figure} ../../images/combattab.png ``` - - - ## TRSCombat Main record responsible with handling the combat gametab. - - - ## Combat.IsOpen ```pascal function TRSCombat.IsOpen(): Boolean; ``` Returns true/false if the combat tab is open. Example: ```pascal WriteLn Combat.IsOpen(); ``` - - - ## Combat.Open ```pascal function TRSCombat.Open(): Boolean; ``` Attempts to open the combat gametab. Example: ```pascal WriteLn Combat.Open(); ``` - - - ## Combat.GetCategory ```pascal function TRSCombat.GetCategory(): EWeaponCategory; ``` Returns the `EWeaponCategory` of the current weapon. Example: ```pascal {$I WaspLib/osrs.simba} begin WriteLn Combat.GetCategory(); end. ``` - - - ## Combat.StyleBoxes ```pascal property TRSCombat.StyleBoxes: TBoxArray; ``` Returns the the attack style boxes available. Example: ```pascal {$I WaspLib/osrs.simba} begin while True do ShowOnTarget(Combat.StyleBoxes); end. ``` ```{figure} ../../images/attackstyles.gif ``` - - - ## Combat.StyleBoxes ```pascal property TRSCombat.WeaponStyle: EWeaponStyle; property TRSCombat.WeaponStyle(value: EWeaponStyle): Boolean; ``` Gets/Sets the weapon `EWeaponStyle`. Example: ```pascal {$I WaspLib/osrs.simba} begin WriteLn Combat.WeaponStyle; WriteLn Combat.WeaponStyle := EWeaponStyle.BLOCK; WriteLn Combat.WeaponStyle; end. ``` - - - ## Combat.StyleBoxes ```pascal property TRSCombat.MeleeStyle: EMeleeStyle; property TRSCombat.MeleeStyle(value: EMeleeStyle): Boolean; ``` Gets/Sets the combat `EMeleeStyle`. Doesn't do anything if we don't have a melee weapon. Example: ```pascal {$I WaspLib/osrs.simba} begin WriteLn Combat.MeleeStyle; WriteLn Combat.MeleeStyle := EMeleeStyle.SLASH; WriteLn Combat.MeleeStyle; end. ``` - - - ## Combat.AutoRetaliate ```pascal property TRSCombat.AutoRetaliate: Boolean; property TRSCombat.AutoRetaliate(value: Boolean): Boolean; ``` Gets/Sets the auto retaliate state. Example: ```pascal {$I WaspLib/osrs.simba} begin WriteLn Combat.AutoRetaliate; Combat.AutoRetaliate := True; WriteLn Combat.AutoRetaliate; Combat.AutoRetaliate := False; WriteLn Combat.AutoRetaliate; end. ``` - - - ## Combat.SpecialAttack ```pascal property TRSCombat.SpecialAttack: Boolean; property TRSCombat.SpecialAttack(value: Boolean): Boolean; ``` Gets/Sets the special attack state. Example: ```pascal {$I WaspLib/osrs.simba} begin WriteLn Combat.SpecialAttack; Combat.SpecialAttack := True; WriteLn Combat.SpecialAttack; Combat.SpecialAttack := False; WriteLn Combat.SpecialAttack; end. ``` - - - ## Combat variable Global {ref}`TRSCombat` variable.