adventureland-gui
Version:
Basic UI for headless AdventureLand clients
127 lines (117 loc) • 2.75 kB
TypeScript
import { BankInfo, CXData, GData, ItemData, MapName, ProjectileName, SlotInfo, StatusInfo } from "alclient"
export type ItemInfo = {
name: string
level?: number
quantity?: number
stats?: {
str?: number
int?: number
dex?: number
vit?: number
for?: number
arm?: number
res?: number
dmg?: number
aspd?: number
range?: number
spd?: number
stat?: string
eva?: number
ap?: number
rp?: number
crit?: number
ref?: number
dmgret?: number
lifesteal?: number
manasteal?: number
courage?: number
pcourage?: number
mcourage?: number
}
}
export type MapData = {
map: MapName
x: number
y: number
}
export type UIData = {
character: CharacterUIData
inventory: InventoryData
map: MapData
}
export type BotUIData = {
hp: number
id: string
level: number
max_hp: number
max_mp: number
mp: number
}
export type CharacterUIData = {
cx: CXData
hp: number
id: string
going_x: number
going_y: number
level: number
max_hp: number
max_mp: number
moving: boolean
mp: number
rip: boolean
s: StatusInfo
skin: string
speed: number
target?: string
x: number
xp: number
y: number
}
export type MonsterUIData = {
aa?: number
hp: number
id: string
going_x: number
going_y: number
max_hp: number
moving: boolean
s: StatusInfo
size?: number
skin: string
speed: number
target?: string
x: number
y: number
}
export type ProjectileUIData = {
going_x: number
going_y: number
pid: string
name: ProjectileName
isRay: boolean
x: number
y: number
}
export type InventoryData = {
equipment: SlotInfo
gold: number
items: ItemData[]
}
export type ServerToClientEvents = {
"addBot": (id: string, data: UIData) => void
"bank": (data: BankInfo) => void
"character": (id: string, data: CharacterUIData) => void
"clear": () => void
"data": (g: GData) => void
"inventory": (id: string, data: InventoryData) => void
"map": (id: string, data: MapData) => void
"monster": (monsterData: MonsterUIData) => void
"player": (id: string, data: CharacterUIData) => void
"projectile": (projectileData: ProjectileUIData) => void
"removeBot": (id: string) => void
"removeSprite": (entityID: string) => void
"removeSprites": () => void
}
export type ClientToServerEvents = {
"newBot": (id: string) => void
}