Created
October 13, 2019 17:39
-
-
Save mizzao/27350e9b7ad71244df2bd923426bfe66 to your computer and use it in GitHub Desktop.
Bot Land TypeScript bindings
This file contains 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
declare const IS_OWNED_BY_ME = 256; | |
declare const ALLY = 0; | |
declare const ENEMY = 1; | |
declare const CHIP = 1024; | |
declare const CPU = 512; | |
declare const BOT = 8; | |
declare const ANYTHING; | |
declare enum EntityMatchFlags { | |
IS_OWNED_BY_ME = 256, | |
ALLY = 0, | |
ENEMY = 1, | |
CHIP = 1024, | |
CPU = 512, | |
BOT = 8 | |
} | |
declare const SORT_BY_DISTANCE = 1; | |
declare const SORT_BY_LIFE = 2; | |
declare enum EntitySortType { | |
SORT_BY_DISTANCE, | |
SORT_BY_LIFE | |
} | |
declare const SORT_ASCENDING = 1; | |
declare const SORT_DESCENDING = 2; | |
declare enum EntitySortOrder { | |
SORT_ASCENDING, | |
SORT_DESCENDING | |
} | |
declare type Direction = | |
| "up" | |
| "down" | |
| "left" | |
| "right" | |
| "forward" | |
| "backward"; | |
// Terminators | |
// Functions | |
declare function debugLog(...stuff: any[]): void; | |
declare function exists(thing: any): boolean; | |
declare function findEntities( | |
friendlyOrEnemy: EntityMatchFlags, | |
type: EntityMatchFlags, | |
allowReturningSelf: boolean | |
): Entity[]; | |
declare function findEntitiesInRange( | |
friendlyOrEnemy: EntityMatchFlags, | |
type: EntityMatchFlags, | |
allowReturningSelf: boolean, | |
range: number | |
); | |
declare function findEntity( | |
friendlyOrEnemy: EntityMatchFlags, | |
type: EntityMatchFlags, | |
sortBy: EntitySortType, | |
sortOrder: EntitySortOrder | |
): Entity; | |
declare function getEntityAt(x: number, y: number): Entity; | |
declare function figureItOut(): void; | |
declare let array1: any[]; | |
declare let array2: any[]; | |
// Functions - Math | |
declare function abs(n: number): number; | |
declare function floor(n: number): number; | |
declare function max(...nums: number[]): number; | |
declare function min(...nums: number[]): number; | |
declare function percentChance(chance: number): boolean; | |
declare function round(n: number): number; | |
declare function size(arr: any[]): number; | |
// Functions - Movement | |
declare function canMove(dir: Direction): boolean; | |
declare function canMoveTo(entity: Entity): boolean; | |
declare function canMoveTo(x: number, y: number): boolean; | |
declare function getDistanceTo(entity: Entity): number; | |
declare function getDistanceTo(x: number, y: number): number; | |
declare function move(dir?: Direction): void; | |
declare function moveTo(entity: Entity): void; | |
declare function moveTo(x: number, y: number): void; | |
// Alias of moveTo | |
declare function pursue(entity: Entity): void; | |
declare function pursue(x: number, y: number): void; | |
// Functions - Weaponry | |
declare function canCharge(): boolean; | |
declare function willMeleeHit(entity?: Entity): boolean; | |
declare function melee(entity?: Entity): void; | |
declare function willArtilleryHit(entity?: Entity): boolean; | |
declare function fireArtillery(entity?: Entity): void; | |
declare function willLasersHit(entity?: Entity): boolean; | |
declare function fireLasers(entity?: Entity): void; | |
declare function willMissilesHit(entity?: Entity): boolean; | |
declare function fireMissiles(entity?: Entity): void; | |
// Functions - Support | |
declare function activateSensors(): void; | |
declare function canActivateSensors(): boolean; | |
declare function areSensorsActivated(): boolean; | |
declare function cloak(): void; | |
declare function canCloak(): boolean; | |
declare function isCloaked(): boolean; | |
declare function reflect(): void; | |
declare function canLayMine(): boolean; | |
declare function zap(): void; | |
declare function canZap(): boolean; | |
declare function canReflect(): boolean; | |
declare function isReflecting(): boolean; | |
declare function shield(entity?: Entity): void; | |
declare function canShield(entity?: Entity): boolean; | |
declare function isShielded(entity?: Entity): boolean; | |
declare function layMine(): void; | |
declare function canTeleport(entity?: Entity): boolean; | |
declare function canTeleport(xCoord: number, yCoord: number): boolean; | |
declare function teleport(entity?: Entity): void; | |
declare function teleport(xCoord: number, yCoord: number): void; | |
// Variables | |
declare const x: number; | |
declare const y: number; | |
declare const life: number; | |
declare const lifePercent: number; | |
declare const isAttacker: boolean; | |
declare const arenaWidth: number; | |
declare const arenaHeight: number; | |
// Shared Variables | |
declare let sharedA, sharedB, sharedC, sharedD, sharedE; | |
// Entities | |
declare interface Entity { | |
x: number; | |
y: number; | |
life: number; | |
lifePercent: number; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment