mirror of
https://github.com/DaanVandenBosch/phantasmal-world.git
synced 2025-04-04 22:58:29 +08:00
More .dat object properties are now parsed.
This commit is contained in:
parent
1a1a52bd43
commit
206cc3ebb0
@ -134,5 +134,6 @@ Features that are in ***bold italics*** are planned and not yet implemented.
|
||||
- Forest Laser
|
||||
- Switch (none door)
|
||||
- Energy Barrier
|
||||
- Teleporter
|
||||
- [Load Quest](#load-quest): Can't parse quest 4
|
||||
- [Load Quest](#load-quest): Can't parse quest 125 White Day
|
||||
|
@ -27,7 +27,12 @@ export type DatEntity = {
|
||||
unknown: number[][];
|
||||
};
|
||||
|
||||
export type DatObject = DatEntity;
|
||||
export type DatObject = DatEntity & {
|
||||
id: number;
|
||||
group_id: number;
|
||||
object_id: number;
|
||||
action: number;
|
||||
};
|
||||
|
||||
export type DatNpc = DatEntity & {
|
||||
skin: number;
|
||||
@ -69,7 +74,9 @@ export function parse_dat(cursor: Cursor): DatFile {
|
||||
|
||||
for (let i = 0; i < object_count; ++i) {
|
||||
const type_id = cursor.u16();
|
||||
const unknown1 = cursor.u8_array(10);
|
||||
const unknown1 = cursor.u8_array(6);
|
||||
const id = cursor.u16();
|
||||
const group_id = cursor.u16();
|
||||
const section_id = cursor.u16();
|
||||
const unknown2 = cursor.u8_array(2);
|
||||
const position = cursor.vec3_f32();
|
||||
@ -77,14 +84,20 @@ export function parse_dat(cursor: Cursor): DatFile {
|
||||
const rotation_y = (cursor.i32() / 0xffff) * 2 * Math.PI;
|
||||
const rotation_z = (cursor.i32() / 0xffff) * 2 * Math.PI;
|
||||
const scale = cursor.vec3_f32();
|
||||
const unknown3 = cursor.u8_array(16);
|
||||
const object_id = cursor.u32();
|
||||
const action = cursor.u32();
|
||||
const unknown3 = cursor.u8_array(8);
|
||||
|
||||
objs.push({
|
||||
type_id,
|
||||
id,
|
||||
group_id,
|
||||
section_id,
|
||||
position,
|
||||
rotation: new Vec3(rotation_x, rotation_y, rotation_z),
|
||||
scale,
|
||||
object_id,
|
||||
action,
|
||||
area_id,
|
||||
unknown: [unknown1, unknown2, unknown3],
|
||||
});
|
||||
@ -180,10 +193,12 @@ export function write_dat({ objs, npcs, unknowns }: DatFile): ResizableBuffer {
|
||||
|
||||
cursor.write_u16(obj.type_id);
|
||||
|
||||
if (obj.unknown[0].length !== 10)
|
||||
throw new Error(`unknown[0] should be of length 10, was ${obj.unknown[0].length}`);
|
||||
if (obj.unknown[0].length !== 6)
|
||||
throw new Error(`unknown[0] should be of length 6, was ${obj.unknown[0].length}`);
|
||||
|
||||
cursor.write_u8_array(obj.unknown[0]);
|
||||
cursor.write_u16(obj.id);
|
||||
cursor.write_u16(obj.group_id);
|
||||
cursor.write_u16(obj.section_id);
|
||||
|
||||
if (obj.unknown[1].length !== 2)
|
||||
@ -195,9 +210,11 @@ export function write_dat({ objs, npcs, unknowns }: DatFile): ResizableBuffer {
|
||||
cursor.write_i32(Math.round((obj.rotation.y / (2 * Math.PI)) * 0xffff));
|
||||
cursor.write_i32(Math.round((obj.rotation.z / (2 * Math.PI)) * 0xffff));
|
||||
cursor.write_vec3_f32(obj.scale);
|
||||
cursor.write_u32(obj.object_id);
|
||||
cursor.write_u32(obj.action);
|
||||
|
||||
if (obj.unknown[2].length !== 16)
|
||||
throw new Error(`unknown[2] should be of length 16, was ${obj.unknown[2].length}`);
|
||||
if (obj.unknown[2].length !== 8)
|
||||
throw new Error(`unknown[2] should be of length 8, was ${obj.unknown[2].length}`);
|
||||
|
||||
cursor.write_u8_array(obj.unknown[2]);
|
||||
}
|
||||
|
@ -13,6 +13,9 @@ export type QuestNpc = {
|
||||
*/
|
||||
readonly position: Vec3;
|
||||
readonly rotation: Vec3;
|
||||
/**
|
||||
* Seemingly 3 floats, not sure what they represent.
|
||||
*/
|
||||
readonly scale: Vec3;
|
||||
/**
|
||||
* Data of which the purpose hasn't been discovered yet.
|
||||
@ -24,8 +27,12 @@ export type QuestNpc = {
|
||||
|
||||
export type QuestObject = {
|
||||
readonly type: ObjectType;
|
||||
readonly id: number;
|
||||
readonly group_id: number;
|
||||
readonly area_id: number;
|
||||
readonly section_id: number;
|
||||
readonly object_id: number;
|
||||
readonly action: number;
|
||||
/**
|
||||
* Section-relative position
|
||||
*/
|
||||
|
@ -206,8 +206,12 @@ function parse_obj_data(objs: DatObject[]): QuestObject[] {
|
||||
return objs.map(obj_data => {
|
||||
return {
|
||||
type: pso_id_to_object_type(obj_data.type_id),
|
||||
id: obj_data.id,
|
||||
group_id: obj_data.group_id,
|
||||
area_id: obj_data.area_id,
|
||||
section_id: obj_data.section_id,
|
||||
object_id: obj_data.object_id,
|
||||
action: obj_data.action,
|
||||
position: obj_data.position,
|
||||
rotation: obj_data.rotation,
|
||||
scale: obj_data.scale,
|
||||
@ -511,10 +515,14 @@ function get_npc_type(episode: number, { type_id, scale, skin, area_id }: DatNpc
|
||||
function objects_to_dat_data(objects: QuestObject[]): DatObject[] {
|
||||
return objects.map(object => ({
|
||||
type_id: object_data(object.type).pso_id!,
|
||||
id: object.id,
|
||||
group_id: object.group_id,
|
||||
section_id: object.section_id,
|
||||
position: object.position,
|
||||
rotation: object.rotation,
|
||||
scale: object.scale,
|
||||
object_id: object.object_id,
|
||||
action: object.action,
|
||||
area_id: object.area_id,
|
||||
unknown: object.unknown,
|
||||
}));
|
||||
|
@ -102,14 +102,22 @@ export abstract class ObservableQuestEntity<Type extends EntityType = EntityType
|
||||
}
|
||||
|
||||
export class ObservableQuestObject extends ObservableQuestEntity<ObjectType> {
|
||||
@observable type: ObjectType;
|
||||
readonly id: number;
|
||||
readonly group_id: number;
|
||||
readonly object_id: number;
|
||||
readonly action: number;
|
||||
|
||||
/**
|
||||
* Data of which the purpose hasn't been discovered yet.
|
||||
*/
|
||||
unknown: number[][];
|
||||
readonly unknown: number[][];
|
||||
|
||||
constructor(
|
||||
type: ObjectType,
|
||||
id: number,
|
||||
group_id: number,
|
||||
object_id: number,
|
||||
action: number,
|
||||
area_id: number,
|
||||
section_id: number,
|
||||
position: Vec3,
|
||||
@ -119,19 +127,21 @@ export class ObservableQuestObject extends ObservableQuestEntity<ObjectType> {
|
||||
) {
|
||||
super(type, area_id, section_id, position, rotation, scale);
|
||||
|
||||
this.type = type;
|
||||
this.id = id;
|
||||
this.group_id = group_id;
|
||||
this.object_id = object_id;
|
||||
this.action = action;
|
||||
this.unknown = unknown;
|
||||
}
|
||||
}
|
||||
|
||||
export class ObservableQuestNpc extends ObservableQuestEntity<NpcType> {
|
||||
@observable type: NpcType;
|
||||
pso_type_id: number;
|
||||
pso_skin: number;
|
||||
readonly pso_type_id: number;
|
||||
readonly pso_skin: number;
|
||||
/**
|
||||
* Data of which the purpose hasn't been discovered yet.
|
||||
*/
|
||||
unknown: number[][];
|
||||
readonly unknown: number[][];
|
||||
|
||||
constructor(
|
||||
type: NpcType,
|
||||
@ -146,7 +156,6 @@ export class ObservableQuestNpc extends ObservableQuestEntity<NpcType> {
|
||||
) {
|
||||
super(type, area_id, section_id, position, rotation, scale);
|
||||
|
||||
this.type = type;
|
||||
this.pso_type_id = pso_type_id;
|
||||
this.pso_skin = pso_skin;
|
||||
this.unknown = unknown;
|
||||
|
@ -102,6 +102,10 @@ class QuestEditorStore {
|
||||
obj =>
|
||||
new ObservableQuestObject(
|
||||
obj.type,
|
||||
obj.id,
|
||||
obj.group_id,
|
||||
obj.object_id,
|
||||
obj.action,
|
||||
obj.area_id,
|
||||
obj.section_id,
|
||||
obj.position,
|
||||
@ -176,6 +180,10 @@ class QuestEditorStore {
|
||||
rotation: obj.rotation,
|
||||
scale: obj.scale,
|
||||
unknown: obj.unknown,
|
||||
id: obj.id,
|
||||
group_id: obj.group_id,
|
||||
object_id: obj.object_id,
|
||||
action: obj.action,
|
||||
})),
|
||||
npcs: quest.npcs.map(npc => ({
|
||||
type: npc.type,
|
||||
|
@ -84,341 +84,341 @@ function create_default_objects(): ObservableQuestObject[] {
|
||||
return [
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16384,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-16.313568115234375, 3, -579.5118408203125),
|
||||
new Vec3(0.0009587526218325454, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 0, 0, 0, 0, 0, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 75, 251, 140],
|
||||
],
|
||||
[[2, 0, 0, 0, 0, 0], [0, 0], [0, 0, 0, 0, 128, 75, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16385,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-393.07318115234375, 10, -12.964752197265625),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(9.183549615799121e-41, 1.0000011920928955, 1),
|
||||
[
|
||||
[2, 0, 1, 0, 0, 0, 1, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 76, 251, 140],
|
||||
],
|
||||
[[2, 0, 1, 0, 0, 0], [0, 0], [0, 0, 0, 0, 32, 76, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16386,
|
||||
0,
|
||||
2,
|
||||
65536,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-458.60699462890625, 10, -51.270660400390625),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 2, 0, 0, 0, 2, 64, 0, 0],
|
||||
[0, 0],
|
||||
[2, 0, 0, 0, 0, 0, 1, 0, 10, 0, 0, 0, 192, 76, 251, 140],
|
||||
],
|
||||
[[2, 0, 2, 0, 0, 0], [0, 0], [10, 0, 0, 0, 192, 76, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16387,
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-430.19696044921875, 10, -24.490447998046875),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 3, 0, 0, 0, 3, 64, 0, 0],
|
||||
[0, 0],
|
||||
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 77, 251, 140],
|
||||
],
|
||||
[[2, 0, 3, 0, 0, 0], [0, 0], [0, 0, 0, 0, 96, 77, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16388,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(0.995330810546875, 0, -37.0010986328125),
|
||||
new Vec3(0, 4.712460886831327, 0),
|
||||
new Vec3(0, 1, 1),
|
||||
[
|
||||
[2, 0, 4, 0, 0, 0, 4, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 78, 251, 140],
|
||||
],
|
||||
[[2, 0, 4, 0, 0, 0], [0, 0], [0, 0, 0, 0, 0, 78, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16389,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(3.0009307861328125, 0, -23.99688720703125),
|
||||
new Vec3(0, 4.859725289544806, 0),
|
||||
new Vec3(1.000000238418579, 1, 1),
|
||||
[
|
||||
[2, 0, 5, 0, 0, 0, 5, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 78, 251, 140],
|
||||
],
|
||||
[[2, 0, 5, 0, 0, 0], [0, 0], [0, 0, 0, 0, 160, 78, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16390,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(2.0015106201171875, 0, -50.00386047363281),
|
||||
new Vec3(0, 4.565196484117848, 0),
|
||||
new Vec3(2.000002384185791, 1, 1),
|
||||
[
|
||||
[2, 0, 6, 0, 0, 0, 6, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 79, 251, 140],
|
||||
],
|
||||
[[2, 0, 6, 0, 0, 0], [0, 0], [0, 0, 0, 0, 64, 79, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16391,
|
||||
0,
|
||||
65536,
|
||||
10,
|
||||
0,
|
||||
10,
|
||||
new Vec3(4.9973907470703125, 0, -61.99664306640625),
|
||||
new Vec3(0, 4.368843947166543, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 7, 0, 0, 0, 7, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 1, 0, 10, 0, 0, 0, 0, 0, 0, 0, 224, 79, 251, 140],
|
||||
],
|
||||
[[2, 0, 7, 0, 0, 0], [0, 0], [0, 0, 0, 0, 224, 79, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MainRagolTeleporter,
|
||||
18264,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(132.00314331054688, 1.000000238418579, -265.002197265625),
|
||||
new Vec3(0, 0.49088134237826325, 0),
|
||||
new Vec3(1.000000238418579, 1, 1),
|
||||
[
|
||||
[0, 0, 87, 7, 0, 0, 88, 71, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 128, 250, 140],
|
||||
],
|
||||
[[0, 0, 87, 7, 0, 0], [0, 0], [0, 0, 0, 0, 208, 128, 250, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PrincipalWarp,
|
||||
16393,
|
||||
0,
|
||||
0,
|
||||
65536,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-228, 0, -2020.99951171875),
|
||||
new Vec3(0, 2.9452880542695796, 0),
|
||||
new Vec3(-10.000004768371582, 0, -30.000030517578125),
|
||||
[
|
||||
[2, 0, 9, 0, 0, 0, 9, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 176, 81, 251, 140],
|
||||
],
|
||||
[[2, 0, 9, 0, 0, 0], [0, 0], [0, 0, 1, 0, 176, 81, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16394,
|
||||
0,
|
||||
4,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-41.000030517578125, 0, 42.37322998046875),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 10, 0, 0, 0, 10, 64, 0, 0],
|
||||
[1, 0],
|
||||
[4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 224, 82, 251, 140],
|
||||
],
|
||||
[[2, 0, 10, 0, 0, 0], [1, 0], [0, 0, 0, 0, 224, 82, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16395,
|
||||
0,
|
||||
5,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-479.21673583984375, 8.781256675720215, -322.465576171875),
|
||||
new Vec3(6.28328118244177, 0.0009587526218325454, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 11, 0, 0, 0, 11, 64, 0, 0],
|
||||
[0, 0],
|
||||
[5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 128, 83, 251, 140],
|
||||
],
|
||||
[[2, 0, 11, 0, 0, 0], [0, 0], [0, 0, 0, 0, 128, 83, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PrincipalWarp,
|
||||
16396,
|
||||
0,
|
||||
32768,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-228, 0, -351.0015869140625),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(10.000006675720215, 0, -1760.0010986328125),
|
||||
[
|
||||
[2, 0, 12, 0, 0, 0, 12, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 84, 251, 140],
|
||||
],
|
||||
[[2, 0, 12, 0, 0, 0], [0, 0], [0, 0, 0, 0, 32, 84, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.TelepipeLocation,
|
||||
16397,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-561.88232421875, 0, -406.8829345703125),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 13, 0, 0, 0, 13, 64, 0, 0],
|
||||
[0, 0],
|
||||
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 85, 251, 140],
|
||||
],
|
||||
[[2, 0, 13, 0, 0, 0], [0, 0], [0, 0, 0, 0, 80, 85, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.TelepipeLocation,
|
||||
16398,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-547.8557739257812, 0, -444.8822326660156),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 14, 0, 0, 0, 14, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 16, 86, 251, 140],
|
||||
],
|
||||
[[2, 0, 14, 0, 0, 0], [0, 0], [0, 0, 0, 0, 16, 86, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.TelepipeLocation,
|
||||
16399,
|
||||
0,
|
||||
3,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-486.441650390625, 0, -497.4501647949219),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(9.183549615799121e-41, 1.0000011920928955, 1),
|
||||
[
|
||||
[2, 0, 15, 0, 0, 0, 15, 64, 0, 0],
|
||||
[0, 0],
|
||||
[3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 86, 251, 140],
|
||||
],
|
||||
[[2, 0, 15, 0, 0, 0], [0, 0], [0, 0, 0, 0, 208, 86, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.TelepipeLocation,
|
||||
16400,
|
||||
0,
|
||||
2,
|
||||
65536,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-522.4052734375, 0, -474.1882629394531),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1, 1, 1),
|
||||
[
|
||||
[2, 0, 16, 0, 0, 0, 16, 64, 0, 0],
|
||||
[0, 0],
|
||||
[2, 0, 0, 0, 0, 0, 1, 0, 10, 0, 0, 0, 144, 87, 251, 140],
|
||||
],
|
||||
[[2, 0, 16, 0, 0, 0], [0, 0], [10, 0, 0, 0, 144, 87, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MedicalCenterDoor,
|
||||
16401,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-34.49853515625, 0, -384.4951171875),
|
||||
new Vec3(0, 5.497871034636549, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 17, 0, 0, 0, 17, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 88, 251, 140],
|
||||
],
|
||||
[[2, 0, 17, 0, 0, 0], [0, 0], [0, 0, 0, 0, 80, 88, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.ShopDoor,
|
||||
16402,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-393.0031433105469, 0, -143.49981689453125),
|
||||
new Vec3(0, 3.141640591220885, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 18, 0, 0, 0, 18, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 89, 251, 140],
|
||||
],
|
||||
[[2, 0, 18, 0, 0, 0], [0, 0], [0, 0, 0, 0, 80, 89, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.MenuActivation,
|
||||
16403,
|
||||
0,
|
||||
6,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-355.17462158203125, 0, -43.15193176269531),
|
||||
new Vec3(0, 0, 0),
|
||||
new Vec3(1.000000238418579, 1, 1),
|
||||
[
|
||||
[2, 0, 19, 0, 0, 0, 19, 64, 0, 0],
|
||||
[0, 0],
|
||||
[6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 80, 90, 251, 140],
|
||||
],
|
||||
[[2, 0, 19, 0, 0, 0], [0, 0], [0, 0, 0, 0, 80, 90, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.HuntersGuildDoor,
|
||||
16404,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(-43.00239562988281, 0, -118.00120544433594),
|
||||
new Vec3(0, 3.141640591220885, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 20, 0, 0, 0, 20, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 90, 251, 140],
|
||||
],
|
||||
[[2, 0, 20, 0, 0, 0], [0, 0], [0, 0, 0, 0, 240, 90, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.TeleporterDoor,
|
||||
16405,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(26.000823974609375, 0, -265.99810791015625),
|
||||
new Vec3(0, 3.141640591220885, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 21, 0, 0, 0, 21, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 91, 251, 140],
|
||||
],
|
||||
[[2, 0, 21, 0, 0, 0], [0, 0], [0, 0, 0, 0, 240, 91, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16406,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(57.81005859375, 0, -268.5472412109375),
|
||||
new Vec3(0, 4.712460886831327, 0),
|
||||
new Vec3(0, 1, 1),
|
||||
[
|
||||
[2, 0, 22, 0, 0, 0, 22, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 240, 92, 251, 140],
|
||||
],
|
||||
[[2, 0, 22, 0, 0, 0], [0, 0], [0, 0, 0, 0, 240, 92, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16407,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(66.769287109375, 0, -252.3748779296875),
|
||||
new Vec3(0, 4.712460886831327, 0),
|
||||
new Vec3(1.000000238418579, 1, 1),
|
||||
[
|
||||
[2, 0, 23, 0, 0, 0, 23, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 144, 93, 251, 140],
|
||||
],
|
||||
[[2, 0, 23, 0, 0, 0], [0, 0], [0, 0, 0, 0, 144, 93, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16408,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(67.36819458007812, 0, -284.9297180175781),
|
||||
new Vec3(0, 4.712460886831327, 0),
|
||||
new Vec3(2.000000476837158, 1, 1),
|
||||
[
|
||||
[2, 0, 24, 0, 0, 0, 24, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 94, 251, 140],
|
||||
],
|
||||
[[2, 0, 24, 0, 0, 0], [0, 0], [0, 0, 0, 0, 48, 94, 251, 140]],
|
||||
),
|
||||
new ObservableQuestObject(
|
||||
ObjectType.PlayerSet,
|
||||
16409,
|
||||
0,
|
||||
1,
|
||||
0,
|
||||
0,
|
||||
10,
|
||||
new Vec3(77.10488891601562, 0, -269.2830505371094),
|
||||
new Vec3(0, 4.712460886831327, 0),
|
||||
new Vec3(3.0000007152557373, 1, 1),
|
||||
[
|
||||
[2, 0, 25, 0, 0, 0, 25, 64, 0, 0],
|
||||
[0, 0],
|
||||
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 208, 94, 251, 140],
|
||||
],
|
||||
[[2, 0, 25, 0, 0, 0], [0, 0], [0, 0, 0, 0, 208, 94, 251, 140]],
|
||||
),
|
||||
];
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user