mirror of
https://github.com/openfrontio/OpenFrontIO.git
synced 2026-06-21 20:16:44 +00:00
adb0d07074
## Description: Patterns now show how much each skin costs and can be purchased * Refactored logic out of TerritoryPatternsModal and into Cosmetics.ts * Role gated cosmetics are not shown if you don't have the role. This is to prevent people trying to get roles just for the cosmetics. * Added purchasable cosmetics. * On purchase the backend adds the flare to the player account <img width="1197" alt="Screenshot 2025-07-01 at 11 45 52 AM" src="https://github.com/user-attachments/assets/b4b4b7ea-f5f4-4c61-9ced-b608f75aa9d7" /> ## Please complete the following: - [x] I have added screenshots for all UI updates - [x] I process any text displayed to the user through translateText() and I've added it to the en.json file - [x] I have added relevant tests to the test directory - [x] I confirm I have thoroughly tested these changes and take full responsibility for any bugs introduced - [x] I understand that submitting code with bugs that could have been caught through manual testing blocks releases and new features for all contributors ## Please put your Discord username so you can be contacted if a bug or regression is found: evan
101 lines
2.7 KiB
TypeScript
101 lines
2.7 KiB
TypeScript
import { JWK } from "jose";
|
|
import { GameEnv, ServerConfig } from "../../src/core/configuration/Config";
|
|
import { GameMapType } from "../../src/core/game/Game";
|
|
import { GameID } from "../../src/core/Schemas";
|
|
|
|
export class TestServerConfig implements ServerConfig {
|
|
stripePublishableKey(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
cloudflareConfigPath(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
cloudflareCredsPath(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
domain(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
subdomain(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
cloudflareAccountId(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
cloudflareApiToken(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
jwtAudience(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
jwtIssuer(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
jwkPublicKey(): Promise<JWK> {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
otelEnabled(): boolean {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
otelEndpoint(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
otelUsername(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
otelPassword(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
region(): string {
|
|
return "test";
|
|
}
|
|
turnIntervalMs(): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
gameCreationRate(): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
lobbyMaxPlayers(map: GameMapType): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
numWorkers(): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
workerIndex(gameID: GameID): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
workerPath(gameID: GameID): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
workerPort(gameID: GameID): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
workerPortByIndex(workerID: number): number {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
env(): GameEnv {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
adminToken(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
adminHeader(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
gitCommit(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
r2Bucket(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
r2Endpoint(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
r2AccessKey(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
r2SecretKey(): string {
|
|
throw new Error("Method not implemented.");
|
|
}
|
|
}
|