From f8917b209cb80fc53c317db032466c98558fe37a Mon Sep 17 00:00:00 2001 From: Bao Dang Date: Wed, 30 Apr 2025 01:06:40 -0400 Subject: [PATCH] Revert problem distribution config + Update logs --- docs/changes.md | 6 +++++ src/lib/assets/config/room.ts | 6 ++--- src/lib/models/room.ts | 45 +++++++++++++++++++---------------- src/routes/+page.svelte | 2 +- 4 files changed, 35 insertions(+), 24 deletions(-) diff --git a/docs/changes.md b/docs/changes.md index 8877568..4d5989e 100644 --- a/docs/changes.md +++ b/docs/changes.md @@ -2,6 +2,12 @@ Keep up with the latest updates here :D +## 2025-04-30 + +## Fixed + +- Spam-submitting the same solution will no longer deal damage to the bot ([#68](https://github.com/beatcode-official/server/pull/68)) + --- ## 2025-04-17 diff --git a/src/lib/assets/config/room.ts b/src/lib/assets/config/room.ts index 89843a1..2e80d57 100644 --- a/src/lib/assets/config/room.ts +++ b/src/lib/assets/config/room.ts @@ -8,9 +8,9 @@ export const DefaultRoomSettings: RoomSettings = { hp_multiplier_medium: 1.5, hp_multiplier_hard: 2.0, distribution_mode: "auto", - prob_easy: 1, - prob_medium: 1, - prob_hard: 1, + prob_easy: 0.4, + prob_medium: 0.3, + prob_hard: 0.3, starting_sp: 100, starting_mp: 100, mana_recharge: 50 diff --git a/src/lib/models/room.ts b/src/lib/models/room.ts index 31d1450..e4d8778 100644 --- a/src/lib/models/room.ts +++ b/src/lib/models/room.ts @@ -39,26 +39,31 @@ export interface RoomInfo { player_count: number; } -export const RoomSettingsSchema = z.object({ - problem_count: z.number().int().min(1).max(100).default(DefaultRoomSettings.problem_count), - starting_hp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_hp), - base_hp_deduction: z - .number() - .int() - .min(1) - .max(100) - .default(DefaultRoomSettings.base_hp_deduction), - hp_multiplier_easy: z.number().min(1).default(DefaultRoomSettings.hp_multiplier_easy), - hp_multiplier_medium: z.number().min(1).default(DefaultRoomSettings.hp_multiplier_medium), - hp_multiplier_hard: z.number().int().min(1).default(DefaultRoomSettings.hp_multiplier_hard), - distribution_mode: z.enum(["auto", "fixed"]).default(DefaultRoomSettings.distribution_mode), - prob_easy: z.number().int().min(0).max(3).default(DefaultRoomSettings.prob_easy), - prob_medium: z.number().int().min(0).max(3).default(DefaultRoomSettings.prob_medium), - prob_hard: z.number().int().min(0).max(3).default(DefaultRoomSettings.prob_hard), - starting_sp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_sp), - starting_mp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_mp), - mana_recharge: z.number().int().min(1).max(1000).default(DefaultRoomSettings.mana_recharge) -}); +export const RoomSettingsSchema = z + .object({ + problem_count: z.number().int().min(1).max(100).default(DefaultRoomSettings.problem_count), + starting_hp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_hp), + base_hp_deduction: z + .number() + .int() + .min(1) + .max(100) + .default(DefaultRoomSettings.base_hp_deduction), + hp_multiplier_easy: z.number().min(1).default(DefaultRoomSettings.hp_multiplier_easy), + hp_multiplier_medium: z.number().min(1).default(DefaultRoomSettings.hp_multiplier_medium), + hp_multiplier_hard: z.number().int().min(1).default(DefaultRoomSettings.hp_multiplier_hard), + distribution_mode: z.enum(["auto", "fixed"]).default(DefaultRoomSettings.distribution_mode), + prob_easy: z.number().min(0).max(1).default(DefaultRoomSettings.prob_easy), + prob_medium: z.number().min(0).max(1).default(DefaultRoomSettings.prob_medium), + prob_hard: z.number().min(0).max(1).default(DefaultRoomSettings.prob_hard), + starting_sp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_sp), + starting_mp: z.number().int().min(1).max(1000).default(DefaultRoomSettings.starting_mp), + mana_recharge: z.number().int().min(1).max(1000).default(DefaultRoomSettings.mana_recharge) + }) + .refine((data) => data.prob_easy + data.prob_medium + data.prob_hard === 1, { + message: "Probabilities must add up to 1", + path: ["prob_easy", "prob_medium", "prob_hard"] + }); export const JoinRoomSchema = z.object({ room_code: z.string().length(6, "Room code must be exactly 6 characters") diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index adccdb0..4e7449c 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -115,7 +115,7 @@