From fdb67513fe5424c57eb58f274fc5ef064b9320c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C3=81ron=20Gida?= Date: Wed, 26 Jun 2024 18:07:11 +0200 Subject: [PATCH 1/3] update player schema --- .../models/colyseus-schema/PlayerSchema.ts | 67 +++++++++++++++++-- 1 file changed, 61 insertions(+), 6 deletions(-) diff --git a/src/app/models/colyseus-schema/PlayerSchema.ts b/src/app/models/colyseus-schema/PlayerSchema.ts index 061de55..22b6858 100644 --- a/src/app/models/colyseus-schema/PlayerSchema.ts +++ b/src/app/models/colyseus-schema/PlayerSchema.ts @@ -5,28 +5,83 @@ import { Item } from './ItemSchema'; export class Player extends Schema { @type('number') playerId: number = 0; @type('string') name: string = 'name'; - @type('number') hp: number = 0; - @type('number') attack: number = 0; - @type('number') gold: number = 0; + @type('number') private _hp: number = 0; + @type('number') private _attack: number = 0; + @type('number') private _gold: number = 0; @type('number') xp: number = 0; - @type('number') level: number = 0; + @type('number') private _level: number = 0; @type('string') sessionId: string = 'sessionId'; @type('number') private _defense: number = 0; - @type('number') attackSpeed: number = 0; + @type('number') private _attackSpeed: number = 0; @type('number') maxXp: number = 0; @type('number') round: number = 1; @type('number') lives: number = 3; @type('number') wins: number = 0; + @type('number') private _poisonStack: number = 0; @type('string') avatarUrl: string = 'https://chungus-battles.b-cdn.net/chungus-battles-assets/Portrait_ID_0_Placeholder.png'; @type([Talent]) talents: ArraySchema = new ArraySchema(); @type([Item]) inventory: ArraySchema = new ArraySchema(); + get gold(): number { + return this._gold; + } + + set gold(value: number) { + this._gold = value < 0 ? 0 : value; + } + + get level(): number { + return this._level; + } + + set level(value: number) { + this._level = value > 5 ? 5 : value; + } + + get attackSpeed(): number { + return this._attackSpeed; + } + + set attackSpeed(value: number) { + this._attackSpeed = value < 0.1 ? 0.1 : value; + } + + get hp(): number { + return this._hp; + } + + set hp(value: number) { + this._hp = value < 0 ? 0 : value; + } + + get attack(): number { + return this._attack; + } + + set attack(value: number) { + this._attack = value < 1 ? 1 : value; + } + + get poisonStack(): number { + return this._poisonStack; + } + + set poisonStack(value: number) { + if (value < 0) { + this._poisonStack = 0; + } else if (value > 50) { + this._poisonStack = 50; + } else { + this._poisonStack = value; + } + } + get defense(): number { return this._defense; } set defense(value: number) { - this._defense = value; + this._defense = value < 0 ? 0 : value; } } From cbd8d14ad600fd7f21d420950bc3b5c3dd951878 Mon Sep 17 00:00:00 2001 From: arongida Date: Fri, 28 Jun 2024 12:13:40 +0200 Subject: [PATCH 2/3] fix fight room reconnect in case of error --- src/app/fight/services/fight.service.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/fight/services/fight.service.ts b/src/app/fight/services/fight.service.ts index 3008851..cde7593 100644 --- a/src/app/fight/services/fight.service.ts +++ b/src/app/fight/services/fight.service.ts @@ -86,11 +86,11 @@ export class FightService { room.leave(); room.removeAllListeners(); this.room.set(null); - if (FightService.isLocalStorageAvailable) { - localStorage.removeItem('sessionId'); - localStorage.removeItem('roomId'); - localStorage.removeItem('reconnectToken'); - } + // if (FightService.isLocalStorageAvailable) { + // localStorage.removeItem('sessionId'); + // localStorage.removeItem('roomId'); + // localStorage.removeItem('reconnectToken'); + // } if (redirectToHome) this.router.navigate(['/']); } } From 9eb4fefd5da24805eed5bd6e9f974192a7db09ab Mon Sep 17 00:00:00 2001 From: arongida Date: Fri, 28 Jun 2024 12:14:09 +0200 Subject: [PATCH 3/3] draft reconnect fix --- src/app/draft/services/draft.service.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/draft/services/draft.service.ts b/src/app/draft/services/draft.service.ts index dd9936f..a5c5d5c 100644 --- a/src/app/draft/services/draft.service.ts +++ b/src/app/draft/services/draft.service.ts @@ -97,11 +97,11 @@ export class DraftService { this.room.leave(); this.room.removeAllListeners(); this.room = undefined; - if (DraftService.isLocalStorageAvailable) { - localStorage.removeItem('sessionId'); - localStorage.removeItem('roomId'); - localStorage.removeItem('reconnectToken'); - } + // if (DraftService.isLocalStorageAvailable) { + // localStorage.removeItem('sessionId'); + // localStorage.removeItem('roomId'); + // localStorage.removeItem('reconnectToken'); + // } if (redirectToHome) this.router.navigate(['/']); } }