Skip to content

Commit 0eb9350

Browse files
committed
add helper function hasValueNotNull and prepare config ids for bank interface
1 parent 8810966 commit 0eb9350

File tree

5 files changed

+15
-8
lines changed

5 files changed

+15
-8
lines changed

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,8 @@ export const openBankInterface: objectAction = (details) => {
1717

1818
details.player.outgoingPackets.sendUpdateAllWidgetItems(widgets.bank.tabWidget, details.player.inventory);
1919
details.player.outgoingPackets.sendUpdateAllWidgetItems(widgets.bank.screenWidget, details.player.bank);
20-
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);
2122

2223
};
2324

src/util/data.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
export function hasValueNotNull(variable: any): boolean {
2+
return typeof variable !== 'undefined' && variable !== null;
3+
}

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

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { join } from 'path';
44
import { logger } from '@runejs/logger';
55
import { Player } from './player';
66
import { SkillValue } from '@server/world/actor/skills';
7+
import { hasValueNotNull } from '@server/util/data';
78

89

910
export interface QuestProgress {
@@ -124,7 +125,7 @@ export function savePlayerData(player: Player): boolean {
124125
appearance: player.appearance,
125126
inventory: player.inventory.items,
126127
bank: player.bank.items.filter((item) => {
127-
return !!item;
128+
return hasValueNotNull(item);
128129
}),
129130
equipment: player.equipment.items,
130131
skills: player.skills.values,

src/world/actor/player/player.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ export class Player extends Actor {
9292
public readonly actionsCancelled: Subject<boolean>;
9393
private quadtreeKey: QuadtreeKey = null;
9494
public savedMetadata: { [key: string]: any } = {};
95+
public sessionMetadata: { [key: string]: any } = {};
9596
public quests: QuestProgress[] = [];
9697
public achievements: string[] = [];
9798

src/world/items/item-container.ts

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import { Item } from './item';
22
import { Subject } from 'rxjs';
33
import { cache, world } from '@server/game-server';
4+
import { hasValueNotNull } from '@server/util/data';
45

56
export interface ContainerUpdateEvent {
67
slot?: number;
@@ -43,7 +44,7 @@ export class ItemContainer {
4344
if (stackable) {
4445
const index = this.findIndex(search);
4546

46-
if (!index || index === -1) {
47+
if (!hasValueNotNull(index) || index === -1) {
4748
return [];
4849
} else {
4950
return [index];
@@ -204,7 +205,7 @@ export class ItemContainer {
204205
}
205206

206207
public getFirstOpenSlot(): number {
207-
return this._items.findIndex(item => !item);
208+
return this._items.findIndex(item => !hasValueNotNull(item));
208209
}
209210

210211
public hasSpace(): boolean {
@@ -214,7 +215,7 @@ export class ItemContainer {
214215
public getOpenSlotCount(): number {
215216
let count = 0;
216217
for (let i = 0; i < this._size; i++) {
217-
if (!this._items[i]) {
218+
if (!hasValueNotNull(this._items[i])) {
218219
count++;
219220
}
220221
}
@@ -226,7 +227,7 @@ export class ItemContainer {
226227
const slots: number[] = [];
227228

228229
for (let i = 0; i < this._size; i++) {
229-
if (!this._items[i]) {
230+
if (!hasValueNotNull(this._items[i])) {
230231
slots.push(i);
231232
}
232233
}
@@ -246,12 +247,12 @@ export class ItemContainer {
246247
let weight = 0;
247248

248249
for (const item of this._items) {
249-
if (!item) {
250+
if (!hasValueNotNull(item)) {
250251
continue;
251252
}
252253

253254
const itemData = world.itemData.get(item.itemId);
254-
if (!itemData || itemData.weight === undefined) {
255+
if (!!hasValueNotNull(itemData) || itemData.weight === undefined) {
255256
continue;
256257
}
257258

0 commit comments

Comments
 (0)