UNPKG

@csegames/camelot-unchained

Version:

Camelot Unchained Client Library

559 lines (476 loc) 15 kB
/* * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ import clientInterface, { PlayerState, AnyEntityState, ClientSkillState } from './clientInterface'; import configGroup from './config/configGroup'; import { Race, Gender, Faction } from '..'; import Item from './classes/Item'; const devClientInterface: clientInterface = { initialized: true, OnInitialized: (c: () => void): number => { c(); return -1; }, CancelOnInitialized: (c: number) => { }, /* Client Options */ muteVolume: false, mainVolume: 1, /* Shared */ patchResourceChannel: 4, loginToken: 'developer', pktHash: '0000', webAPIHost: 'hatcheryd.camelotunchained.com', apiHost: 'https://api.camelotunchained.com', serverURL: '', serverTime: 1, vsync: 1, FOV: (degrees: number) => { }, DropLight: (intensity: number, radius: number, red: number, green: number, blue: number) => { }, ResetLights: () => { }, OnServerConnected: (c: (isConnected: boolean) => void): number => { c(false); return -1; }, CancelOnServerConnected: (c: number): void => { }, PlaySoundEvent: (id: number): void => { }, ToggleCamera: (): void => { }, ReloadUI: (name: string): void => { }, ReloadAllUI: (): void => { }, OpenUI: (name: string): void => { }, CloseUI: (name: string): void => { }, HideUI: (name: string): void => { }, ShowUI: (name: string): void => { }, ToggleUIVisibility: (name: string): void => { }, FocusUI: (name: string): void => { }, RequestInputOwnership: (): void => { }, ReleaseInputOwnership: (): void => { }, Quit: (): void => { }, CrashTheGame: (): void => { }, OnUpdateNameplate: (c: (cell: number, colorMod: number, name: string, gtag: string, title: string) => void): void => { }, OnOpenUI: (callback: (name: string) => void): void => { }, OnCloseUI: (callback: (name: string) => void): void => { }, OnShowUI: (callback: (name: string) => void): void => { }, OnHideUI: (callback: (name: string) => void): void => { }, Listen: (event: string): void => { }, Ignore: (event: string): void => { }, Fire: (event: string, ...args: any[]): void => { }, OnEvent: (callback: (event: string, ...args: any[]) => void): void => { }, /* Respawn */ Respawn: (id: string): void => { }, /* Skills */ SetSkillRunning: (callback: (abilityId: string, isRunning: boolean) => void): void => {}, SetSkillQueued: (callback: (abilityId: string, isQueued) => void): void => {}, UpdateSkillCooldown: (callback: (abilityId: string, started: number, duration: number) => void): void => {}, OnSkillError: (callback: (abilityId: string) => void): void => {}, OnSkillStateChanged: (callback: (skillState: ClientSkillState) => void): void => {}, /* Abilities */ OnAbilityNumbersChanged: (callback: (abilityNumbers: string[]) => void): void => { }, Attack: (abilityID: string): void => { }, OnAbilityCooldown: (c: (cooldownID: number, timeStarted: number, duration: number) => void): number => { return -1; }, CancelOnAbilityCooldown: (c: number): void => { }, OnAbilityActive: (c: (currentAbility: string, timeStarted: number, timeTriggered: number, queuedAbility: string) => any): number => { return -1; }, CancelOnAbilityActive: (c: number): void => { }, OnAbilityError: (c: (message: string) => void): void => { }, /* HUD */ OnToggleHUDItem: (c: (name: string) => void): void => { }, /* Equipped Gear */ SubscribeGear: (subscribe: boolean): void => { }, OnGearAdded: (callback: (item: Item) => void): void => { }, OnGearRemoved: (callback: (itemID: string) => void): void => { }, UnequipItem: (itemID: string): void => { }, /* Inventory */ SubscribeInventory: (subscribe: boolean): void => { }, OnInventoryAdded: (callback: (item: Item) => void): void => { }, OnInventoryRemoved: (callback: (itemID: string) => void): void => { }, EquipItem: (itemID: string): void => { }, DropItem: (itemID: string): void => { }, /* Config */ OnReceiveConfigVars: (c: (configs: string) => void): void => { }, OnReceiveConfigVar: (c: (config: any) => void): void => { }, OnConfigVarChanged: (c: (isChangeSuccessful: boolean) => void): void => { }, SaveConfigChanges: (): void => { }, OnSavedConfigChanges: (c: () => void): void => { }, RestoreConfigDefaults: (tag: configGroup): void => { }, ChangeConfigVar: (variable: string, value: string): void => { }, CancelChangeConfig: (variable: string): void => { }, CancelAllConfigChanges: (tag: configGroup): void => { }, GetConfigVars: (tag: configGroup): void => { }, GetConfigVar: (variable: string): void => { }, /* Building | CUBE */ OnBuildingModeChanged: (c: (buildingMode: number) => void): void => { }, // responds with all blocks -- triggered by a call to 'RequestBlocks' OnReceiveBlocks: (c: (buildingDict: any) => void): void => { }, // responds with all substance ids -- triggered by a call to 'RequestSubstances' OnReceiveSubstances: (c: (substances: any) => void): void => { }, // responds with block ids for a specific substance last passed into 'BlockIDsforSubstanceID' OnReceiveBlockIDs: (c: (blockIds: [number]) => void): void => { }, OnReceiveBlockTags: (c: (blockID: number, tagDict: any) => void): void => { }, OnReceiveScreenShot: (c: (screenShotString: any) => void): void => { }, OnCopyBlueprint: (c: () => void): void => { }, OnNewBlueprint: (c: (index: number, name: string) => void): void => { }, OnDownloadBlueprints: (c: (charId: string) => void): void => { }, OnUploadBlueprint: (c: (charId: string, name: string, data: any) => void): void => { }, OnBlueprintSelected: (c: () => void): void => { }, OnBlockSelected: (c: (blockID: number) => void): void => { }, ToggleBuildingMode: (): void => { }, SetBuildingMode: (newMode: number): void => { }, UndoCube: (): void => { }, RedoCube: (): void => { }, CommitBlock: (): void => { }, CancelBlockPlacement: (): void => { }, BlockRotateX: (): void => { }, BlockRotateY: (): void => { }, BlockRotateZ: (): void => { }, BlockFlipX: (): void => { }, BlockFlipY: (): void => { }, BlockFlipZ: (): void => { }, CopyBlueprint: (): void => { }, PasteBlueprint: (): void => { }, RemoveIslands: (): void => { }, ApplyStability: (): void => { }, TestStability: (): void => { }, SaveBuilding: (): void => { }, ToggleStabilityLoop: (): void => { }, RequestBlocks: (): void => { }, RequestSubstances: (): void => { }, BlockIDsforSubstanceID: (substanceID: number): void => { }, RequestBlockTags: (blockID: number): void => { }, ChangeBlockType: (newType: number): void => { }, OpenScreenshotShare: (): void => { }, TakeScreenshot: (): void => { }, CountBlocks: (): void => { }, ReplaceSubstance: (block1: number, block2: number): void => { }, ReplaceSelectedSubstance: (block1: number, block2: number): void => { }, ReplaceShapes: (shape1: number, shape2: number): void => { }, ReplaceSelectedShapes: (shape1: number, shape2: number): void => { }, RotateX: (): void => { }, RotateY: (): void => { }, RotateZ: (): void => { }, SnapMode: (): void => { }, BlockTypes: (): void => { }, LoopAbility: (hotbarIndex: number, interval: number): void => { }, EndLoopAbility: (): void => { }, placedBlockCount: 0, blockTypes: 0, SelectBlueprint: (index: number): void => { }, RequestBlueprints: (): void => { }, SaveBlueprint: (name: string): void => { }, DownloadBlueprints: (): void => { }, ReceiveBlueprintFromServer: (name: string, cellData: any, id: string): void => { }, DeleteLocalBlueprint: (name: string): void => { }, /* Announcement */ OnAnnouncement: (c: (message: string, type: number) => void): void => { }, /* Plot */ OnPlotStatus: (c: (plotOwned: boolean, permissions: number, charID: string, entityID: string) => void): void => { }, /* Character State Changes */ OnPlayerStateChanged: (c: (state: PlayerState) => void): void => { }, OnEnemyTargetStateChanged: (c: (state: AnyEntityState) => void): void => { }, OnFriendlyTargetStateChanged: (c: (state: AnyEntityState) => void): void => { }, /* Character */ OnCharacterIDChanged: (c: (id: string) => void): void => { }, OnCharacterZoneChanged: (c: (id: string) => void): void => { }, OnCharacterFactionChanged: (c: (faction: Faction) => void): void => { }, OnCharacterRaceChanged: (c: (race: Race) => void): void => { }, OnCharacterGenderChanged: (c: (gender: Gender) => void): void => { }, OnCharacterNameChanged: (c: (name: string) => void): void => { }, OnCharacterHealthChanged: (c: (health: number, maxHealth: number) => void): void => { }, OnCharacterStaminaChanged: (c: (stamina: number, maxStamina: number) => void): void => { }, OnCharacterEffectsChanged: (c: (effects: string) => void): void => { }, OnCharacterInjuriesChanged: (c: (part: number, health: number, maxHealth: number, wounds: number) => void): void => { }, OnCharacterAliveOrDead: (c: (alive: boolean) => void): void => { }, OnCharacterPositionChanged: (c: (x: number, y: number, z: number) => void): void => { }, OnCharacterCanReleaseControlChanged: (c: (canRelease: boolean) => void): void => { }, /* EMOTE */ Emote: (emote: number): void => { }, /* Enemy Target */ OnEnemyTargetFactionChanged: (c: (faction: Faction) => void): void => { }, OnEnemyTargetRaceChanged: (c: (race: Race) => void): void => { }, OnEnemyTargetGenderChanged: (c: (gender: Gender) => void): void => { }, OnEnemyTargetNameChanged: (c: (name: string) => void): void => { }, OnEnemyTargetHealthChanged: (c: (health: number, maxHealth: number) => void): void => { }, OnEnemyTargetStaminaChanged: (c: (stamina: number, maxStamina: number) => void): void => { }, OnEnemyTargetEffectsChanged: (c: (effects: string) => void): void => { }, OnEnemyTargetInjuriesChanged: (c: (part: number, health: number, maxHealth: number, wounds: number) => void): void => { }, OnEnemyTargetAliveOrDead: (c: (alive: boolean) => void): void => { }, OnEnemyTargetPositionChanged: (c: (x: number, y: number, z: number) => void): void => { }, /* Friendly Target */ OnFriendlyTargetFactionChanged: (c: (faction: Faction) => void): void => { }, OnFriendlyTargetRaceChanged: (c: (race: Race) => void): void => { }, OnFriendlyTargetGenderChanged: (c: (gender: Gender) => void): void => { }, OnFriendlyTargetNameChanged: (c: (name: string) => void): void => { }, OnFriendlyTargetHealthChanged: (c: (health: number, maxHealth: number) => void): void => { }, OnFriendlyTargetStaminaChanged: (c: (stamina: number, maxStamina: number) => void): void => { }, OnFriendlyTargetEffectsChanged: (c: (effects: string) => void): void => { }, OnFriendlyTargetInjuriesChanged: (c: (part: number, health: number, maxHealth: number, wounds: number) => void): void => { }, OnFriendlyTargetAliveOrDead: (c: (alive: boolean) => void): void => { }, OnFriendlyTargetPositionChanged: (c: (x: number, y: number, z: number) => void): void => { }, /* Chat */ OnBeginChat: (c: (commandMode: number, text: string) => void): void => { }, OnChat: (c: (type: number, from: string, body: string, nick: string, iscse: boolean) => void): void => { }, SendChat: (type: number, to: string, body: string): void => { }, JoinMUC: (room: string): void => { }, LeaveMUC: (room: string): void => { }, Stuck: (): void => { }, ChangeZone: (zoneID: number): void => { }, /* Ability Crafting */ ShowAbility: (abilityID: string): void => { }, OnShowAbility: (callback: (abilityID: string) => void): void => { }, EditAbility: (abilityID: string): void => { }, OnEditAbility: (callback: (abilityID: string) => void): void => { }, AbilityCreated: (abilityID: string, primaryBaseComponentID: string, secondaryBaseComponentID: string, ability: string): void => { }, OnAbilityCreated: (callback: (abilityID: string, ability: string) => void): void => { }, AbilityDeleted: (abilityID: string): void => { }, OnAbilityDeleted: (callback: (abilityID: string) => void): void => { }, RegisterAbility: (abilityID: string, primaryBaseComponentID: string, secondaryBaseComponentID: string): void => { }, OnAbilityRegistered: (callback: (abilityID: string, cooldowns: string, duration: number, triggerTime: number) => void): void => { }, /* Stats */ fps: 0, frameTime: 0, netstats_udpPackets: 0, netstats_udpBytes: 0, netstats_tcpMessages: 0, netstats_tcpBytes: 0, netstats_players_updateBits: 0, netstats_players_updateCount: 0, netstats_players_newCount: 0, netstats_players_newBits: 0, netstats_lag: 0, netstats_delay: 0, netstats_selfUpdatesPerSec: 0, netstats_syncsPerSec: 0, particlesRenderedCount: 0, characters: 0, terrain: 0, perfHUD: '', /* Physics Debugging */ locationX: 0, locationY: 0, locationZ: 0, serverLocationX: 0, serverLocationY: 0, serverLocationZ: 0, facing: 0, velocityX: 0, velocityY: 0, velocityZ: 0, speed: 0, horizontalSpeed: 0, velFacing: 0, downCollisionAngle: 0, terrainCollisionAngle: 0, /* Console */ OnConsoleText: (c: (text: string) => void): void => { }, ConsoleCommand: (body: string): void => { }, SendSlashCommand: (command: string): void => { }, /* Login */ Connect: (host: string, port: string, character: string, webAPIHost: string): void => { }, /* Logging */ OnLogMessage: (c: (category: string, level: number, time: string, process: number, thread: number, message: string) => void): void => { }, /* Combat Logs */ OnCombatLogEvent: (c: (events: any) => void): void => { }, /* Dev UI */ OnUpdateDevUI: (c: (pageID: string, rootPage: any) => void): void => { }, /* Scenarios */ ScenarioRoundEnded: (c: (scenarioID: string, roundID: string, scenarioEnded: boolean, didWin: boolean) => void): void => { }, /* Deployable Items */ StartPlacingItem: (resourceID: string, itemInstanceIDString: string, rulesOrSettings: any): void => {}, ResetItemPlacement: (): void => {}, CommitItemPlacement: (): void => {}, CancelItemPlacement: (): void => {}, SendCommitItemRequest: (callback: (itemINstanceIDString: string, position: any, rotation: any, scale: any) => void): void => {}, apiVersion: 1, characterID: 'AABBCCDDEEFFGG', debug: true, signalRHost: 'https://api.camelotunchained.com/signalr', shardID: 1, }; export default devClientInterface;