sm64-roblox-liberty-prime/sm64/Types/init.lua

113 lines
1.9 KiB
Lua
Raw Normal View History

2022-10-13 03:53:17 -05:00
--!strict
local Flags = require(script.Flags)
export type Flags = Flags.Class
export type Controller = {
RawStickX: number,
RawStickY: number,
StickX: number,
StickY: number,
StickMag: number,
ButtonDown: Flags,
ButtonPressed: Flags,
}
export type BodyState = {
Action: number,
CapState: Flags,
EyeState: number,
HandState: Flags,
WingFlutter: boolean,
ModelState: Flags,
GrabPos: number,
PunchType: number,
PunchTimer: number,
TorsoAngle: Vector3int16,
HeadAngle: Vector3int16,
HeldObjLastPos: Vector3,
}
export type MarioState = {
Input: Flags,
Flags: Flags,
Action: Flags,
PrevAction: Flags,
ParticleFlags: Flags,
HitboxHeight: number,
TerrainType: number,
HeldObj: Instance?,
ActionState: number,
ActionTimer: number,
ActionArg: number,
IntendedMag: number,
IntendedYaw: number,
InvincTimer: number,
FramesSinceA: number,
FramesSinceB: number,
WallKickTimer: number,
DoubleJumpTimer: number,
FaceAngle: Vector3int16,
GfxAngle: Vector3int16,
AngleVel: Vector3int16,
ThrowMatrix: CFrame?,
SlideYaw: number,
TwirlYaw: number,
Position: Vector3,
Velocity: Vector3,
ForwardVel: number,
SlideVelX: number,
SlideVelZ: number,
Wall: RaycastResult?,
Ceil: RaycastResult?,
Floor: RaycastResult?,
CeilHeight: number,
FloorHeight: number,
FloorAngle: number,
WaterLevel: number,
BodyState: BodyState,
Controller: Controller,
Health: number,
HurtCounter: number,
HealCounter: number,
SquishTimer: number,
CapTimer: number,
BurnTimer: number,
PeakHeight: number,
SteepJumpYaw: number,
WalkingPitch: number,
QuicksandDepth: number,
LongJumpIsSlow: boolean,
AnimCurrent: Animation?,
AnimFrameCount: number,
AnimAccel: number,
AnimAccelAssist: number,
AnimFrame: number,
AnimDirty: boolean,
AnimReset: boolean,
AnimSetFrame: number,
AnimSkipInterp: boolean?,
}
local result = { Flags = Flags }
return table.freeze(result)