fix
This commit is contained in:
@@ -74,7 +74,14 @@ interface UserJoinMessage extends AuthenticatedMessage {
|
||||
type: 'user-join';
|
||||
}
|
||||
|
||||
type Message = ClickMessage | PurchaseUpgradeMessage | ApplyMultiplierBonusMessage | UserJoinMessage | AdminBroadcastMessage; // Updated Message type
|
||||
interface EditUserMessage extends AuthenticatedMessage {
|
||||
type: 'edit-user';
|
||||
targetUserId: string;
|
||||
clicks: number;
|
||||
upgrades: Record<string, { owned: number; cost: number }>;
|
||||
}
|
||||
|
||||
type Message = ClickMessage | PurchaseUpgradeMessage | ApplyMultiplierBonusMessage | UserJoinMessage | AdminBroadcastMessage | EditUserMessage; // Updated Message type
|
||||
|
||||
const UPGRADES: Upgrade[] = [
|
||||
{
|
||||
@@ -369,11 +376,29 @@ export default class GameServer implements Party.Server {
|
||||
console.warn(`Unauthorized admin broadcast attempt from ${currentUserId}.`);
|
||||
}
|
||||
break;
|
||||
case 'edit-user':
|
||||
if (isAuthenticated && currentUserId === this.party.env.CLERK_ADMIN_USERID) {
|
||||
this.handleEditUser(data);
|
||||
} else {
|
||||
console.warn(`Unauthorized edit user attempt from ${currentUserId}.`);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
this.broadcast();
|
||||
}
|
||||
|
||||
handleEditUser(data: EditUserMessage) {
|
||||
const { targetUserId, clicks, upgrades } = data;
|
||||
const userState = this.gameState.users[targetUserId];
|
||||
|
||||
if (userState) {
|
||||
userState.clicks = clicks;
|
||||
userState.upgrades = upgrades;
|
||||
this.updateGameMultipliers(targetUserId);
|
||||
}
|
||||
}
|
||||
|
||||
// handleUserJoin is now fully integrated into onMessage and can be removed or simplified.
|
||||
// Removing it as its logic is now directly in onMessage.
|
||||
// handleUserJoin(data: UserJoinMessage) {
|
||||
@@ -475,7 +500,7 @@ export default class GameServer implements Party.Server {
|
||||
}
|
||||
}
|
||||
|
||||
updateGameMultipliers(userId: string) {
|
||||
updateGameMultipliers(userId: string, autoClickRateOverride?: number) {
|
||||
const userState = this.gameState.users[userId];
|
||||
if (!userState) return;
|
||||
|
||||
@@ -494,6 +519,10 @@ export default class GameServer implements Party.Server {
|
||||
}
|
||||
});
|
||||
|
||||
if (autoClickRateOverride !== undefined) {
|
||||
userState.autoClickRate = autoClickRateOverride;
|
||||
}
|
||||
|
||||
this.setupAutoClicker();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user