Skip to content

Commit a441a0f

Browse files
committed
save banking settings
1 parent 897c506 commit a441a0f

File tree

4 files changed

+29
-4
lines changed

4 files changed

+29
-4
lines changed

src/plugins/objects/bank/bank-booth-plugin.ts renamed to src/plugins/objects/bank/bank-plugin.ts

Lines changed: 26 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,14 @@ import { objectAction } from '@server/world/actor/player/action/object-action';
55
import { ItemContainer } from '@server/world/items/item-container';
66
import { itemAction } from '@server/world/actor/player/action/item-action';
77
import { Item } from '@server/world/items/item';
8+
import { buttonAction } from '@server/world/actor/player/action/button-action';
89

10+
const buttonIds: number[] = [
11+
92, // as note
12+
93, // as item
13+
98, // swap
14+
99, // insert
15+
];
916

1017
export const openBankInterface: objectAction = (details) => {
1118
details.player.activeWidget = {
@@ -17,9 +24,6 @@ export const openBankInterface: objectAction = (details) => {
1724

1825
details.player.outgoingPackets.sendUpdateAllWidgetItems(widgets.bank.tabWidget, details.player.inventory);
1926
details.player.outgoingPackets.sendUpdateAllWidgetItems(widgets.bank.screenWidget, details.player.bank);
20-
details.player.outgoingPackets.updateClientConfig(304, details.player.sessionMetadata['bankRearrangeMode'] === 'insert' ? 1 : 0);
21-
details.player.outgoingPackets.updateClientConfig(115, details.player.sessionMetadata['bankWithdrawAs'] === 'note' ? 1 : 0);
22-
2327
};
2428

2529
export const depositItem: itemAction = (details) => {
@@ -141,6 +145,24 @@ export const withdrawItem: itemAction = (details) => {
141145
details.player.outgoingPackets.sendUpdateAllWidgetItems(widgets.bank.screenWidget, details.player.bank);
142146
};
143147

148+
export const btnAction: buttonAction = (details) => {
149+
const {player, buttonId} = details;
150+
player.settingChanged(buttonId);
151+
152+
const settingsMappings = {
153+
92: {setting: 'bankWithdrawNoteMode', value: 1},
154+
93: {setting: 'bankWithdrawNoteMode', value: 0},
155+
98: {setting: 'bankInsertMode', value: 0},
156+
99: {setting: 'bankInsertMode', value: 1},
157+
};
158+
if (!settingsMappings.hasOwnProperty(buttonId)) {
159+
return;
160+
}
161+
162+
const config = settingsMappings[buttonId];
163+
player.settings[config.setting] = config.value;
164+
};
165+
144166

145167
export default new RunePlugin([{
146168
type: ActionType.OBJECT_ACTION,
@@ -158,4 +180,4 @@ export default new RunePlugin([{
158180
widgets: widgets.bank.screenWidget,
159181
options: ['withdraw-1', 'withdraw-5', 'withdraw-10', 'withdraw-all'],
160182
action: withdrawItem,
161-
}]);
183+
}, {type: ActionType.BUTTON, widgetId: widgets.bank.screenWidget.widgetId, buttonIds: buttonIds, action: btnAction}]);

src/plugins/player/login-update-settings-plugin.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ export const action: playerInitAction = (details) => {
2121
player.outgoingPackets.updateClientConfig(widgetScripts.autoRetaliate, settings.autoRetaliateEnabled ? 0 : 1);
2222
player.outgoingPackets.updateClientConfig(widgetScripts.attackStyle, settings.attackStyle);
2323
player.outgoingPackets.updateClientConfig(widgetScripts.bankInsertMode, settings.bankInsertMode);
24+
player.outgoingPackets.updateClientConfig(widgetScripts.bankWithdrawNoteMode, settings.bankWithdrawNoteMode);
2425
};
2526

2627
export default new RunePlugin({ type: ActionType.PLAYER_INIT, action });

src/world/actor/player/player-data.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ export class PlayerSettings {
4242
autoRetaliateEnabled: boolean = true;
4343
attackStyle: number = 0;
4444
bankInsertMode: number = 0;
45+
bankWithdrawNoteMode: number = 0;
4546
}
4647

4748
export interface PlayerSave {

src/world/config/widget.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,7 @@ export const widgetScripts = {
8686
runMode: 173,
8787
splitPrivateChat: 287,
8888
bankInsertMode: 304,
89+
bankWithdrawNoteMode: 115,
8990
acceptAid: 427,
9091
areaEffectVolume: 872,
9192
questPoints: 101

0 commit comments

Comments
 (0)