Last active
March 26, 2021 16:05
-
-
Save FunctionDJ/c98c36451b0d700c5082800e5cc7ac14 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| type GameAction = | |
| "moveDirX" | |
| | "aiming" | |
| | "charge" | |
| | "menuBack" | |
| | "menuHotkeyHelp2" | |
| | "questCircleLeft" | |
| | "dashing" | |
| | "guarding" | |
| type Entity = | |
| { player: true } | |
| | { party: string } | |
| | { varName: string } | |
| | { | |
| global: true | |
| name: string | |
| } | |
| interface Resource { | |
| sheet: string | |
| name: string | |
| } | |
| type ChangeType = "add" | "set" | "mul" | |
| type Transition = "EASE_OUT" | "EASE_IN_OUT" | |
| type Character = "main.lea" | "greenies.female-researcher" | "main.sergey-av" | "main.buggy" | "main.grumpy" | "main.guild-leader" | "main.luke" | "main.shizuka" | "main.schneider" | "antagonists.sidekick" | "antagonists.fancyguy" | "main.glasses" | "main.emilie" | "misc.radical-fish" | "main.schneider2" | "guests.sao" | "main.sergey" | |
| type Expression = "NOD" | "DEFAULT" | "EXCITED" | "SMUG" | "PROUD" | "ANNOYED" | "JOKING" | "DOWN" | "EXHAUSTED" | "THINKING" | "SURPRISED" | "NOTIFYING" | "SERIOUS" | "EYES_CLOSED" | "GRIN" | "SHAKE" | "LAUGHING" | "NERVOUS" | "EMBARRASSED" | "SCARED" | "SMILE" | "SURPRISED_TOWARD" | "MOPING" | "SHOCKED" | "SHOUT" | "ANGRY" | "DETERMINED" | "UP" | "ASTONISHED" | "PRE_CRY2" | "PRE_CRY1" | "SAD" | "SHAKE_EYE_CLOSED" | "MASKED_GRIN" | "MASKED" | "SARCASTIC" | "AWAY" | "HOLD_HORNS_ANNOYED" | "TOWARDS" | "WORRIED" | "WHISTLING" | "WONDERING" | "LAUGH" | "WINK" | "CHARMED" | "COMPLAINING" | "PISSED" | "SKEPTICAL" | "PONDERING" | "NORM_SERIOUS" | "PONDERING_NORM" | "EVIL_GRIN" | "FUNNY_SMILE" | "BRIGHT" | "CONFLICTED" | "TOWARD" | "INNOCENT" | "SURPRISED_AWAY" | "AWWW" | "POINTING" | "LECTURING" | "CONTENT" | "SHOUTING" | "HAND_POINT" | "PANIC" | "THOUGHTFUL" | "SLEEP" | "CURIOUS" | "TAUNTING" | "WATCH_OUT_BADASS" | "SUSPICIOUS" | "UNCERTAIN" | "NOD_SAD" | "HAPPY" | "SWEATY_SMILE" | "SHRUG" | "CULTURE" | "PAIN" | "BLANK" | "DISGUSTED" | "BROKEN" | "DEAD_INSIDE" | "CONCERNED" | "DENYING" | "INSANE_DOWN" | "INSANE" | "DUMBFOUNDED" | "RAGING" | "DOWN_EYE_CLOSED" | |
| interface Coordinates2D { | |
| x: number | |
| y: number | |
| } | |
| interface Translations { | |
| en_US: string; | |
| de_DE: string; | |
| fr_FR?: string; | |
| langUid: number | |
| zh_CN: string; | |
| ja_JP: string; | |
| ko_KR: string; | |
| zh_TW: string; | |
| } | |
| interface Person { | |
| person: Character | |
| expression: Expression | |
| } | |
| export interface ShowSideMessageAction { | |
| type: "SHOW_SIDE_MSG"; | |
| message: Translations | |
| person: Person | |
| } | |
| interface IfActionBase { | |
| type: "IF" | |
| condition: string | |
| thenStep: Action[] | |
| } | |
| interface IfAction extends IfActionBase { | |
| withElse: false | |
| } | |
| interface IfWithElseAction extends IfActionBase { | |
| withElse: true | |
| elseStep: Action[] | |
| } | |
| export type Action = | |
| | { type: "STOP_SKIP_MODE" } | |
| | { type: "START_ARENA_ROUND" } | |
| | { type: "TP_TO_CUR_ARENA_ROUND" } | |
| | { type: "REMOVE_ALL_ENEMY_TARGET" } | |
| | { type: "END_ARENA_ROUND", onDeath?: true } | |
| | { type: "END_ARENA_CUP" } | |
| | { type: "SET_PLAYER_SP_LEVEL", level: string } | |
| | { type: "SET_PARTY_MEMBER_SP_LEVEL", level: string, member: string } | |
| | { type: "REMOVE_ALL_PLAYER_CAMERAS" } | |
| | { | |
| type: "MANUAL_COMBATANT_REVIVE" | |
| entity: Entity | |
| } | |
| | { | |
| type: "ADD_PLAYER_CAMERA_TARGET"; | |
| entity: Entity; | |
| } | |
| | { | |
| type: "ADD_SLOW_MOTION" | |
| name: string | |
| factor: number | |
| time: 0 | |
| } | |
| | { | |
| type: "ADD_CP" | |
| element: "NEUTRAL" | |
| amount: 1 | |
| } | |
| | { | |
| type: "SET_FINAL_DRAMATIC_EFFECT"; | |
| effectType: string; | |
| } | |
| | { | |
| type: "REMOVE_PROXIES"; | |
| group: ""; | |
| } | |
| | { | |
| type: "PAUSE_TIMER"; | |
| name: string; | |
| } | |
| | { | |
| type: "RESUME_BGM" | |
| mode: "SLOW" | "MEDIUM" | |
| } | |
| | { | |
| type: "SET_PLAYER_CORE" | |
| core: string | |
| value: boolean | |
| } | |
| | { | |
| type: "REMOVE_PLAYER_CAMERA_TARGET"; | |
| entity: Entity; | |
| } | |
| | { | |
| type: "SHOW_ARENA_ROUND_GUI"; | |
| wait: false; | |
| } | |
| | { | |
| type: "SET_ALL_ENEMY_TARGET"; | |
| target: Entity; | |
| } | |
| | { | |
| type: "SET_FORCE_COMBAT"; | |
| value: boolean; | |
| } | |
| | { | |
| type: "CLEAR_EFFECTS"; | |
| entity: Entity; | |
| } | |
| | { | |
| type: "CLEAR_MSG" | |
| side: "ALL" | |
| } | |
| | { | |
| type: "CLEAR_SLOW_MOTION" | |
| name: string | |
| time: 1 | |
| } | |
| | { | |
| type: "WAIT"; | |
| time: number; | |
| } | |
| | { | |
| type: "SET_FORCE_COMBAT"; | |
| value: boolean; | |
| } | |
| | { | |
| type: "CHANGE_VAR_STRING" | |
| changeType: ChangeType | |
| value: string | |
| varName: string | |
| } | |
| | { | |
| type: "RESET_SKILL_TREE" | |
| element: string | |
| } | |
| | { | |
| type: "WAIT"; | |
| ignoreSlowDown: boolean; | |
| time: number; | |
| } | |
| | { | |
| type: "KILL_ENEMIES" | |
| enemyType: "", | |
| noRumble: true, | |
| } | |
| | { | |
| type: "RUMBLE_SCREEN" | |
| rumbleType: "RANDOM" | |
| name: "" | |
| duration: number | |
| power: "STRONG" | "STRONGER" | |
| speed: "FASTER" | |
| fade: true | |
| } | |
| | { | |
| type: "SET_FACE" | |
| face: "SOUTH" | "EAST" | |
| rotate: true | |
| rotateSpeed: number | |
| } | |
| | { | |
| type: "REMOVE_MSG_PERSON" | |
| person: Character | |
| } | |
| | { | |
| type: "SHOW_MSG" | |
| message: Translations | |
| autoContinue: boolean | |
| person: Person | |
| } | |
| | { | |
| type: "SET_LANDMARK_ACTIVE_STATE" | |
| state: false | |
| area: string | |
| landmark?: string | |
| } | |
| | { | |
| type: "SET_MSG_EXPRESSION" | |
| person: Person | |
| } | |
| | { | |
| type: "UNDO_OPENED_CHEST_TRACK" | |
| area: string | |
| chestId: number | |
| map: string | |
| variable?: string | |
| } | |
| | { | |
| type: "SET_CAMERA_ZOOM" | |
| zoom: number | |
| duration: number | |
| transition: Transition | |
| } | |
| | { | |
| type: "SHOW_CENTER_MSG" | |
| overMenu?: true | |
| titleText: Translations | |
| text: Translations | |
| } | |
| | { | |
| type: "SHOW_TUTORIAL_MSG" | |
| text: Translations | |
| pos: Coordinates2D | |
| size: Coordinates2D | |
| direction: "BOTTOM_RIGHT" | "TOP_RIGHT" | "BOTTOM_LEFT" | "TOP_LEFT" | |
| connectPos: number | |
| stopTime: false | |
| } | |
| | { | |
| type: "SHOW_EXTERN_ANIM" | |
| wait: false | |
| anim: Resource | |
| } | |
| | { | |
| type: "JUMP"; | |
| jumpHeight: "M"; | |
| wait: true; | |
| ignoreSounds: boolean; | |
| } | |
| | { | |
| type: "SET_CONTACT_TYPE" | |
| member: string | |
| status: "UNKNOWN" | |
| } | |
| | { | |
| type: "ADD_PARTY_MEMBER" | |
| member: string | |
| temporary?: false | |
| skipEffect: boolean | |
| } | |
| | IfAction | IfWithElseAction | |
| | { | |
| type: "CHANGE_VAR_BOOL" | |
| changeType: ChangeType | |
| map?: string | |
| varName: string | |
| value: boolean | |
| } | |
| | { | |
| type: "SHOW_TUTORIAL_PLAYER_MSG" | |
| stopTime: true | |
| text: Translations | |
| targetType: "PLAYER" | "CROSSHAIR" | |
| size: Coordinates2D | |
| } | |
| | { | |
| type: "GOTO_LABEL" | |
| name: "end" | "denied" | "tutorialStart" | "leave" | |
| } | |
| | { type: "START_AUTO_CTRL" } | |
| | { | |
| type: "LABEL" | |
| name: string | |
| } | |
| | { | |
| type: "TRIGGER_COMMON_EVENTS" | |
| commonEventType: "MENU_LEAVE" | |
| } | |
| | { | |
| type: "SHOW_TUTORIAL_START" | |
| msgType: "TUTORIAL" | "GENERIC" | |
| title: Translations | |
| content: Translations | |
| image?: string | |
| acceptStep: Action[] | |
| cancelStep: Action[] | |
| } | |
| | { | |
| type: "RING_PRIVATE_MSG" | |
| outgoing: true | |
| } | |
| | { | |
| type: "START_PRIVATE_MSG" | |
| } | |
| | { | |
| type: "END_PRIVATE_MSG" | |
| skipSounds: false | |
| } | |
| | { | |
| type: "SET_CAMERA_BETWEEN" | |
| entity1: Entity | |
| entity2: Entity | |
| speed: "FAST" | |
| transition: Transition | |
| wait: true | |
| waitSkip: number | |
| zoom: 1 | |
| } | |
| | { | |
| type: "HIDE_ENTITY" | |
| entity: Entity | |
| skipEffects: false | |
| } | |
| | { | |
| type: "SET_FACE_TO_ENTITY"; | |
| entity: Entity; | |
| rotate: true; | |
| rotateSpeed: number; | |
| } | |
| | { | |
| type: "CHANGE_VAR_NUMBER"; | |
| changeType: ChangeType | |
| varName: string; | |
| value: number | { varName: string }; | |
| } | |
| | { | |
| type: "CHANGE_VAR_STRING" | |
| varName: string | |
| value: string | |
| changeType: ChangeType | |
| } | |
| | { | |
| type: "SET_OVERLAY"; | |
| alpha: 0 | 1; | |
| time: 0 | 1; | |
| lighter: false; | |
| color: "black"; | |
| } | |
| | { | |
| type: "SET_OVERLAY_CORNER"; | |
| alpha: number; | |
| time: 0 | 1; | |
| color: "BLACK"; | |
| } | |
| | { | |
| type: "SHOW_BOARD_MSG" | |
| text: Translations | |
| center: boolean | |
| autoContinue: false | |
| } | |
| | { | |
| type: "SET_MOBILITY_BLOCK" | |
| value: "TELEPORT" | |
| } | |
| | { | |
| type: "TELEPORT" | |
| map: string | |
| marker: "checkpoint" | "east" | "start" | "quest-hub-2" | |
| } | |
| | { | |
| type: "UNLOCK_TROPHY" | |
| trophy: string | |
| } | |
| | { | |
| type: "REMOVE_ITEM" | |
| item: string | |
| amount: number | |
| unequip?: true | |
| } | |
| | { | |
| type: "REMOVE_PARTY_MEMBER" | |
| member: string | |
| skipEffect: boolean | |
| } | |
| | { | |
| type: "GIVE_ITEM" | |
| item: string | |
| amount: number | { varName: string } | |
| skip: boolean | |
| } | |
| | { | |
| type: "CLEAR_BOARD_MSG" | |
| } | |
| | { | |
| type: "SHOW_GET_MSG" | |
| msgType: "OBTAINED" | "EXTENDED" | "REMOVED" | |
| object: Translations | |
| } | |
| | { | |
| type: "SOLVE_QUEST_CONDITION" | |
| quest: { | |
| quest: string | |
| label: string | |
| } | |
| } | |
| | { | |
| type: "PAUSE_BGM" | |
| mode: "SLOW" | "FAST" | "MEDIUM_OUT" | |
| } | |
| | { | |
| type: "ADD_MSG_PERSON" | |
| name?: Translations | |
| side: "LEFT" | "RIGHT" | |
| order: number | |
| clearSide: false | |
| person: Person | |
| } | |
| | { | |
| type: "SPAWN_ARENA_WAVE"; | |
| focusPlayer: false; | |
| silent: boolean; | |
| increase: boolean; | |
| } | |
| | { | |
| type: "SET_ZOOM_BLUR"; | |
| zoomType: "MEDIUM" | "LIGHT"; | |
| fadeIn: number; | |
| duration: number; | |
| fadeOut: number; | |
| } | |
| | { | |
| type: "RESET_CAMERA"; | |
| speed: "FAST" | "NORMAL"; | |
| transition: Transition | |
| wait: true; | |
| waitSkip: number; | |
| } | |
| | { | |
| type: "SHOW_ANIMATION"; | |
| anim: string; | |
| viaWalkConfig: false; | |
| wait: false; | |
| followUp?: string; | |
| } | |
| | { | |
| type: "PLAY_SOUND"; | |
| volume: number; | |
| name: string; | |
| loop: boolean; | |
| offset: 0; | |
| startTime: 0; | |
| speed?: number | |
| sound: string; | |
| } | |
| | { | |
| type: "SET_AUTO_CTRL_STICK" | |
| stick: "left" | "right" | |
| value: Coordinates2D | |
| duration: number | |
| } | |
| | { | |
| type: "SET_AUTO_CTRL_ACTION" | |
| action: GameAction | "menuConfirm" | "menuDown" | "menu" | "menuUp" | |
| value: 1 | |
| hold: boolean | |
| deviceFilter: "" | "GAMEPAD" | |
| } | |
| | { | |
| type: "NAVIGATE_ESCAPE_ENTITY"; | |
| entity: Entity; | |
| maxTime: number; | |
| distance: number; | |
| throwing: false; | |
| planOnly: false; | |
| } | |
| | { | |
| type: "RESET_SP" | |
| target: Entity | |
| sp: number | |
| } | |
| | { | |
| type: "SELECT_FIRST" | |
| options: string[] | |
| "0": ShowSideMessageAction[] | |
| "1": ShowSideMessageAction[] | |
| "2": ShowSideMessageAction[] | |
| "3": ShowSideMessageAction[] | |
| } | |
| | { | |
| type: "DO_ACTION"; | |
| entity: Entity; | |
| action: Action[]; | |
| repeating: false; | |
| wait: boolean; | |
| keepState: boolean; | |
| immediately: false; | |
| } | |
| | { | |
| type: "UNLOCK_LORE" | |
| notify: true | |
| lore: string | |
| } | |
| | { | |
| type: "RESET_TRADER" | |
| trader: string | |
| } | |
| | { | |
| type: "SET_STAT_MAP_NUMBER" | |
| map: string | |
| stat: string | |
| value: { | |
| varName: string | |
| } | |
| } | |
| | { | |
| type: "SPAWN_ARENA_WAVE"; | |
| focusPlayer: false; | |
| silent: boolean; | |
| increase: boolean; | |
| } | |
| | { | |
| type: "SET_AUTO_CTRL_MOUSE" | |
| pos: Coordinates2D | |
| duration: number | |
| } | |
| | { | |
| type: "SHOW_MODAL_CHOICE" | |
| "0": Action[] | |
| "1": Action[] | |
| text: Translations | |
| options: { | |
| "0": " " | |
| label: Translations | |
| }[] | |
| } | |
| | { | |
| type: "END_AUTO_CTRL" | |
| } | |
| | { | |
| type: "WAIT_UNTIL_ACTION_DONE" | |
| entity: Entity | |
| } | |
| | { | |
| type: "CLEAR_AUTO_CTRL_ACTION" | |
| action: GameAction | |
| deviceFilter: "" | |
| } | |
| | { | |
| type: "SET_VAR_COMBAT_ART_TYPE_WITH_MIN_LEVEL" | |
| level: number | |
| varName: string | |
| } | |
| | { | |
| type: "SWITCH_TO_ELEMENT_WITH_COMBAT_ART" | |
| artType?: "THROW" | "ATTACK" | "DASH" | "GUARD" | |
| level: number | |
| skipEffect: false | |
| } | |
| | { | |
| type: "SHOW_EFFECT"; | |
| actionDetached?: false | |
| fixPos?: false | |
| align: "BASE" | "BOTTOM" | "CENTER"; | |
| entity?: Entity; | |
| rotateFace?: number | |
| duration: number; | |
| group?: "" | "scale"; | |
| wait: false; | |
| flipLeftFace?: true | |
| waitSkip: 0; | |
| effect: Resource; | |
| offset: { | |
| x: number; | |
| y: number; | |
| z: number; | |
| }; | |
| } | |
| | { type: "CLEAR_ANIMATION" } | |
| | ShowSideMessageAction | |
| | { | |
| type: "SELECT_RANDOM"; | |
| options: unknown[]; | |
| "0_0"?: Action[]; | |
| "1_0"?: Action[]; | |
| "0_1"?: Action[]; | |
| "1_1"?: Action[]; | |
| "2_0"?: Action[]; | |
| "0_2"?: Action[]; | |
| "3_0"?: Action[]; | |
| "0_3"?: Action[]; | |
| "4_0"?: Action[]; | |
| "5_0"?: Action[]; | |
| "6_0"?: Action[]; | |
| "7_0"?: Action[]; | |
| "8_0"?: Action[]; | |
| "9_0"?: Action[]; | |
| } | |
| | { | |
| type: "SET_CAMERA_TARGET"; | |
| zoom: number; | |
| waitSkip: number; | |
| wait: boolean; | |
| transition: Transition | |
| speed: "NORMAL" | "FAST" | "FASTER" | |
| offsetX: 0; | |
| offsetY: number; | |
| lockZ?: true; | |
| entity: Entity; | |
| }; | |
| type EventType = | |
| { | |
| type: "CALL" | |
| } | |
| | { | |
| type: "SOCIAL_ACTION" | |
| member?: string | |
| actionType: "PARTY_JOIN" | "PARTY_LEAVE" | "CONTACT" | |
| } | |
| | { | |
| type: "ENEMY_ATTACKS" | |
| enemies?: string[] | |
| killCount?: 1 | |
| rank?: 0 | |
| battleStarted?: true | |
| levelGap?: number | |
| levelGapAbove?: number | |
| levelGapBelow?: number | |
| playerStarted?: boolean | |
| } | |
| | { | |
| type: "BATTLE_OVER" | |
| killCount: number | |
| rank?: "S" | "D" | |
| } | |
| | { | |
| type: "COOLDOWN_START" | |
| enemies?: string[] | |
| killCount: number | |
| rank?: "D" | |
| rankReached?: "S" | "A" | "B" | |
| enemy?: string | string[] | |
| } | |
| | { | |
| type: "MAP_ENTERED" | |
| } | |
| | { | |
| type: "LEVEL_UP" | |
| level: 0 | |
| killCount: 1 | |
| rank: 0 | |
| } | |
| | { | |
| type: "TRIGGER_COMMON_EVENTS" | |
| } | |
| | { | |
| type: "FORCE_UPDATE" | |
| } | |
| | { | |
| type: "MENU_LEAVE" | |
| } | |
| | { | |
| type: "QUEST_ACCEPTED" | |
| } | |
| | { | |
| type: "PARTY_MEMBER_EVENT" | |
| member: string | |
| actionType?: "PARTY_JOIN" | |
| eventType: "DIES" | "REVIVED" | "EQUIP_UPDATE" | |
| } | |
| | { | |
| type: "DUNGEON_TRANSITION" | |
| mapTransition: "" | |
| areaTransition: "ENTER" | "LEAVE" | |
| transitionType: "ENTER" | "LEAVE" | |
| } | |
| | { | |
| type: "ENEMY_DEFEATED" | |
| killCount: 1 | |
| rank: 0 | |
| enemy?: string | |
| } | |
| interface Event { | |
| frequency: "ALWAYS" | "REGULAR" | "SOMETIMES"; | |
| repeat: "ONCE" | "REPEAT"; | |
| condition?: string | |
| overrideSideMessage?: boolean; | |
| runOnTrigger?: number[]; | |
| type: EventType | |
| loopCount?: number | |
| event: Action[]; | |
| eventType: "PARALLEL" | "CUTSCENE" | |
| } | |
| export interface CommonEvents { | |
| [key: string]: Event | |
| } | |
| export interface Database { | |
| commonEvents: CommonEvents; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment