You've already forked KF-MMO-Server
Items and inventory
This commit is contained in:
15
Classes/enums.ts
Normal file
15
Classes/enums.ts
Normal file
@@ -0,0 +1,15 @@
|
||||
export class enums{
|
||||
static itemType = {
|
||||
undefined: 0,
|
||||
currency: 1,
|
||||
consumable: 2,
|
||||
equipment: 3
|
||||
}
|
||||
|
||||
static equipmentType = {
|
||||
undefined: 0,
|
||||
weapon: 1,
|
||||
armor: 2,
|
||||
accessory: 3
|
||||
}
|
||||
}
|
||||
9
Classes/itemData.ts
Normal file
9
Classes/itemData.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import { enums } from "./enums"
|
||||
|
||||
export class itemData{
|
||||
name : string
|
||||
id : number
|
||||
rarity: number
|
||||
itemType : number
|
||||
stats = {}
|
||||
}
|
||||
6
Classes/itemGenerated.ts
Normal file
6
Classes/itemGenerated.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { itemData } from "./itemData"
|
||||
|
||||
export class itemGenerated{
|
||||
instanceId: number
|
||||
item: itemData
|
||||
}
|
||||
6
Classes/itemPickup.ts
Normal file
6
Classes/itemPickup.ts
Normal file
@@ -0,0 +1,6 @@
|
||||
import { itemData } from "./itemData"
|
||||
|
||||
export class itemPickup{
|
||||
instanceId: number
|
||||
item: itemData
|
||||
}
|
||||
4
Classes/itemRequest.ts
Normal file
4
Classes/itemRequest.ts
Normal file
@@ -0,0 +1,4 @@
|
||||
export class itemRequest{
|
||||
instanceId: number
|
||||
itemType: number
|
||||
}
|
||||
12
Classes/lobbyMessage.ts
Normal file
12
Classes/lobbyMessage.ts
Normal file
@@ -0,0 +1,12 @@
|
||||
export class lobbyMessage{
|
||||
id: number;
|
||||
user: string;
|
||||
timestamp: string;
|
||||
content: string;
|
||||
|
||||
constructor(text : string){
|
||||
this.user = "Server"
|
||||
this.timestamp = new Date().toLocaleString();
|
||||
this.content = text
|
||||
}
|
||||
}
|
||||
17
Classes/lobbyState.ts
Normal file
17
Classes/lobbyState.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { physicsObject } from "../Classes/physicsObject";
|
||||
import { playerData } from "../Classes/playerData";
|
||||
|
||||
export class lobbyState{
|
||||
hostSocket : string
|
||||
players : playerData[] = [];
|
||||
objects : physicsObject[] = [];
|
||||
|
||||
copyLight(){
|
||||
let lobby = Object.assign({}, this);
|
||||
lobby.players = []
|
||||
for (let i = 0; i < this.players.length; i++) {
|
||||
lobby.players.push(playerData.copyLight(this.players[i]));
|
||||
}
|
||||
return lobby
|
||||
}
|
||||
}
|
||||
18
Classes/playerData.ts
Normal file
18
Classes/playerData.ts
Normal file
@@ -0,0 +1,18 @@
|
||||
import { physicsObject } from "./physicsObject";
|
||||
import { playerInventory } from "./playerInventory";
|
||||
|
||||
export class playerData{
|
||||
socketId : string
|
||||
userName : string
|
||||
characterId : number
|
||||
inventory : playerInventory = new playerInventory()
|
||||
rigidbody : physicsObject = new physicsObject()
|
||||
|
||||
static copyLight(data : playerData){
|
||||
let player : any = Object.assign({}, data);
|
||||
delete player.userName
|
||||
delete player.characterId
|
||||
delete player.inventory
|
||||
return player
|
||||
}
|
||||
}
|
||||
19
Classes/playerInventory.ts
Normal file
19
Classes/playerInventory.ts
Normal file
@@ -0,0 +1,19 @@
|
||||
import { itemData } from "./itemData";
|
||||
|
||||
export class playerInventory{
|
||||
weapon : number = -1
|
||||
equipment : number[] = [-1,-1]
|
||||
items : itemData[] = []
|
||||
|
||||
static validate(inv : playerInventory){
|
||||
if(inv.equipment[0] == inv.weapon){
|
||||
inv.equipment[0] = -1
|
||||
}
|
||||
if(inv.equipment[1] == inv.weapon){
|
||||
inv.equipment[1] = -1
|
||||
}
|
||||
if(inv.equipment[1] == inv.equipment[0]){
|
||||
inv.equipment[1] = -1
|
||||
}
|
||||
}
|
||||
}
|
||||
25
Classes/userData.ts
Normal file
25
Classes/userData.ts
Normal file
@@ -0,0 +1,25 @@
|
||||
import { itemData } from "./itemData";
|
||||
import { playerData } from "./playerData";
|
||||
|
||||
export class userData{
|
||||
id: number;
|
||||
checksum: number;
|
||||
login: string;
|
||||
password: string;
|
||||
playerData: playerData = null
|
||||
|
||||
constructor(id:number, login:string, password:string){
|
||||
this.id = id;
|
||||
this.login = login;
|
||||
this.password = password;
|
||||
this.checksum = 0;
|
||||
}
|
||||
|
||||
static makeSafe(user : userData, socketId : string){
|
||||
let safeUser : any = Object.assign({}, user);
|
||||
safeUser.socketId = socketId
|
||||
delete safeUser.password
|
||||
delete safeUser.checksum
|
||||
return safeUser
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user