Skip to content
This repository was archived by the owner on Feb 9, 2022. It is now read-only.

Commit 35d03ec

Browse files
ExplvExplv
authored andcommitted
Fix ItemReqBanking not withdrawing when min quantity of item req in inventory
Fix ItemReqBanking not depositing when more than target amount in inventory Restructuring GETaskPanel Fix RSUnitField validation
1 parent 6dc4504 commit 35d03ec

File tree

5 files changed

+57
-33
lines changed

5 files changed

+57
-33
lines changed

AIO/src/org/aio/activities/banking/ItemReqBanking.java

Lines changed: 26 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ public int execute() throws InterruptedException {
139139
} else {
140140
ItemReq itemReq = equipableItemReqQueue.peek();
141141
if (!itemReq.hasRequirement(getInventory(), getEquipment())) {
142-
if (!getItemReq(itemReq)) {
142+
if (!withdrawItemReq(itemReq)) {
143143
setFailed();
144144
}
145145
} else {
@@ -195,36 +195,51 @@ public int execute() throws InterruptedException {
195195
} else {
196196
ItemReq itemReq = nonEquipableItemReqs.peek();
197197

198-
if (!itemReq.hasRequirement(getInventory(), getEquipment())) {
199-
if (!getItemReq(itemReq)) {
198+
int targetAmount = reqTargetAmountMap.get(itemReq);
199+
long amountOnPlayer = itemReq.getAmount(getInventory(), getEquipment());
200+
201+
if (amountOnPlayer > targetAmount && targetAmount != ItemReq.QUANTITY_ALL) {
202+
depositExcess(itemReq);
203+
} else if (!itemReq.hasRequirement(getInventory(), getEquipment())) {
204+
if (!withdrawItemReq(itemReq)) {
200205
setFailed();
201206
}
207+
} else if (amountOnPlayer < targetAmount && getBank().contains(itemReq.getName())) {
208+
withdrawItemReq(itemReq);
202209
} else {
203210
nonEquipableItemReqs.poll();
204211
}
205212
}
206213
return 600;
207214
}
208215
});
216+
209217
if (withdrawNonEquipableEvent.hasFailed()) {
210218
setFailed();
211219
}
212220
}
213221

214-
private boolean getItemReq(final ItemReq itemReq) {
222+
private boolean depositExcess(final ItemReq itemReq) {
215223
int amountOnPlayer = (int) getAmountOnPlayer(itemReq);
216-
int targetAmount = reqTargetAmountMap.get(itemReq);
217224

225+
int excessAmount = amountOnPlayer - reqTargetAmountMap.get(itemReq);
226+
if (getBank().deposit(itemReq.getName(), excessAmount)) {
227+
Sleep.sleepUntil(() -> getAmountOnPlayer(itemReq) < amountOnPlayer, 1200, 600);
228+
return true;
229+
}
230+
231+
return false;
232+
}
233+
234+
private boolean withdrawItemReq(final ItemReq itemReq) {
218235
if (itemReq.isNoted() && getBank().getWithdrawMode() != org.osbot.rs07.api.Bank.BankMode.WITHDRAW_NOTE) {
219236
getBank().enableMode(org.osbot.rs07.api.Bank.BankMode.WITHDRAW_NOTE);
220237
} else if (!itemReq.isNoted() && getBank().getWithdrawMode() != org.osbot.rs07.api.Bank.BankMode.WITHDRAW_ITEM) {
221238
getBank().enableMode(org.osbot.rs07.api.Bank.BankMode.WITHDRAW_ITEM);
222-
} else if (targetAmount != ItemReq.QUANTITY_ALL && amountOnPlayer > targetAmount) {
223-
int excessAmount = amountOnPlayer - reqTargetAmountMap.get(itemReq);
224-
if (getBank().deposit(itemReq.getName(), excessAmount)) {
225-
Sleep.sleepUntil(() -> getAmountOnPlayer(itemReq) < amountOnPlayer, 1200, 600);
226-
}
227-
} else if (targetAmount == ItemReq.QUANTITY_ALL || amountOnPlayer < reqTargetAmountMap.get(itemReq)) {
239+
} else {
240+
int amountOnPlayer = (int) getAmountOnPlayer(itemReq);
241+
int targetAmount = reqTargetAmountMap.get(itemReq);
242+
228243
if (amountOnPlayer < itemReq.getMinQuantity()) {
229244
int requiredAmountForMinQuantity = Math.max(0, itemReq.getMinQuantity() - amountOnPlayer);
230245
int bankAmount = (int) itemReq.getAmount(getBank());

AIO/src/org/aio/gui/fields/RSUnitField.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package org.aio.gui.fields;
22

33

4+
import org.aio.gui.utils.ColourScheme;
45
import org.aio.util.RSUnits;
56

67
import javax.swing.*;
@@ -33,18 +34,18 @@ public long getValue() {
3334

3435
private boolean validateField() {
3536
if (getText().trim().isEmpty()) {
36-
setBorder(BorderFactory.createLineBorder(Color.RED));
37+
setForeground(Color.RED);
3738
return false;
3839
}
3940

4041
String text = getText().trim();
4142

4243
if (!RSUnits.UNIT_PATTERN.matcher(text).matches()) {
43-
setBorder(BorderFactory.createLineBorder(Color.RED));
44+
setForeground(Color.RED);
4445
return false;
4546
}
4647

47-
setBorder(BorderFactory.createLineBorder(Color.BLACK));
48+
setForeground(ColourScheme.WHITE);
4849
return true;
4950
}
5051
}

AIO/src/org/aio/gui/styled_components/StyledJComboBox.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,9 @@
11
package org.aio.gui.styled_components;
22

3-
import org.aio.gui.IconButton;
43
import org.aio.gui.utils.ColourScheme;
5-
import org.aio.util.ResourceManager;
64

75
import javax.swing.*;
86
import javax.swing.plaf.ComponentUI;
9-
import javax.swing.plaf.basic.BasicArrowButton;
107
import javax.swing.plaf.basic.BasicComboBoxUI;
118

129
public class StyledJComboBox<E> extends JComboBox<E> {

AIO/src/org/aio/gui/task_panels/GETaskPanel.java

Lines changed: 26 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -38,21 +38,26 @@ public class GETaskPanel extends TaskPanel {
3838
GETaskPanel() {
3939
super(TaskType.GRAND_EXCHANGE);
4040

41-
JPanel contentPanel = new StyledJPanel(new BorderLayout());
41+
JPanel contentPanel = new StyledJPanel();
42+
contentPanel.setLayout(new BoxLayout(contentPanel, BoxLayout.Y_AXIS));
4243

43-
JPanel controls = new StyledJPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));
44+
JPanel typePanel = new StyledJPanel(new FlowLayout(FlowLayout.LEFT, 5, 5));
4445

45-
controls.add(new StyledJLabel("Type:"));
46+
typePanel.add(new StyledJLabel("Type:"));
4647

47-
typeSelector = new StyledJComboBox<>();
48+
typeSelector = new StyledJComboBox<>(GEMode.values());
4849
typeSelector.addActionListener(e -> {
4950
if (itemNameField.validateItemNameField()) {
5051
updatePriceField();
5152
}
5253
});
53-
controls.add(typeSelector);
54+
typePanel.add(typeSelector);
5455

55-
controls.add(new StyledJLabel("Item Name:"));
56+
contentPanel.add(typePanel);
57+
58+
JPanel itemPanel = new StyledJPanel(new FlowLayout(FlowLayout.LEFT));
59+
60+
itemPanel.add(new StyledJLabel("Item Name:"));
5661

5762
itemNameField = new ItemField();
5863
itemNameField.addKeyListener(new KeyAdapter() {
@@ -63,27 +68,33 @@ public void keyReleased(final KeyEvent e) {
6368
}
6469
}
6570
});
66-
controls.add(itemNameField);
71+
itemPanel.add(itemNameField);
72+
73+
contentPanel.add(itemPanel);
74+
75+
JPanel priceQuantityPanel = new StyledJPanel(new FlowLayout(FlowLayout.LEFT));
6776

68-
controls.add(new StyledJLabel("Quantity:"));
77+
priceQuantityPanel.add(new StyledJLabel("Quantity:"));
6978

7079
itemQuantityField = new RSUnitField();
7180
itemQuantityField.setColumns(10);
72-
controls.add(itemQuantityField);
81+
priceQuantityPanel.add(itemQuantityField);
7382

74-
controls.add(new StyledJLabel("Price:"));
83+
priceQuantityPanel.add(new StyledJLabel("Price:"));
7584

7685
itemPriceField = new RSUnitField();
7786
itemPriceField.setColumns(10);
78-
controls.add(itemPriceField);
87+
priceQuantityPanel.add(itemPriceField);
88+
89+
contentPanel.add(priceQuantityPanel);
90+
91+
JPanel waitCompletionPanel = new StyledJPanel(new FlowLayout(FlowLayout.LEFT));
7992

8093
waitForCompletion = new StyledJCheckBox("Wait for completion");
8194
waitForCompletion.setSelected(true);
82-
controls.add(waitForCompletion);
83-
84-
contentPanel.add(controls, BorderLayout.CENTER);
95+
waitCompletionPanel.add(waitForCompletion);
8596

86-
typeSelector.setModel(new DefaultComboBoxModel<>(GEMode.values()));
97+
contentPanel.add(waitCompletionPanel);
8798

8899
setContentPanel(contentPanel);
89100
}

AIO/src/org/aio/script/AIO.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030
@ScriptManifest(author = "Explv", name = "Explv's AIO " + AIO.VERSION, info = "AIO", version = 0, logo = "http://i.imgur.com/58Zz0fb.png")
3131
public class AIO extends Script {
3232

33-
static final String VERSION = "v2.3.0";
33+
static final String VERSION = "v2.3.1";
3434

3535
private Gui gui;
3636
private Paint paint;

0 commit comments

Comments
 (0)