UNPKG

teeworlds

Version:

Library for (ingame) teeworlds bots.

236 lines (207 loc) 6.09 kB
export type Item = SnapshotItemTypes.PlayerInput | SnapshotItemTypes.PlayerInfo | SnapshotItemTypes.Projectile | SnapshotItemTypes.Laser | SnapshotItemTypes.Pickup | SnapshotItemTypes.Flag | SnapshotItemTypes.GameInfo | SnapshotItemTypes.GameData | SnapshotItemTypes.CharacterCore | SnapshotItemTypes.Character | SnapshotItemTypes.PlayerInfo | SnapshotItemTypes.ClientInfo | SnapshotItemTypes.SpectatorInfo | SnapshotItemTypes.Common | SnapshotItemTypes.Explosion | SnapshotItemTypes.Spawn | SnapshotItemTypes.HammerHit | SnapshotItemTypes.Death | SnapshotItemTypes.SoundGlobal | SnapshotItemTypes.SoundWorld | SnapshotItemTypes.DamageInd; export type DDNetItem = SnapshotItemTypes.MyOwnObject | SnapshotItemTypes.DDNetCharacter | SnapshotItemTypes.DDNetPlayer | SnapshotItemTypes.GameInfoEx | SnapshotItemTypes.DDNetProjectile | SnapshotItemTypes.DDNetLaser; export type DeltaItem = { 'data': number[], 'parsed': Item | DDNetItem, 'type_id': number, 'id': number, 'key': number}; export namespace SnapshotItemTypes { interface PlayerInput { direction: number, target_x: number, target_y: number, jump: number, fire: number, hook: number, player_flags: number, wanted_weapon: number, next_weapon: number, prev_weapon: number, } interface Projectile { x: number, y: number, vel_x: number, vel_y: number, type_: number, start_tick: number, } interface Laser { x: number, y: number, from_x: number, from_y: number, start_tick: number, } interface Pickup { x: number, y: number, type_: number, subtype: number, } interface Flag { x: number, y: number, team: number, } interface GameInfo { game_flags: number, game_state_flags: number, round_start_tick: number, warmup_timer: number, score_limit: number, time_limit: number, round_num: number, round_current: number, } interface GameData { teamscore_red: number, teamscore_blue: number, flag_carrier_red: number, flag_carrier_blue: number, } interface CharacterCore { tick: number, x: number, y: number, vel_x: number, vel_y: number, angle: number, direction: number, jumped: number, hooked_player: number, hook_state: number, hook_tick: number, hook_x: number, hook_y: number, hook_dx: number, hook_dy: number, } interface Character { character_core: CharacterCore, player_flags: number, health: number, armor: number, ammo_count: number, weapon: number, emote: number, attack_tick: number, client_id: number } interface PlayerInfo { local: number, client_id: number, team: number, score: number, latency: number, } interface ClientInfo { name: string, clan: string, country: number, skin: string, use_custom_color: number, color_body: number, color_feet: number, id: number } interface SpectatorInfo { spectator_id: number, x: number, y: number, } interface Common { x: number, y: number, } interface Explosion { common: Common, } interface Spawn { common: Common, } interface HammerHit { common: Common, } interface Death { common: Common, client_id: number, } interface SoundGlobal { common: Common, sound_id: number, } interface SoundWorld { common: Common, sound_id: number, } interface DamageInd { common: Common, angle: number, } interface MyOwnObject { m_Test: number } interface DDNetCharacter { m_Flags: number, m_FreezeEnd: number, m_Jumps: number, m_TeleCheckpoint: number, m_StrongWeakID: number, // # New data fields for jump display, freeze bar and ninja bar // # Default values indicate that these values should not be used m_JumpedTotal?: number, m_NinjaActivationTick?: number, m_FreezeStart?: number, // # New data fields for improved target accuracy m_TargetX?: number, m_TargetY?: number, id: number } //, validate_size=False), /** m_AuthLevel "AUTHED_NO", "AUTHED_ADMIN" */ interface DDNetPlayer { m_Flags: number, m_AuthLevel: number, id: number } interface GameInfoEx { m_Flags: number, m_Version: number, m_Flags2: number, }//, validate_size=False), // # The code assumes that this has the same in-memory representation as // # the Projectile net object. interface DDNetProjectile { m_X: number, m_Y: number, m_Angle: number, m_Data: number, m_Type: number, m_StartTick: number, } interface DDNetLaser { m_ToX: number, m_ToY: number, m_FromX: number, m_FromY: number, m_StartTick: number, m_Owner: number, m_Type: number, } } export type RconCommand = { command: string; description: string; params: string; } export interface Chunk { bytes: number, flags: number, seq?: number, // type: 'sys' | 'game', sys: Boolean, msgid: number, msg: string, raw: Buffer, extended_msgid?: Buffer; } export interface _Packet { twprotocol: { flags: number, ack: number, chunkAmount: number, size: number }, chunks: Chunk[] }