diff --git a/resources/lang/en.json b/resources/lang/en.json index d467196f3..74eb025cc 100644 --- a/resources/lang/en.json +++ b/resources/lang/en.json @@ -1254,6 +1254,8 @@ "heads_up_message": { "choose_spawn": "Choose a starting location", "random_spawn": "Random spawn is enabled. Selecting starting location for you...", + "ffa_collusion": "Reminder: teaming up before the game is not allowed in FFA", + "dont_show_again": "Don't show again", "singleplayer_game_paused": "Game paused", "multiplayer_game_paused": "Game paused by Lobby Creator", "pvp_immunity_active": "PVP immunity active for {seconds}s", diff --git a/src/client/hud/layers/HeadsUpMessage.ts b/src/client/hud/layers/HeadsUpMessage.ts index d7970ea32..7bc6ee9b9 100644 --- a/src/client/hud/layers/HeadsUpMessage.ts +++ b/src/client/hud/layers/HeadsUpMessage.ts @@ -1,11 +1,13 @@ import { LitElement, html } from "lit"; import { customElement, state } from "lit/decorators.js"; -import { GameType } from "../../../core/game/Game"; +import { GameMode, GameType } from "../../../core/game/Game"; import { GameUpdateType } from "../../../core/game/GameUpdates"; import { GameView } from "../../../core/game/GameView"; import { Controller } from "../../Controller"; import { translateText } from "../../Utils"; +const COLLUSION_WARNING_CLOSED_KEY = "hasClosedCollusionWarning"; + @customElement("heads-up-message") export class HeadsUpMessage extends LitElement implements Controller { public game: GameView; @@ -13,6 +15,10 @@ export class HeadsUpMessage extends LitElement implements Controller { @state() private isVisible = false; + @state() + private hasClosedCollusionWarning = + localStorage.getItem(COLLUSION_WARNING_CLOSED_KEY) !== null; + @state() private isPaused = false; @@ -139,6 +145,12 @@ export class HeadsUpMessage extends LitElement implements Controller { : translateText("heads_up_message.choose_spawn"); } + private onCloseCollusionWarning = (): void => { + localStorage.setItem(COLLUSION_WARNING_CLOSED_KEY, "true"); + this.hasClosedCollusionWarning = true; + this.requestUpdate(); + }; + render() { return html`