113 lines
1.9 KiB
Lua
113 lines
1.9 KiB
Lua
|
--!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)
|