From ef61a313282ab19957ccf1607c913701ac34171a Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Fri, 15 May 2026 16:24:10 -0700 Subject: [PATCH 1/4] Refactor color detection for crafting items --- osrs/interfaces/mainscreen/goldscreen.simba | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/osrs/interfaces/mainscreen/goldscreen.simba b/osrs/interfaces/mainscreen/goldscreen.simba index 730254e9..b9aa6a8d 100644 --- a/osrs/interfaces/mainscreen/goldscreen.simba +++ b/osrs/interfaces/mainscreen/goldscreen.simba @@ -239,15 +239,15 @@ function TRSGoldScreen.CanCraftItem(Item: ERSGoldItem): Boolean; ``` Returns `True` if the given item icon is available for crafting. *) -function TRSGoldScreen.CanCraftItem(i: ERSGoldItem): Boolean; +function TRSGoldScreen.CanCraftItem(i: ERSGoldItem): Boolean; const - GOLD_COLOR: TColor := 2806763; + GOLD_COLOR : TColorTolerance := [$1FB2BC, 3.285, EColorSpace.LCH, [0.433, 0.512, 2.056]]; begin if not Self.IsOpen() then Exit; - Result := Target.FindColor(GOLD_COLOR, 1, Self.ItemBoxes[i]).Length > 0; -end; + Result := Target.HasColor(GOLD_COLOR, 10, Self.ItemBoxes[i]); +end; (* ## GoldScreen.IsItemHighlighted @@ -256,9 +256,9 @@ function TRSGoldScreen.IsItemHighlighted(Item: ERSGoldItem): Boolean; ``` Returns `True` if the given item is currently highlighted. *) -function TRSGoldScreen.IsItemHighlighted(i: ERSGoldItem): Boolean; +function TRSGoldScreen.IsItemHighlighted(i: ERSGoldItem): Boolean; var - highlight: TColorTolerance := [4807018,2]; + goldColor : TColorTolerance := [$1FB2BC, 3.285, EColorSpace.LCH, [0.433, 0.512, 2.056]]; begin if not Self.IsOpen() then Exit; @@ -266,8 +266,8 @@ begin if not Self.CanCraftItem(i) then Exit; - Result := Target.FindColor(highlight, Self.ItemBoxes[i]).Length > 0; -end; + Result := Target.HasColor(goldColor, 10 ,Self.ItemBoxes[i]); +end; (* ## GoldScreen.CraftItem From a0a3481a863f94cde9efb59153354359699b8128 Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Fri, 15 May 2026 16:26:48 -0700 Subject: [PATCH 2/4] Change CanCraftItem parameter from Item to var Item --- osrs/interfaces/mainscreen/silverscreen.simba | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/osrs/interfaces/mainscreen/silverscreen.simba b/osrs/interfaces/mainscreen/silverscreen.simba index c6b99a90..84880f0a 100644 --- a/osrs/interfaces/mainscreen/silverscreen.simba +++ b/osrs/interfaces/mainscreen/silverscreen.simba @@ -238,7 +238,7 @@ if SilverScreen.CanCraftItem('Opal ring', box) then WriteLn 'Can craft opal ring'; ``` *) -function TRSSilverScreen.CanCraftItem(Item : TRSItem; out Box : TBox) : Boolean; +function TRSSilverScreen.CanCraftItem(var Item : TRSItem; out Box : TBox) : Boolean; const READY_GOLD = $1F98FF; // gold text (craftable) READY_WHITE = $FFFFFF; // white (selected/ready) @@ -248,6 +248,9 @@ var begin if not Self.IsOpen() then Exit; + if Item.Contains('amulet' , False) then + Item := Item + ' (u)'; + if not Self.Items.Find([Item], Slot) then Exit; @@ -255,7 +258,7 @@ begin TPA := Target.FindColor(READY_GOLD, 1, Box) + Target.FindColor(READY_WHITE, 1, Box); Result := TPA.Length > 0; -end; +end; (* From 260632e961a64e1c6d720439709605213fc58528 Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Fri, 15 May 2026 16:50:16 -0700 Subject: [PATCH 3/4] Fix SPACE key handling in GoldScreen Ensure GoldScreen is open after pressing SPACE key. --- osrs/interfaces/mainscreen/goldscreen.simba | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/osrs/interfaces/mainscreen/goldscreen.simba b/osrs/interfaces/mainscreen/goldscreen.simba index b9aa6a8d..a73372b9 100644 --- a/osrs/interfaces/mainscreen/goldscreen.simba +++ b/osrs/interfaces/mainscreen/goldscreen.simba @@ -287,10 +287,13 @@ begin if not Result then Exit; if UseSpaceBar and Self.IsItemHighlighted(Item) then - Keyboard.KeyPress(EKeyCode.SPACE) - else + begin + Keyboard.KeyPress(EKeyCode.SPACE); + if not GoldScreen.IsOpen() then + Exit; + end; Mouse.Click(Self.ItemBoxes[Item], EMouseButton.LEFT); -end; +end; var (* From d8a296ee68dc17c636bcb702e2104392690ba5ed Mon Sep 17 00:00:00 2001 From: XxXAdvisaryXxX Date: Fri, 15 May 2026 17:56:04 -0700 Subject: [PATCH 4/4] Update goldscreen.simba --- osrs/interfaces/mainscreen/goldscreen.simba | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/osrs/interfaces/mainscreen/goldscreen.simba b/osrs/interfaces/mainscreen/goldscreen.simba index a73372b9..0739d7af 100644 --- a/osrs/interfaces/mainscreen/goldscreen.simba +++ b/osrs/interfaces/mainscreen/goldscreen.simba @@ -289,7 +289,7 @@ begin if UseSpaceBar and Self.IsItemHighlighted(Item) then begin Keyboard.KeyPress(EKeyCode.SPACE); - if not GoldScreen.IsOpen() then + if not Self.IsOpen() then Exit; end; Mouse.Click(Self.ItemBoxes[Item], EMouseButton.LEFT);