ExperimentalGear/docs/lua_api/gameplay.lua

57 lines
2.5 KiB
Lua

-- gameplay `gameplay` table
---@class CritLine
---@field cursors LaserCursor[] #
---@field line Line # Line from the left corner of the track to the right corner
---@field rotation number # The rotation of the crit line, in radians
---@field x integer # Screen x-coordinate of the center of the crit line
---@field y integer # Screen y-coordinate of the center of the crit line
CritLine = {};
---@class LaserCursor
---@field alpha number # Alpha channel value, `0.0` to `1.0`
---@field pos number # The x-position relative to the center of the crit line
---@field skew number # The x-skew of the cursor
LaserCursor = {};
---@class Gauge
---@field type integer # `0` = Effective, `1` = Excessive, `2` = Permissive, `3` = Blastive
---@field value number # Current gauge percentage, `0.0` to `1.0`
Gauge = {};
---@class Line
---@field x1 number # Starting x-coordinate
---@field y1 number # Starting y-coordinate
---@field x2 number # Ending x-coordinate
---@field y2 number # Ending y-coordinate
Line = {};
---@class ScoreReplay
---@field currentScore integer # Current score of the replay
---@field maxScore integer # Ending score of the replay
ScoreReplay = {};
---@class gameplay
---@field artist string # Chart artist
---@field bpm number # Chart BPM
---@field comboState integer # `0` = Normal, `1` = UC, `2` = PUC
---@field critLine CritLine # Table of crit line information
---@field demoMode boolean # Whether the game is in demo mode
---@field difficulty integer # Difficulty index
---@field gauge Gauge # Table of gauge information
---@field hiddenCutoff number # Hidden cutoff value, `0.0` to `1.0`
---@field hiddenFade number # Hidden fade value, `0.0` to `1.0`
---@field hispeed number # Current hispeed
---@field hitWindow HitWindow # Table of hit window information
---@field jacketPath string # Full filepath to the jacket image on the disk
---@field laserActive boolean[] # Array of laser active states, `1` = left, `2` = right
---@field level integer # Chart level
---@field noteHeld boolean[] # Array of button hold states, in order from 1 to 6: `BTA`, `BTB`, `BTC`, `BTD`, `FXL`, `FXR`
---@field practice_setup boolean|nil # `true` = practice setup, `false` = practicing, `nil` = not in practice mode
---@field progress number # Chart progress, `0.0` to `1.0`
---@field scoreReplays ScoreReplay[] # Array of previous scores for the chart
---@field suddenCutoff number # Sudden cutoff value, `0.0` to `1.0`
---@field suddenFade number # Sudden fade value, `0.0` to `1.0`
---@field title string # Chart title
---@field user_id nil|string # Only for multiplayer
gameplay = {};