5180 fichiers 38.5 Mo 0 téléchargements 236 vues mis à jour il y a 5 heures ui
Purse.ts 3.8 Ko Télécharger le fichier
import { GetTickerTime, HabboClubLevelEnum } from '@octane/renderer';
import { IPurse } from './IPurse';

export class Purse implements IPurse {
    private _credits: number = 0;
    private _activityPoints: Map<number, number> = new Map();
    private _clubDays: number = 0;
    private _clubPeriods: number = 0;
    private _isVIP: boolean = false;
    private _pastClubDays: number = 0;
    private _pastVipDays: number = 0;
    private _isExpiring: boolean = false;
    private _minutesUntilExpiration: number = 0;
    private _minutesSinceLastModified: number = 0;
    private _lastUpdated: number = 0;

    public static from(purse: Purse): Purse {
        const newPurse = new Purse();

        newPurse._credits = purse._credits;
        newPurse._activityPoints = purse._activityPoints;
        newPurse._clubDays = purse._clubDays;
        newPurse._clubPeriods = purse._clubPeriods;
        newPurse._isVIP = purse._isVIP;
        newPurse._pastClubDays = purse._pastClubDays;
        newPurse._pastVipDays = purse._pastVipDays;
        newPurse._isExpiring = purse._isExpiring;
        newPurse._minutesUntilExpiration = purse._minutesUntilExpiration;
        newPurse._minutesSinceLastModified = purse._minutesSinceLastModified;
        newPurse._lastUpdated = purse._lastUpdated;

        return newPurse;
    }

    public get credits(): number {
        return this._credits;
    }

    public set credits(credits: number) {
        this._lastUpdated = GetTickerTime();
        this._credits = credits;
    }

    public get activityPoints(): Map<number, number> {
        return this._activityPoints;
    }

    public set activityPoints(k: Map<number, number>) {
        this._lastUpdated = GetTickerTime();
        this._activityPoints = k;
    }

    public get clubDays(): number {
        return this._clubDays;
    }

    public set clubDays(k: number) {
        this._lastUpdated = GetTickerTime();
        this._clubDays = k;
    }

    public get clubPeriods(): number {
        return this._clubPeriods;
    }

    public set clubPeriods(k: number) {
        this._lastUpdated = GetTickerTime();
        this._clubPeriods = k;
    }

    public get hasClubLeft(): boolean {
        return this._clubDays > 0 || this._clubPeriods > 0;
    }

    public get isVip(): boolean {
        return this._isVIP;
    }

    public set isVip(k: boolean) {
        this._isVIP = k;
    }

    public get pastClubDays(): number {
        return this._pastClubDays;
    }

    public set pastClubDays(k: number) {
        this._lastUpdated = GetTickerTime();
        this._pastClubDays = k;
    }

    public get pastVipDays(): number {
        return this._pastVipDays;
    }

    public set pastVipDays(k: number) {
        this._lastUpdated = GetTickerTime();
        this._pastVipDays = k;
    }

    public get isExpiring(): boolean {
        return this._isExpiring;
    }

    public set isExpiring(k: boolean) {
        this._isExpiring = k;
    }

    public get minutesUntilExpiration(): number {
        var k: number = (GetTickerTime() - this._lastUpdated) / (1000 * 60);
        var _local_2: number = this._minutesUntilExpiration - k;
        return _local_2 > 0 ? _local_2 : 0;
    }

    public set minutesUntilExpiration(k: number) {
        this._lastUpdated = GetTickerTime();
        this._minutesUntilExpiration = k;
    }

    public get minutesSinceLastModified(): number {
        return this._minutesSinceLastModified;
    }

    public set minutesSinceLastModified(k: number) {
        this._lastUpdated = GetTickerTime();
        this._minutesSinceLastModified = k;
    }

    public get lastUpdated(): number {
        return this._lastUpdated;
    }

    public get clubLevel(): number {
        if (this.clubDays === 0 && this.clubPeriods === 0) return HabboClubLevelEnum.NO_CLUB;

        if (this.isVip) return HabboClubLevelEnum.VIP;

        return HabboClubLevelEnum.CLUB;
    }
}
15Sujets
1Dépôts
20Membres
2En ligne
Profile
Inscrit
Dernière visite
Messages
0
Votes positifs
0
Votes négatifs
0

Nous utilisons des cookies pour assurer le bon fonctionnement du site et améliorer votre expérience. en savoir plus

Autoriser