You've already forked Nitro_Render_V3
mirror of
https://github.com/duckietm/Nitro_Render_V3.git
synced 2026-06-20 07:26:18 +00:00
feat: rare values + fortune wheel protocol + prize editor
Composers/parsers/events for rare values + wheel (open/spin/buy/data/result/ recent-wins) + admin (get/save prizes), headers 9300-9305 / 9400-9404. fix: figure map uses split-aware loadGamedata (raw fetch broke on tier-manifest gamedata, silently empty avatars).
This commit is contained in:
@@ -548,4 +548,12 @@ export class OutgoingHeader
|
||||
public static HOUSEKEEPING_SEND_HOTEL_ALERT = 9121;
|
||||
public static HOUSEKEEPING_GET_DASHBOARD = 9122;
|
||||
public static HOUSEKEEPING_LIST_ACTION_LOG = 9123;
|
||||
|
||||
// Custom features — IDs 9300+ reserved
|
||||
public static REQUEST_RARE_VALUES = 9300;
|
||||
public static WHEEL_OPEN = 9301;
|
||||
public static WHEEL_SPIN = 9302;
|
||||
public static WHEEL_BUY_SPIN = 9303;
|
||||
public static WHEEL_ADMIN_GET_PRIZES = 9304;
|
||||
public static WHEEL_ADMIN_SAVE_PRIZES = 9305;
|
||||
}
|
||||
|
||||
@@ -22,6 +22,8 @@ export * from './groupforums';
|
||||
export * from './handshake';
|
||||
export * from './help';
|
||||
export * from './housekeeping';
|
||||
export * from './rarevalues';
|
||||
export * from './wheel';
|
||||
export * from './inventory';
|
||||
export * from './inventory/avatareffect';
|
||||
export * from './inventory/badges';
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export class RequestRareValuesComposer implements IMessageComposer<[]>
|
||||
{
|
||||
public getMessageArray(): [] { return []; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
export * from './RequestRareValuesComposer';
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export class WheelAdminGetPrizesComposer implements IMessageComposer<[]>
|
||||
{
|
||||
public getMessageArray(): [] { return []; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1,32 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export interface IWheelAdminPrizeEdit
|
||||
{
|
||||
id: number;
|
||||
type: string;
|
||||
value: string;
|
||||
amount: number;
|
||||
pointsType: number;
|
||||
weight: number;
|
||||
label: string;
|
||||
}
|
||||
|
||||
export class WheelAdminSavePrizesComposer implements IMessageComposer<(number | string)[]>
|
||||
{
|
||||
private _data: (number | string)[];
|
||||
|
||||
constructor(prizes: IWheelAdminPrizeEdit[])
|
||||
{
|
||||
const data: (number | string)[] = [ prizes.length ];
|
||||
|
||||
for(const prize of prizes)
|
||||
{
|
||||
data.push(prize.id, prize.type, prize.value, prize.amount, prize.pointsType, prize.weight, prize.label);
|
||||
}
|
||||
|
||||
this._data = data;
|
||||
}
|
||||
|
||||
public getMessageArray(): (number | string)[] { return this._data; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export class WheelBuySpinComposer implements IMessageComposer<[]>
|
||||
{
|
||||
public getMessageArray(): [] { return []; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export class WheelOpenComposer implements IMessageComposer<[]>
|
||||
{
|
||||
public getMessageArray(): [] { return []; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1,7 @@
|
||||
import { IMessageComposer } from '@nitrots/api';
|
||||
|
||||
export class WheelSpinComposer implements IMessageComposer<[]>
|
||||
{
|
||||
public getMessageArray(): [] { return []; }
|
||||
public dispose(): void { return; }
|
||||
}
|
||||
@@ -0,0 +1,5 @@
|
||||
export * from './WheelOpenComposer';
|
||||
export * from './WheelSpinComposer';
|
||||
export * from './WheelBuySpinComposer';
|
||||
export * from './WheelAdminGetPrizesComposer';
|
||||
export * from './WheelAdminSavePrizesComposer';
|
||||
Reference in New Issue
Block a user