Files
Nitro_Render_V3/packages/communication/src/messages/parser/rarevalues/RareValuesParser.ts
T
medievalshell 87eec0563d 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).
2026-05-28 02:39:01 +02:00

42 lines
950 B
TypeScript

import { IMessageDataWrapper, IMessageParser } from '@nitrots/api';
export interface IRareValue
{
credits: number;
points: number;
pointsType: number;
}
export class RareValuesParser implements IMessageParser
{
private _values: Map<number, IRareValue> = new Map();
public flush(): boolean
{
this._values = new Map();
return true;
}
public parse(wrapper: IMessageDataWrapper): boolean
{
if(!wrapper) return false;
const count = wrapper.readInt();
for(let i = 0; i < count; i++)
{
const spriteId = wrapper.readInt();
const credits = wrapper.readInt();
const points = wrapper.readInt();
const pointsType = wrapper.readInt();
this._values.set(spriteId, { credits, points, pointsType });
}
return true;
}
public get values(): Map<number, IRareValue> { return this._values; }
}