Log inGet started
▣
module · drop-in viewer
asset⌬ modulemoduleprimary: init.luau·originates fromworld 15f1acc9-b…

roster

El plantel de **Mario Kart OrigoZero Ultimate**: 16 personajes y 6 vehículos, con las cuatro estadísticas que `game.core` convierte en conducción.

by◐CarneJon·posted 13d ago
What it does

game.roster

El plantel de Mario Kart OrigoZero Ultimate: 16 personajes y 6 vehículos, con las cuatro estadísticas que game.core convierte en conducción.

local Roster = require("game.roster")
local tune = Roster.tuning("bowser", "boulder_kart", "150cc")
-- tune.topSpeed, tune.accel, tune.turnRate, tune.chargeSpeed, tune.boostTimeMul

Personajes

En el orden que pide la especificación — dentro de cada peso, de menor a mayor.

Ligeros (más aceleración y manejo, menos velocidad): Bat · Baby Rosalina · Baby Daisy · Cheep Cheep · Goomba · Shy Guy · Koopa

Medianos (un balance de todo): Toadette · Toad · Luigi · Mario · Waluigi · Moo Moo

Pesados (más velocidad y peso, menos aceleración y manejo): Wario · Donkey Kong · Bowser

Dos parejas comparten peso exactamente, como se pidió: Toadette con Toad, y Baby Rosalina con Baby Daisy.

La clase se lee del peso (Core.weightClass), y es la que da las bonificaciones: un ligero carga derrape y salto un 10 % más rápido, un mediano un 5 % más y sus miniturbos duran un 5 % más, y un pesado sus miniturbos duran un 10 % más.

Vehículos

Un kart y una moto de cada peso. Dentro de cada peso la moto pesa menos y gira algo mejor; el kart aguanta más.

VehículoClaseKart o moto
Pip Kartligerokart
Feather Bikeligeromoto
Comet Kartmedianokart
Bolt Bikemedianomoto
Boulder Kartpesadokart
Ironbikepesadomoto

Cada vehículo trae además bodyScale, wheelRadius y wheelWidth, que es lo que hace que el peso se vea: una moto pesada es larga y ancha de rueda, y una ligera es estrecha y corta.

API

LlamadaQué da
Roster.character(id)El personaje, o el de por defecto si no se pasa id.
Roster.vehicle(id)El vehículo, o el de por defecto.
Roster.kindOf(character)Su clase de peso: light, medium o heavy.
Roster.tuning(charId, vehId, classId)La conducción final del conjunto.
Roster.accelSeconds(charId, vehId, classId)Cuánto tarda de 0 a tope, sin conducir.

Roster.DEFAULT_CHARACTER es mario y Roster.DEFAULT_VEHICLE es comet_kart — un conjunto mediano, cuya referencia son los 1,75 s de la especificación.

Interface

What this asset declares: the schema it conforms to, what it exposes, and the rendered structured payload.

conforms to

zero/source-extract/v2

game.roster — el plantel: 16 personajes y 6 vehículos. Cada uno trae cuatro estadísticas de 0 a 1 (velocidad, aceleración, peso y manejo) que `game.core` convierte en conducción de verdad. Nadie escribe números sueltos: lo que hace un personaje lo dicen estas tablas. Los nombres van en inglés siempre, como pide la especificación: los menús se traducen, los nombres no.

pick(tabla: ?, id: ?, porDefecto: ?) → void

Un id vacío NO es lo mismo que ningún id: en Lua la cadena vacía es verdadera, así que `id or porDefecto` no cae al de por defecto. Un id que no existe tampoco deja el conjunto sin personaje: cae al de por defecto en vez de devolver nil y romper la conducción.

argtypedescription
tabla?
id?
porDefecto?

character(id: ?) → void

argtypedescription
id?

vehicle(id: ?) → void

argtypedescription
id?

kindOf(character: ?) → void

La clase de peso de un personaje, que es lo que decide sus bonificaciones de carga y de miniturbo.

argtypedescription
character?

statsOf(entry: ?) → void

Las estadísticas en la forma que espera `game.core`.

argtypedescription
entry?

tuning(charId: ?, vehId: ?, classId: ?) → void

La conducción final de un conjunto. Es la única puerta por la que un personaje y un vehículo llegan al kart.

argtypedescription
charId?
vehId?
classId?

accelSeconds(charId: ?, vehId: ?, classId: ?) → void

Los circuitos no tienen nada que ver con esto; Roster es solo el plantel. Cuánto tarda este conjunto de 0 a su velocidad máxima, en segundos. Sirve para comprobar el equilibrio sin conducir: la referencia mediana son 1,75.

argtypedescription
charId?
vehId?
classId?
⌬ Metadata
descriptionLos 16 personajes y 6 vehículos de Mario Kart OrigoZero Ultimate con sus estadísticas de velocidad, aceleración, peso y manejo, y su conversión a conducción.

Sub-parts

Everything contained inside this part. Assets are composite children (clickable cards). Files are leaf payloads. Expand any row to view its source.

7items
▣
module · born here
❒asset
# game.core El contrato compartido de **Mario Kart OrigoZero Ultimate**. Ninguna pieza del juego escribe un número que pertenezca a la especificación: todos viven aquí. `require("game.core")` desde cualquier parte del mundo. ## Qué trae - **Conducción** — velocidad punta base, tiempo de aceleración (1,75 s de 0 a máximo con un conjunto mediano), frenada, marcha atrás, giro y su caída a alta velocidad. - **Las 3 cilindradas** — 50cc / 100cc / 150cc con sus multiplicadores. - **La K entera** — `DRIFT_CHARGE` (1 s / 3 s / 5 s), `DRIFT_BOOST` (0,75 s / 1,5 s / 3 s), `HOP_CHARGE`, `HOP_JUMP_HEIGHT`, `HOP_BOOST`, el saltito, el empuje lateral, el medio agarre cargando y el anti-spam. - **Superficies** — carretera, tierra, arena, agua, barro, hielo, turbo y fuera de pista, cada una con su velocidad, aceleración, agarre y rozamiento. - **Monedas** — tope de 10, +0,5 % de velocidad cada una, miniturbo de 0,125 s, reaparición a los 0,5 s, 3 monedas perdidas al resbalar. - **Estados** — resbalón (1,5 s al 5 %), rayo (3,5 s al 33 %), tiritar (2 s), explosión azul (0,66 s), truco (0,25 s, miniturbo de 0,75 s). - **Estadísticas** — `Core.tuningFor(charStats, vehStats, kind, classId)` convierte las 4 estadísticas de personaje y vehículo en conducción real, con las bonificaciones de clase (ligero carga un 10 % más rápido, mediano un 5 % y sus miniturbos un 5 % más, pesado sus miniturbos un 10 % más). ## Uso ```lua local Core = require("game.core") local tune = Core.tuningFor(char.stats, veh.stats, char.kind, "150cc") -- tune.topSpeed, tune.accel, tune.turnRate, tune.chargeSpeed, tune.boostTimeMul ```
▲ 0↑ born
backing path · game/roster.module

Problems

Everything affecting this asset right now: its own problems, anything wrong inside it, and problems on its direct dependencies.

0problems
No problems reported. This asset, its contents, and its direct deps are clean as of the latest commit.
⌬ZeroMind agent review · awaiting first pass
Findings
Reviewer findings (handle · model · tag · quoted note) appear here once the per-pass review log lands. Today only the rolled-up agent_score is exposed.
usability—
did it work as advertised
quality—
authoring polish + cohesion
performance—
frame & memory budget held
agent review score
—
/ 100
awaiting first pass
usability × 0.40
+ quality × 0.35
+ performance × 0.25
± compat factor

Usability ratings

Did the part work as advertised when consumers tried to drop it in. Separate from upvotes: those are taste; this is "did it function".

—%no reports yet
Sign in to report whether this part worked for you.
Discussion

Scoped to this part · feeds back into the world's score.

0comments
Sign in to post.sign in
No comments yet. Be the first.