@slippi/slippi-js
Version:
Official Project Slippi Javascript SDK
247 lines • 6.42 kB
TypeScript
import type { GameStartType, PostFrameUpdateType } from "../types";
export type StatsType = {
gameComplete: boolean;
lastFrame: number;
playableFrameCount: number;
stocks: StockType[];
conversions: ConversionType[];
combos: ComboType[];
actionCounts: ActionCountsType[];
overall: OverallType[];
};
export type StadiumStatsType = HomeRunContestResultType | TargetTestResultType;
export type TargetTestResultType = {
type: "target-test";
targetBreaks: TargetBreakType[];
};
export type HomeRunContestResultType = {
type: "home-run-contest";
distance: number;
units: "feet" | "meters";
};
export type RatioType = {
count: number;
total: number;
ratio: number | null;
};
export type PlayerIndexedType = {
playerIndex: number;
opponentIndex: number;
};
export type DurationType = {
startFrame: number;
endFrame?: number | null;
};
export type DamageType = {
startPercent: number;
currentPercent: number;
endPercent?: number | null;
};
export type StockType = DurationType & DamageType & {
playerIndex: number;
count: number;
deathAnimation?: number | null;
};
export type MoveLandedType = {
playerIndex: number;
frame: number;
moveId: number;
hitCount: number;
damage: number;
};
export type ComboType = DurationType & DamageType & {
playerIndex: number;
moves: MoveLandedType[];
didKill: boolean;
lastHitBy: number | null;
};
export type TargetBreakType = {
spawnId: number;
frameDestroyed: number | null;
positionX: number;
positionY: number;
};
export type ConversionType = ComboType & {
openingType: string;
};
export type ActionCountsType = {
playerIndex: number;
wavedashCount: number;
wavelandCount: number;
airDodgeCount: number;
dashDanceCount: number;
spotDodgeCount: number;
ledgegrabCount: number;
rollCount: number;
lCancelCount: {
success: number;
fail: number;
};
attackCount: {
jab1: number;
jab2: number;
jab3: number;
jabm: number;
dash: number;
ftilt: number;
utilt: number;
dtilt: number;
fsmash: number;
usmash: number;
dsmash: number;
nair: number;
fair: number;
bair: number;
uair: number;
dair: number;
};
grabCount: {
success: number;
fail: number;
};
throwCount: {
up: number;
forward: number;
back: number;
down: number;
};
groundTechCount: {
away: number;
in: number;
neutral: number;
fail: number;
};
wallTechCount: {
success: number;
fail: number;
};
};
export type InputCountsType = {
buttons: number;
triggers: number;
joystick: number;
cstick: number;
total: number;
};
export type OverallType = {
playerIndex: number;
inputCounts: InputCountsType;
conversionCount: number;
totalDamage: number;
killCount: number;
successfulConversions: RatioType;
inputsPerMinute: RatioType;
digitalInputsPerMinute: RatioType;
openingsPerKill: RatioType;
damagePerOpening: RatioType;
neutralWinRatio: RatioType;
counterHitRatio: RatioType;
beneficialTradeRatio: RatioType;
};
export declare enum State {
DAMAGE_START = 75,
DAMAGE_END = 91,
CAPTURE_START = 223,
CAPTURE_END = 232,
GUARD_START = 178,
GUARD_END = 182,
GROUNDED_CONTROL_START = 14,
GROUNDED_CONTROL_END = 24,
SQUAT_START = 39,
SQUAT_END = 41,
DOWN_START = 183,
DOWN_END = 198,
TECH_START = 199,
TECH_END = 204,
DYING_START = 0,
DYING_END = 10,
CONTROLLED_JUMP_START = 24,
CONTROLLED_JUMP_END = 34,
GROUND_ATTACK_START = 44,
GROUND_ATTACK_END = 64,
AERIAL_ATTACK_START = 65,
AERIAL_ATTACK_END = 74,
ATTACK_FTILT_START = 51,
ATTACK_FTILT_END = 55,
ATTACK_FSMASH_START = 58,
ATTACK_FSMASH_END = 62,
ROLL_FORWARD = 233,
ROLL_BACKWARD = 234,
SPOT_DODGE = 235,
AIR_DODGE = 236,
ACTION_WAIT = 14,
ACTION_DASH = 20,
ACTION_KNEE_BEND = 24,
GUARD_ON = 178,
TECH_MISS_UP = 183,
JAB_RESET_UP = 185,
TECH_MISS_DOWN = 191,
JAB_RESET_DOWN = 193,
NEUTRAL_TECH = 199,
FORWARD_TECH = 200,
BACKWARD_TECH = 201,
WALL_TECH = 202,
MISSED_WALL_TECH = 247,
DASH = 20,
TURN = 18,
LANDING_FALL_SPECIAL = 43,
JUMP_FORWARD = 25,
JUMP_BACKWARD = 26,
FALL_FORWARD = 30,
FALL_BACKWARD = 31,
GRAB = 212,
DASH_GRAB = 214,
GRAB_WAIT = 216,
PUMMEL = 217,
CLIFF_CATCH = 252,
THROW_UP = 221,
THROW_FORWARD = 219,
THROW_DOWN = 222,
THROW_BACK = 220,
DAMAGE_FALL = 38,
ATTACK_JAB1 = 44,
ATTACK_JAB2 = 45,
ATTACK_JAB3 = 46,
ATTACK_JABM = 47,
ATTACK_DASH = 50,
ATTACK_UTILT = 56,
ATTACK_DTILT = 57,
ATTACK_USMASH = 63,
ATTACK_DSMASH = 64,
AERIAL_NAIR = 65,
AERIAL_FAIR = 66,
AERIAL_BAIR = 67,
AERIAL_UAIR = 68,
AERIAL_DAIR = 69,
GNW_JAB1 = 341,
GNW_JABM = 342,
GNW_DTILT = 345,
GNW_FSMASH = 346,
GNW_NAIR = 347,
GNW_BAIR = 348,
GNW_UAIR = 349,
PEACH_FSMASH1 = 349,
PEACH_FSMASH2 = 350,
PEACH_FSMASH3 = 351,
BARREL_WAIT = 293,
COMMAND_GRAB_RANGE1_START = 266,
COMMAND_GRAB_RANGE1_END = 304,
COMMAND_GRAB_RANGE2_START = 327,
COMMAND_GRAB_RANGE2_END = 338
}
export declare const Timers: {
PUNISH_RESET_FRAMES: number;
RECOVERY_RESET_FRAMES: number;
COMBO_STRING_RESET_FRAMES: number;
};
export declare function getSinglesPlayerPermutationsFromSettings(settings: GameStartType): PlayerIndexedType[];
export declare function didLoseStock(frame: PostFrameUpdateType, prevFrame: PostFrameUpdateType): boolean;
export declare function isInControl(state: number): boolean;
export declare function isTeching(state: number): boolean;
export declare function isDown(state: number): boolean;
export declare function isDamaged(state: number): boolean;
export declare function isGrabbed(state: number): boolean;
export declare function isCommandGrabbed(state: number): boolean;
export declare function isDead(state: number): boolean;
export declare function calcDamageTaken(frame: PostFrameUpdateType, prevFrame: PostFrameUpdateType): number;
//# sourceMappingURL=common.d.ts.map