/* Galvanic Corrosion - Rec Room custom server for communities. Copyright (C) 2025 @zombieb (Discord / proxnet Gitea) This program is free software: you can redistribute it and/or modify it under the terms of the GNU Affero General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Affero General Public License for more details. You should have received a copy of the GNU Affero General Public License along with this program. If not, see . */ export enum Consumable { ASSORTED_DONUTS, SUPREME_PIZZA, ROOT_BEER, CHOCOLATE_FROSTED_DONUTS, CHEESE_PIZZA, PEPPERONI_PIZZA, GLAZED_DONUTS, } const ids = [ "ZuvkidodzkuOfGLDnTOFyg", "wUCIKdJSvEmiQHYMyx4X4w", "JfnVXFmilU6ysv-VbTAe3A", "mMCGPgK3tki5S_15q2Z81A", "5hIAZ9wg5EyG1cILf4FS2A", "mq23W-RSP0G8iGNLdrcpUw", "7OZ5AE3uuUyqa0P-2W1ptg", ] as const; export class ConsumableSelection { type: Consumable; guid: string; constructor(type: Consumable) { this.type = type; this.guid = ids[type]; } } export class ConsumableBuilder { Id: number; ConsumableItemDesc: string; CreatedAt: string; Count: number; UnlockedLevel: number; IsActive: boolean; constructor( selection: ConsumableSelection, id: number, createdAt: Date, count: number, active: boolean, ) { this.Id = id; this.ConsumableItemDesc = selection.guid; this.CreatedAt = createdAt.toUTCString(); this.Count = count; this.UnlockedLevel = 0; // All players have access to every consumable - avatars and equipment are different this.IsActive = active; } }