Quest syncing

This commit is contained in:
Katboi01 2023-11-03 00:15:58 +01:00
parent 4e2eedda49
commit d0ca68dfa8
5 changed files with 35 additions and 6 deletions

View File

@ -1,6 +1,7 @@
import { enemyDamageInfo } from "./enemyDamageInfo";
import { physicsObject } from "./physicsObject";
import { playerInventory } from "./playerInventory";
import { questBook } from "./questBook";
export class playerData{
id : number
@ -9,8 +10,14 @@ export class playerData{
characterId : number
inventory : playerInventory = new playerInventory()
rigidbody : physicsObject = new physicsObject()
questBook : questBook = new questBook()
damageInfo : enemyDamageInfo[] = []
constructor(init?: Partial<playerData>) {
Object.assign(this, init);
this.questBook = new questBook(this.questBook)
}
copyStart(){
let player : any = {}
player.id = this.id
@ -47,8 +54,4 @@ export class playerData{
this.inventory.equipment = [-1, -1, -1]
}
}
constructor(init?: Partial<playerData>) {
Object.assign(this, init);
}
}

13
Classes/questBook.ts Normal file
View File

@ -0,0 +1,13 @@
import { questProgressData } from "./questProgressData";
export class questBook{
quests = {}
constructor(init?: Partial<questBook>) {
Object.assign(this, init);
}
updateQuest(quest : questProgressData){
this.quests[quest.id] = quest
}
}

View File

@ -0,0 +1,6 @@
export class questProgressData{
id : number
state : number
repeatCount : number
objectives : []
}

View File

@ -1,7 +1,12 @@
import { playerData } from "../Classes/playerData";
import { questProgressData } from "../Classes/questProgressData";
export function update(socket, data){
if(!socket.hasOwnProperty("player")) return;
let buff = Buffer.from(data, 'base64');
//let data1 : levelUpdateHost = JSON.parse(buff.toString('utf-8'));
//let player : playerData = socket.player
let data1 : questProgressData = JSON.parse(buff.toString('utf-8'));
let player : playerData = socket.player
player.questBook.updateQuest(data1)
}

View File

@ -5,6 +5,7 @@ import { registerItemCallbacks } from "./Items/itemSocket";
import { registerLobbyCallbacks } from "./Lobby/lobbySocket";
import { registerAccountCallbacks } from "./Account/accountSocket";
import { registerLevelCallbacks } from "./Level/levelSocket";
import { registerQuestCallbacks } from "./Quest/questSocket";
const express = require("express");
const app = express();
@ -33,6 +34,7 @@ io.on('connection', (socket) => {
registerLobbyCallbacks(socket);
registerItemCallbacks(socket);
registerLevelCallbacks(socket);
registerQuestCallbacks(socket);
socket.io = game.socketIO = io;