@battle-racing/br-common-lib
Version:
Common library for all Battle Racing Repositorios
1,039 lines (1,038 loc) • 200 kB
TypeScript
import { z } from 'zod';
export declare const socketGameTrackEventsParamsSchema: z.ZodObject<{
'game-track:init:response': z.ZodAny;
}, z.core.$strip>;
export declare const socketGameTrackEventParamsSchema: z.ZodObject<{
'game-track:emergency:activate': z.ZodUndefined;
'game-track:emergency:deactivate': z.ZodUndefined;
'game-track:lights:showEffect': z.ZodObject<{
addresses: z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodLiteral<"all">]>;
effect: z.ZodEnum<{
readonly NONE: "None";
readonly INSTANT_COLOR: "Instant Color";
readonly FADE_IN: "Fade In";
readonly FADE_OUT: "Fade Out";
readonly BLINK: "Blink";
readonly BLINK_COLOR: "Blink Color";
readonly RAINBOW: "Rainbow";
readonly RANDOM_COLOR: "Random Color";
readonly BREATHE: "Breathe";
readonly COLOR_WIPE: "Color Wipe";
}>;
timeDuration: z.ZodNumber;
}, z.core.$strip>;
'game-track:lights:showColor': z.ZodObject<{
address: z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodLiteral<"all">]>;
timeDuration: z.ZodNumber;
color: z.ZodString;
}, z.core.$strip>;
'game-track:sound:play': z.ZodObject<{
soundName: z.ZodEnum<{
readonly BATTLE_GOD_ACTIVATION: "battle_god_activation.mp3";
readonly BATTLE_LASER_ACTIVATION: "battle_laser_activation.mp3";
readonly BATTLE_LASER_DAMAGE: "battle_laser_damage.mp3";
readonly BATTLE_PULSE_ACTIVATION: "battle_pulse_activation.mp3";
readonly BATTLE_PULSE_DAMAGE: "battle_pulse_damage.mp3";
readonly BATTLE_SHIELD_ACTIVATION: "battle_shield_activation.mp3";
readonly BATTLE_SHOT_ACTIVATION: "battle_shot_activation.mp3";
readonly BATTLE_SHOT_DAMAGE: "battle_shot_damage.mp3";
readonly BATTLE_STAR_DAMAGE: "battle_star_damage.mp3";
readonly BATTLE_TRAP_ACTIVATION: "battle_trap_activation.mp3";
readonly BATTLE_TRAP_DAMAGE: "battle_trap_damage.mp3";
readonly BATTLE_TURBO_ACTIVATION: "battle_turbo_activation.mp3";
readonly COUNTDOWN_3_2_1: "countdown_3_2_1.mp3";
readonly EMERGENCY_ALERT: "emergency_alert.mp3";
readonly ENGINE_START: "engine_start.mp3";
readonly FINAL_LAP_MARIO_KART: "final_lap_mario_kart.mp3";
readonly KART_SKIDING: "kart_skiding.mp3";
readonly PICK_COIN_X2: "pick_coin_x2.mp3";
readonly POWER_UP_SELECTION: "power_up_selection.mp3";
readonly SAD_TRUMPET_LOSER: "sad_trumpet_loser.mp3";
readonly SYSTEM_STARTED: "system_started.mp3";
readonly WARNING_ALERT_THIS_IS_NOT_A_TEST: "warning_alert_this_is_not_a_test.mp3";
readonly WINNER_LAUGH: "winner_laugh.mp3";
}>;
durationMs: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"infinite">]>>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const socketGameTrackServerToClientEventsParamsSchema: z.ZodObject<{
'game-track:init:response': z.ZodAny;
'game-track:emergency:activate': z.ZodUndefined;
'game-track:emergency:deactivate': z.ZodUndefined;
'game-track:lights:showEffect': z.ZodObject<{
addresses: z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodLiteral<"all">]>;
effect: z.ZodEnum<{
readonly NONE: "None";
readonly INSTANT_COLOR: "Instant Color";
readonly FADE_IN: "Fade In";
readonly FADE_OUT: "Fade Out";
readonly BLINK: "Blink";
readonly BLINK_COLOR: "Blink Color";
readonly RAINBOW: "Rainbow";
readonly RANDOM_COLOR: "Random Color";
readonly BREATHE: "Breathe";
readonly COLOR_WIPE: "Color Wipe";
}>;
timeDuration: z.ZodNumber;
}, z.core.$strip>;
'game-track:lights:showColor': z.ZodObject<{
address: z.ZodUnion<readonly [z.ZodArray<z.ZodNumber>, z.ZodLiteral<"all">]>;
timeDuration: z.ZodNumber;
color: z.ZodString;
}, z.core.$strip>;
'game-track:sound:play': z.ZodObject<{
soundName: z.ZodEnum<{
readonly BATTLE_GOD_ACTIVATION: "battle_god_activation.mp3";
readonly BATTLE_LASER_ACTIVATION: "battle_laser_activation.mp3";
readonly BATTLE_LASER_DAMAGE: "battle_laser_damage.mp3";
readonly BATTLE_PULSE_ACTIVATION: "battle_pulse_activation.mp3";
readonly BATTLE_PULSE_DAMAGE: "battle_pulse_damage.mp3";
readonly BATTLE_SHIELD_ACTIVATION: "battle_shield_activation.mp3";
readonly BATTLE_SHOT_ACTIVATION: "battle_shot_activation.mp3";
readonly BATTLE_SHOT_DAMAGE: "battle_shot_damage.mp3";
readonly BATTLE_STAR_DAMAGE: "battle_star_damage.mp3";
readonly BATTLE_TRAP_ACTIVATION: "battle_trap_activation.mp3";
readonly BATTLE_TRAP_DAMAGE: "battle_trap_damage.mp3";
readonly BATTLE_TURBO_ACTIVATION: "battle_turbo_activation.mp3";
readonly COUNTDOWN_3_2_1: "countdown_3_2_1.mp3";
readonly EMERGENCY_ALERT: "emergency_alert.mp3";
readonly ENGINE_START: "engine_start.mp3";
readonly FINAL_LAP_MARIO_KART: "final_lap_mario_kart.mp3";
readonly KART_SKIDING: "kart_skiding.mp3";
readonly PICK_COIN_X2: "pick_coin_x2.mp3";
readonly POWER_UP_SELECTION: "power_up_selection.mp3";
readonly SAD_TRUMPET_LOSER: "sad_trumpet_loser.mp3";
readonly SYSTEM_STARTED: "system_started.mp3";
readonly WARNING_ALERT_THIS_IS_NOT_A_TEST: "warning_alert_this_is_not_a_test.mp3";
readonly WINNER_LAUGH: "winner_laugh.mp3";
}>;
durationMs: z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodLiteral<"infinite">]>>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const socketKartEventsParamsSchema: z.ZodObject<{
'kart:init:response': z.ZodAny;
'kart:gameTrack:updated': z.ZodObject<{
gameTrack: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
checkpoints: z.ZodArray<z.ZodObject<{
id: z.ZodString;
address: z.ZodNumber;
name: z.ZodOptional<z.ZodString>;
type: z.ZodEnum<{
readonly START: "Start";
readonly CHECKPOINT: "Checkpoint";
readonly FINISH: "Finish";
readonly VIRTUAL_CHECKPOINT: "Virtual Checkpoint";
}>;
progress: z.ZodNumber;
}, z.core.$strip>>;
kartsConfig: z.ZodObject<{
defaultSpeed: z.ZodNumber;
powerUpTime: z.ZodNumber;
rgbBrightness: z.ZodNumber;
flagBrightness: z.ZodNumber;
diskSensorBallShooter: z.ZodObject<{
prepareVoltagePercentage: z.ZodOptional<z.ZodNumber>;
attackVoltagePercentage: z.ZodOptional<z.ZodNumber>;
waitTimeAfterHit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
ballSensorDiskThrower: z.ZodObject<{
waitTimeAfterHit: z.ZodNumber;
}, z.core.$strip>;
lowSpeed: z.ZodNumber;
}, z.core.$strip>;
macAddress: z.ZodOptional<z.ZodString>;
isConnected: z.ZodBoolean;
gameDefaultValues: z.ZodOptional<z.ZodObject<{
speed: z.ZodArray<z.ZodNumber>;
powerUpIds: z.ZodArray<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
config: z.ZodObject<{
gameTrackId: z.ZodString;
kartId: z.ZodNumber;
color: z.ZodEnum<{
readonly Black: "Black";
readonly Red: "Red";
readonly Blue: "Blue";
readonly Green: "Green";
readonly Yellow: "Yellow";
readonly Violet: "Violet";
readonly Cyan: "Cyan";
readonly Magenta: "Magenta";
readonly Orange: "Orange";
readonly White: "White";
readonly GreenYellow: "GreenYellow";
readonly SaddleBrown: "SaddleBrown";
}>;
kartNumber: z.ZodNumber;
mac: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>;
'kart:gameTrack:emergency:started': z.ZodUndefined;
'kart:gameTrack:emergency:stopped': z.ZodUndefined;
'kart:status:change': z.ZodObject<{
status: z.ZodEnum<{
readonly STAND_BY: "standBy";
readonly IN_GAME: "in-game";
readonly YELLOW_FLAG: "yellow-flag";
readonly EMERGENCY: "emergency";
readonly PITS: "pits";
readonly ELIMINATED: "eliminated";
}>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const socketGameEventParamsSchema: z.ZodObject<{
'kart:game:selected': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:eliminated': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:yellow-flag:started': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:yellow-flag:stopped': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:red-flag:started': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:red-flag:stopped': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:started': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
'kart:game:finished': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
isWinner: z.ZodBoolean;
}, z.core.$strip>;
'kart:game:sync': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
}, z.core.$strip>;
export declare const socketKartServerToClientEventsParamsSchema: z.ZodObject<{
'kart:init:response': z.ZodAny;
'kart:gameTrack:updated': z.ZodObject<{
gameTrack: z.ZodObject<{
id: z.ZodString;
name: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
checkpoints: z.ZodArray<z.ZodObject<{
id: z.ZodString;
address: z.ZodNumber;
name: z.ZodOptional<z.ZodString>;
type: z.ZodEnum<{
readonly START: "Start";
readonly CHECKPOINT: "Checkpoint";
readonly FINISH: "Finish";
readonly VIRTUAL_CHECKPOINT: "Virtual Checkpoint";
}>;
progress: z.ZodNumber;
}, z.core.$strip>>;
kartsConfig: z.ZodObject<{
defaultSpeed: z.ZodNumber;
powerUpTime: z.ZodNumber;
rgbBrightness: z.ZodNumber;
flagBrightness: z.ZodNumber;
diskSensorBallShooter: z.ZodObject<{
prepareVoltagePercentage: z.ZodOptional<z.ZodNumber>;
attackVoltagePercentage: z.ZodOptional<z.ZodNumber>;
waitTimeAfterHit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
ballSensorDiskThrower: z.ZodObject<{
waitTimeAfterHit: z.ZodNumber;
}, z.core.$strip>;
lowSpeed: z.ZodNumber;
}, z.core.$strip>;
macAddress: z.ZodOptional<z.ZodString>;
isConnected: z.ZodBoolean;
gameDefaultValues: z.ZodOptional<z.ZodObject<{
speed: z.ZodArray<z.ZodNumber>;
powerUpIds: z.ZodArray<z.ZodString>;
}, z.core.$strip>>;
}, z.core.$strip>;
config: z.ZodObject<{
gameTrackId: z.ZodString;
kartId: z.ZodNumber;
color: z.ZodEnum<{
readonly Black: "Black";
readonly Red: "Red";
readonly Blue: "Blue";
readonly Green: "Green";
readonly Yellow: "Yellow";
readonly Violet: "Violet";
readonly Cyan: "Cyan";
readonly Magenta: "Magenta";
readonly Orange: "Orange";
readonly White: "White";
readonly GreenYellow: "GreenYellow";
readonly SaddleBrown: "SaddleBrown";
}>;
kartNumber: z.ZodNumber;
mac: z.ZodString;
}, z.core.$strip>;
}, z.core.$strip>;
'kart:gameTrack:emergency:started': z.ZodUndefined;
'kart:gameTrack:emergency:stopped': z.ZodUndefined;
'kart:status:change': z.ZodObject<{
status: z.ZodEnum<{
readonly STAND_BY: "standBy";
readonly IN_GAME: "in-game";
readonly YELLOW_FLAG: "yellow-flag";
readonly EMERGENCY: "emergency";
readonly PITS: "pits";
readonly ELIMINATED: "eliminated";
}>;
}, z.core.$strip>;
'kart:game:selected': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:eliminated': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:yellow-flag:started': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:yellow-flag:stopped': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:red-flag:started': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:red-flag:stopped': z.ZodObject<{
gameId: z.ZodString;
gameType: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
}, z.core.$strip>;
'kart:game:started': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
'kart:game:finished': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
isWinner: z.ZodBoolean;
}, z.core.$strip>;
'kart:game:sync': z.ZodObject<{
game: z.ZodObject<{
id: z.ZodNumber;
status: z.ZodEnum<{
readonly NON_STARTED: "non-started";
readonly ACTIVE: "active";
readonly YELLOW_FLAG: "yellow-flag";
readonly RED_FLAG: "red-flag";
readonly FINISHED: "finished";
readonly KART_ELIMINATED: "kart-eliminated";
}>;
kartsGuids: z.ZodArray<z.ZodString>;
powerUpsIds: z.ZodArray<z.ZodString>;
gameTrackId: z.ZodString;
type: z.ZodEnum<{
readonly Race: "Race";
readonly Battle: "Battle";
}>;
coins: z.ZodNumber;
time: z.ZodNumber;
speedConfig: z.ZodNumber;
createdAt: z.ZodDate;
startedAt: z.ZodOptional<z.ZodDate>;
finishedAt: z.ZodOptional<z.ZodDate>;
finishedReason: z.ZodOptional<z.ZodEnum<{
readonly TIME_IS_OVER: "TIME_IS_OVER";
readonly GAME_KARTS_FINISHED: "GAME_KARTS_FINISHED";
readonly EMERGENCY: "EMERGENCY";
readonly BY_CONTROLLER: "BY_CONTROLLER";
}>>;
kartsState: z.ZodRecord<z.ZodString, z.ZodObject<{
coins: z.ZodNumber;
}, z.core.$strip>>;
gameRanking: z.ZodArray<z.ZodObject<{
kartGuid: z.ZodString;
position: z.ZodNumber;
time: z.ZodNumber;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>;
'kart:powerUp:assign': z.ZodObject<{
powerUpId: z.ZodString;
shouldOverride: z.ZodOptional<z.ZodBoolean>;
}, z.core.$strip>;
'kart:powerUp:damage': z.ZodObject<{
damageName: z.ZodEnum<{
readonly GENERIC: "Generic";
readonly TRAP_HIT: "Trap Hit";
readonly PULSE_HIT: "Pulse Hit";
readonly STAR_HIT_LEFT: "Star Hit Left";
readonly STAR_HIT_RIGHT: "Star Hit Right";
readonly SHOT_HIT: "Shot Hit";
readonly SHORTCUT: "Shortcut";
readonly BLUE_SHOT_HIT: "Blue Shot Hit";
}>;
}, z.core.$strip>;
'kart:powerUp:execute': z.ZodObject<{
powerUpId: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
'kart:powerUps:sync': z.ZodObject<{
powerUps: z.ZodArray<z.ZodObject<{
id: z.ZodString;
name: z.ZodEnum<{
readonly BATTLE_GOD: "Battle God";
readonly BATTLE_STAR: "Battle Star";
readonly BATTLE_SHOT: "Battle Shot";
readonly BATTLE_NITRO: "Battle Nitro";
readonly BATTLE_PULSE: "Battle Pulse";
readonly BATTLE_TRAP: "Battle Trap";
readonly BATTLE_SHIELD: "Battle Shield";
readonly BATTLE_TURBO: "Battle Turbo";
readonly BATTLE_BLUE_SHOT: "Battle Blue Shot";
}>;
imageName: z.ZodString;
description: z.ZodString;
level: z.ZodUnion<readonly [z.ZodLiteral<1>, z.ZodLiteral<2>, z.ZodLiteral<3>, z.ZodLiteral<4>, z.ZodLiteral<5>]>;
assignationCommands: z.ZodArray<z.ZodUnion<readonly [z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"activateSensor">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"deactivateSensor">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"configureModule">;
params: z.ZodObject<{
waitTimeAfterHit: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"throwDisk">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"activateDiskThrower">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"ballSensorDiskThrower">;
action: z.ZodLiteral<"deactivateDiskThrower">;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
prepareVoltagePercentage: z.ZodOptional<z.ZodNumber>;
attackVoltagePercentage: z.ZodOptional<z.ZodNumber>;
waitTimeAfterHit: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"prepareShooter">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"shootBall">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"activateSensor">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"deactivateSensor">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"diskSensorBallShooter">;
action: z.ZodLiteral<"calibrateSensor">;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"flag">;
action: z.ZodLiteral<"activate">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"flag">;
action: z.ZodLiteral<"deactivate">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"flag">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
kartId: z.ZodNumber;
kartNumber: z.ZodNumber;
kartColor: z.ZodEnum<{
readonly Black: "Black";
readonly Red: "Red";
readonly Blue: "Blue";
readonly Green: "Green";
readonly Yellow: "Yellow";
readonly Violet: "Violet";
readonly Cyan: "Cyan";
readonly Magenta: "Magenta";
readonly Orange: "Orange";
readonly White: "White";
readonly GreenYellow: "GreenYellow";
readonly SaddleBrown: "SaddleBrown";
}>;
screenBrightness: z.ZodNumber;
animationTime: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"flag">;
action: z.ZodLiteral<"showMediaIndefinitely">;
params: z.ZodObject<{
screens: z.ZodObject<{
left: z.ZodBoolean;
right: z.ZodBoolean;
front: z.ZodBoolean;
back: z.ZodBoolean;
}, z.core.$strip>;
mediaSourceName: z.ZodEnum<{
readonly HEART_00: "heart_00";
readonly HEART_01: "heart_01";
readonly HEART_02: "heart_02";
readonly HEART_03: "heart_03";
readonly HEART_04: "heart_04";
readonly HEART_05: "heart_05";
readonly HEART_06: "heart_06";
readonly HEART_07: "heart_07";
readonly HEART_08: "heart_08";
readonly HEART_09: "heart_09";
readonly HEART_10: "heart_10";
readonly HEART_11: "heart_11";
readonly HEART_12: "heart_12";
readonly SMILE: "smile";
readonly POOP: "poop";
readonly HEART: "heart";
readonly LAUGH_WITH_TONGUE_FACE: "laugh_with_tongue_face";
readonly LAUGH_WITH_TONGUE_AND_GLASSES_FACE: "laugh_with_tongue_and_glasses_face";
readonly WINK_TO_SMILE_FACE: "wink_to_smile_face";
readonly LAUGH_WITH_TONGUE_AND_HELMET: "laugh_with_tongue_and_helmet";
readonly BLUE_SMILE_FACE: "blue_smile_face";
readonly BLUE_SMILE_FACE_TO_PINK: "blue_smile_face_to_pink";
readonly PINK_FACE_WITH_GLASSES_TO_BLUE: "pink_face_with_glasses_to_blue";
readonly BLUE_CRYING_FACE: "blue_crying_face";
readonly BLUSH_SMILE_FACE_TO_SMILE: "blush_smile_face_to_smile";
readonly CRYING_FACE: "crying_face";
readonly ANGRY_FACE: "angry_face";
readonly IN_LOVE_FACE: "in_love_face";
readonly FACE_WITH_GLASSES: "face_with_glasses";
readonly DEVIL: "devil";
readonly GHOST: "ghost";
readonly SKULL: "skull";
readonly LIKE: "like";
readonly RANDOM_EFFECT: "random_effect";
readonly HELMET_BLACK_BACKGROUND: "helmet_black_background";
readonly ELECTROCUTED: "electrocuted";
readonly THUNDER_EXPLOSION: "thunder_explosion";
readonly SHIELD_BLUE_TO_PINK: "shield_blue_to_pink";
readonly FALLING_OIL_DROP: "falling_oil_drop";
readonly OIL_DROP_COLORS: "oil_drop_colors";
readonly TURBO: "turbo";
readonly FIREBALL: "fireball";
readonly HIT_EFFECT: "hit_effect";
readonly SLOW_SNAIL: "slow_snail";
readonly NITRO_BOTTLE: "nitro_bottle";
readonly ROCKET_LAUNCHING: "rocket_launching";
readonly SPEED_METER_INCREASING: "speed_meter_increasing";
readonly THREE_TWO_ONE_RACE_START: "three_two_one_race_start";
readonly VICTORY: "victory";
readonly DANGER_YELLOW_AND_RED: "danger_yellow_and_red";
readonly DANGER_RED_AND_WHITE_RED: "danger_red_and_white_red";
readonly REPAIR_TOOLS: "repair_tools";
readonly BR_CHANGE_COLOR: "br_change_color";
readonly STATIC_HELMET: "static_helmet";
readonly STATIC_LIGHTNING: "static_lightning";
readonly STATIC_SHIELD: "static_shield";
readonly STATIC_OIL_DROP: "static_oil_drop";
readonly STATIC_EXHAUST: "static_exhaust";
readonly STATIC_FIREBALL: "static_fireball";
readonly STATIC_BEATING_HEART: "static_beating_heart";
readonly STATIC_SPEED_PAD: "static_speed_pad";
}>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"flag">;
action: z.ZodLiteral<"showMediaTemporarily">;
params: z.ZodObject<{
screens: z.ZodObject<{
left: z.ZodBoolean;
right: z.ZodBoolean;
front: z.ZodBoolean;
back: z.ZodBoolean;
}, z.core.$strip>;
mediaSourceName: z.ZodEnum<{
readonly HEART_00: "heart_00";
readonly HEART_01: "heart_01";
readonly HEART_02: "heart_02";
readonly HEART_03: "heart_03";
readonly HEART_04: "heart_04";
readonly HEART_05: "heart_05";
readonly HEART_06: "heart_06";
readonly HEART_07: "heart_07";
readonly HEART_08: "heart_08";
readonly HEART_09: "heart_09";
readonly HEART_10: "heart_10";
readonly HEART_11: "heart_11";
readonly HEART_12: "heart_12";
readonly SMILE: "smile";
readonly POOP: "poop";
readonly HEART: "heart";
readonly LAUGH_WITH_TONGUE_FACE: "laugh_with_tongue_face";
readonly LAUGH_WITH_TONGUE_AND_GLASSES_FACE: "laugh_with_tongue_and_glasses_face";
readonly WINK_TO_SMILE_FACE: "wink_to_smile_face";
readonly LAUGH_WITH_TONGUE_AND_HELMET: "laugh_with_tongue_and_helmet";
readonly BLUE_SMILE_FACE: "blue_smile_face";
readonly BLUE_SMILE_FACE_TO_PINK: "blue_smile_face_to_pink";
readonly PINK_FACE_WITH_GLASSES_TO_BLUE: "pink_face_with_glasses_to_blue";
readonly BLUE_CRYING_FACE: "blue_crying_face";
readonly BLUSH_SMILE_FACE_TO_SMILE: "blush_smile_face_to_smile";
readonly CRYING_FACE: "crying_face";
readonly ANGRY_FACE: "angry_face";
readonly IN_LOVE_FACE: "in_love_face";
readonly FACE_WITH_GLASSES: "face_with_glasses";
readonly DEVIL: "devil";
readonly GHOST: "ghost";
readonly SKULL: "skull";
readonly LIKE: "like";
readonly RANDOM_EFFECT: "random_effect";
readonly HELMET_BLACK_BACKGROUND: "helmet_black_background";
readonly ELECTROCUTED: "electrocuted";
readonly THUNDER_EXPLOSION: "thunder_explosion";
readonly SHIELD_BLUE_TO_PINK: "shield_blue_to_pink";
readonly FALLING_OIL_DROP: "falling_oil_drop";
readonly OIL_DROP_COLORS: "oil_drop_colors";
readonly TURBO: "turbo";
readonly FIREBALL: "fireball";
readonly HIT_EFFECT: "hit_effect";
readonly SLOW_SNAIL: "slow_snail";
readonly NITRO_BOTTLE: "nitro_bottle";
readonly ROCKET_LAUNCHING: "rocket_launching";
readonly SPEED_METER_INCREASING: "speed_meter_increasing";
readonly THREE_TWO_ONE_RACE_START: "three_two_one_race_start";
readonly VICTORY: "victory";
readonly DANGER_YELLOW_AND_RED: "danger_yellow_and_red";
readonly DANGER_RED_AND_WHITE_RED: "danger_red_and_white_red";
readonly REPAIR_TOOLS: "repair_tools";
readonly BR_CHANGE_COLOR: "br_change_color";
readonly STATIC_HELMET: "static_helmet";
readonly STATIC_LIGHTNING: "static_lightning";
readonly STATIC_SHIELD: "static_shield";
readonly STATIC_OIL_DROP: "static_oil_drop";
readonly STATIC_EXHAUST: "static_exhaust";
readonly STATIC_FIREBALL: "static_fireball";
readonly STATIC_BEATING_HEART: "static_beating_heart";
readonly STATIC_SPEED_PAD: "static_speed_pad";
}>;
}, z.core.$strip>;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"rgb">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
kartColor: z.ZodEnum<{
readonly Black: "Black";
readonly Red: "Red";
readonly Blue: "Blue";
readonly Green: "Green";
readonly Yellow: "Yellow";
readonly Violet: "Violet";
readonly Cyan: "Cyan";
readonly Magenta: "Magenta";
readonly Orange: "Orange";
readonly White: "White";
readonly GreenYellow: "GreenYellow";
readonly SaddleBrown: "SaddleBrown";
}>;
brightness: z.ZodNumber;
effectTime: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"rgb">;
action: z.ZodLiteral<"showEffect">;
params: z.ZodObject<{
effect: z.ZodEnum<{
readonly SHOW_COLOR_KART: "Show Color Kart";
readonly STAR_EFFECT: "Star Effect";
readonly RAY_EFFECT: "Ray Effect";
readonly RAY_HIT_EFFECT: "Ray Hit Effect";
readonly SPEED_BOOST_EFFECT: "Speed Boost Effect";
readonly CHARGED_POWER_EFFECT: "Charged Power Effect";
readonly ROULETTE_EFFECT: "Roulette Effect";
readonly SHIELD_EFFECT: "Shield Effect";
readonly BROKEN_SHIELD_EFFECT: "Broken Shield Effect";
readonly HIT_RIGHT_EFFECT: "Hit Right Effect";
readonly HIT_LEFT_EFFECT: "Hit Left Effect";
readonly HIT_FRONT_EFFECT: "Hit Front Effect";
readonly HIT_BACK_EFFECT: "Hit Back Effect";
readonly HIT_DISK_EFFECT: "Hit Disk Effect";
readonly BALL_SHOT_EFFECT: "Ball Shot Effect";
readonly DISK_SHOT_EFFECT: "Disk Shot Effect";
readonly EMERGENCY_EFFECT: "Emergency Effect";
readonly WAIT_EFFECT: "Wait Effect";
}>;
}, z.core.$strip>;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"speed">;
action: z.ZodLiteral<"activate">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"speed">;
action: z.ZodLiteral<"deactivate">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"speed">;
action: z.ZodLiteral<"change">;
params: z.ZodObject<{
forUnlimitedTime: z.ZodOptional<z.ZodBoolean>;
speed: z.ZodUnion<readonly [z.ZodNumber, z.ZodUnion<readonly [z.ZodNumber, z.ZodString, z.ZodString]>]>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"speed">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
defaultSpeed: z.ZodNumber;
timeDuration: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"leftStarBackLaser">;
action: z.ZodLiteral<"action">;
params: z.ZodObject<{
starAction: z.ZodOptional<z.ZodEnum<{
readonly ACTIVATE: "Activate";
readonly DEACTIVATE: "Deactivate";
readonly INIT_ATTACK: "Init Attack";
readonly CONFIGURE: "Configure";
readonly NONE: "None";
}>>;
laserAction: z.ZodOptional<z.ZodEnum<{
readonly ACTIVATE: "Activate";
readonly DEACTIVATE: "Deactivate";
readonly INIT_ATTACK: "Init Attack";
readonly CONFIGURE: "Configure";
readonly NONE: "None";
}>>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"leftStarBackLaser">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
kartId: z.ZodNumber;
starAttackTime: z.ZodNumber;
laserAttackTime: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"rightStarFrontLaser">;
action: z.ZodLiteral<"action">;
params: z.ZodObject<{
starAction: z.ZodOptional<z.ZodEnum<{
readonly ACTIVATE: "Activate";
readonly DEACTIVATE: "Deactivate";
readonly INIT_ATTACK: "Init Attack";
readonly CONFIGURE: "Configure";
readonly NONE: "None";
}>>;
laserAction: z.ZodOptional<z.ZodEnum<{
readonly ACTIVATE: "Activate";
readonly DEACTIVATE: "Deactivate";
readonly INIT_ATTACK: "Init Attack";
readonly CONFIGURE: "Configure";
readonly NONE: "None";
}>>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"rightStarFrontLaser">;
action: z.ZodLiteral<"configure">;
params: z.ZodObject<{
kartId: z.ZodNumber;
starAttackTime: z.ZodNumber;
laserAttackTime: z.ZodNumber;
}, z.core.$strip>;
}, z.core.$strip>]>, z.ZodUnion<readonly [z.ZodObject<{
module: z.ZodLiteral<"screen">;
action: z.ZodLiteral<"showHomeView">;
}, z.core.$strip>, z.ZodObject<{
module: z.ZodLiteral<"screen">;
action: z.ZodLiteral<"showCountdownView">;
params: z.ZodUnion<readonly [z.ZodObject<{
nextView: z.ZodLiteral<"Race">;
config: z.ZodObject<{
position: z.ZodOptional<z.ZodObject<{
current: z.ZodNullable<z.ZodNumber>;
total: z.ZodNullable<z.ZodNumber>;
}, z.core.$strip>>;
coins: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
gameTimeLeft: z.ZodOptional<z.ZodObject<{
minutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>>;
powerUp: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodEnum<{
readonly BATTLE_GOD: "Battle God";
readonly BATTLE_STAR: "Battle Star";
readonly BATTLE_SHOT: "Battle Shot";
readonly BATTLE_NITRO: "Battle Nitro";
readonly BATTLE_PULSE: "Battle Pulse";
readonly BATTLE_TRAP: "Battle Trap";
readonly BATTLE_SHIELD: "Battle Shield";
readonly BATTLE_TURBO: "Battle Turbo";
readonly BATTLE_BLUE_SHOT: "Battle Blue Shot";
}>, z.ZodLiteral<"Clear PowerUp">]>>>;
powerUpAnimationTimeSeconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
damageEffect: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodEnum<{
readonly GENERIC: "Generic";
readonly TRAP_HIT: "Trap Hit";
readonly PULSE_HIT: "Pulse Hit";
readonly STAR_HIT_LEFT: "Star Hit Left";
readonly STAR_HIT_RIGHT: "Star Hit Right";
readonly SHOT_HIT: "Shot Hit";
readonly SHORTCUT: "Shortcut";
readonly BLUE_SHOT_HIT: "Blue Shot Hit";
}>, z.ZodLiteral<"Yellow Flag">, z.ZodLiteral<"Red Flag">]>>>;
damageAnimationTimeSeconds: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodLiteral<"Infinite">, z.ZodNumber]>>>;
laps: z.ZodOptional<z.ZodObject<{
current: z.ZodNullable<z.ZodNumber>;
total: z.ZodNullable<z.ZodNumber>;
}, z.core.$strip>>;
}, z.core.$strip>;
}, z.core.$strip>, z.ZodObject<{
nextView: z.ZodLiteral<"Battle">;
config: z.ZodObject<{
position: z.ZodOptional<z.ZodObject<{
current: z.ZodNullable<z.ZodNumber>;
total: z.ZodNullable<z.ZodNumber>;
}, z.core.$strip>>;
coins: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
gameTimeLeft: z.ZodOptional<z.ZodObject<{
minutes: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
seconds: z.ZodOptional<z.ZodNullable<z.ZodNumber>>;
}, z.core.$strip>>;
powerUp: z.ZodOptional<z.ZodNullable<z.ZodUnion<readonly [z.ZodEnum<{
readonly BATTLE_GOD: "Battle God";
readonly BATTLE_STAR: "Battle Star";
readonly BATTLE_SHOT: "Battle Shot";
readonly BATTLE_NITRO: "Battle Nitro";
readonly BATTLE_PULSE: "Battle Pulse";
readonly BATTLE_TRAP: "Battle Trap";
readonly BATTLE_SHIELD: "Battle Shield";
readonly BATTLE_TURBO: "Battle Turbo";