mirror of
https://github.com/demostf/demo.js
synced 2026-06-04 00:54:14 +02:00
more building data
This commit is contained in:
parent
eebc2e15cd
commit
dea2d2e790
7 changed files with 370 additions and 6 deletions
40
src/Data/Building.ts
Normal file
40
src/Data/Building.ts
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
import {Vector} from "./Vector";
|
||||
|
||||
export interface BaseBuilding {
|
||||
builder: number;
|
||||
position: Vector;
|
||||
level: number;
|
||||
maxHealth: number;
|
||||
health: number;
|
||||
isBuilding: boolean;
|
||||
isSapped: boolean;
|
||||
team: number;
|
||||
}
|
||||
|
||||
export interface Sentry extends BaseBuilding {
|
||||
type: 'sentry';
|
||||
shieldLevel: number;
|
||||
playerControlled: boolean;
|
||||
autoAimTarget: number;
|
||||
ammoShells: number;
|
||||
ammoRockets: number;
|
||||
isMini: boolean;
|
||||
}
|
||||
|
||||
export interface Dispenser extends BaseBuilding {
|
||||
type: 'dispenser';
|
||||
healing: number[];
|
||||
metal: number;
|
||||
}
|
||||
|
||||
export interface Teleporter extends BaseBuilding {
|
||||
type: 'teleporter';
|
||||
isEntrance: boolean;
|
||||
otherEnd: number;
|
||||
rechargeTime: number;
|
||||
rechargeDuration: number;
|
||||
timesUsed: number;
|
||||
yawToExit: number;
|
||||
}
|
||||
|
||||
export type Building = Sentry | Dispenser | Teleporter;
|
||||
|
|
@ -43,6 +43,15 @@ export interface PlayerSpawnEventValues {
|
|||
'class': number
|
||||
}
|
||||
|
||||
export interface ObjectDestroyedValues {
|
||||
userid: number;
|
||||
attacker: number;
|
||||
weapon: string;
|
||||
weapinid: number;
|
||||
objecttype: number;
|
||||
index: number;
|
||||
}
|
||||
|
||||
export type GameEventValue = string|number|boolean;
|
||||
|
||||
export type GameEventValueMap = {
|
||||
|
|
@ -52,7 +61,8 @@ export type GameEventValueMap = {
|
|||
export type GameEventValues = GameEventValueMap |
|
||||
DeathEventValues |
|
||||
RoundWinEventValues |
|
||||
PlayerSpawnEventValues;
|
||||
PlayerSpawnEventValues |
|
||||
ObjectDestroyedValues;
|
||||
|
||||
export type GameEventDefinitionMap = {
|
||||
[id: number]: GameEventDefinition;
|
||||
|
|
|
|||
|
|
@ -16,6 +16,8 @@ import {handleGameEventList} from "../PacketHandler/GameEventList";
|
|||
import {handleDataTable} from "../PacketHandler/DataTable";
|
||||
import {Weapon} from "./Weapon";
|
||||
import {Team} from "./Team";
|
||||
import {Building} from "./Building";
|
||||
import {PlayerResource} from "./PlayerResource";
|
||||
|
||||
export class Match {
|
||||
tick: number;
|
||||
|
|
@ -40,6 +42,9 @@ export class Match {
|
|||
outerMap: {[outer: number]: number};
|
||||
teams: Team[];
|
||||
teamMap: {[entityId: string]: Team};
|
||||
version: number;
|
||||
buildings: {[entityId: string]: Building} = {};
|
||||
playerResources: PlayerResource[] = [];
|
||||
|
||||
constructor() {
|
||||
this.tick = 0;
|
||||
|
|
@ -67,6 +72,7 @@ export class Match {
|
|||
this.outerMap = {};
|
||||
this.teams = [];
|
||||
this.teamMap = {};
|
||||
this.version = 0;
|
||||
}
|
||||
|
||||
getSendTable(name) {
|
||||
|
|
@ -131,6 +137,7 @@ export class Match {
|
|||
break;
|
||||
case 'serverInfo':
|
||||
this.intervalPerTick = packet.intervalPerTick;
|
||||
this.version = packet.version;
|
||||
break;
|
||||
case 'sayText2':
|
||||
handleSayText2(packet, this);
|
||||
|
|
|
|||
25
src/Data/PlayerResource.ts
Normal file
25
src/Data/PlayerResource.ts
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
export interface PlayerResource {
|
||||
ping: number;
|
||||
score: number;
|
||||
deaths: number;
|
||||
connected: boolean;
|
||||
team: number;
|
||||
alive: boolean;
|
||||
health: number;
|
||||
totalScore: number;
|
||||
maxHealth: number;
|
||||
maxBuffedHealth: number;
|
||||
playerClass: number;
|
||||
arenaSpectator: boolean;
|
||||
dominations: number;
|
||||
nextRespawn: number;
|
||||
chargeLevel: number;
|
||||
damage: number;
|
||||
damageAssists: number;
|
||||
healing: number;
|
||||
healingAssist: number;
|
||||
damageBlocked: number;
|
||||
bonusPoints: number;
|
||||
playerLevel: number;
|
||||
killStreak: number;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue