using System; using System.Runtime.InteropServices; using PSO2SERVER.Packets.PSOPackets; namespace PSO2SERVER.Models { [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] public unsafe struct QuestDefiniton { [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 32 - 8)] public string dateOrSomething; public int field_18; public int field_1C; public int needsToBeNonzero; public int alsoGetsSetToDword; public UInt16 getsSetToWord; public UInt16 moreWordSetting; public int questNameString; public int field_30; public int field_34; public int field_38; public int field_3C; public int field_40; public int field_44; public int field_48; public int field_4C; public int field_50; public int field_54; public int field_58; public int field_5C; public int field_60; public int field_64; public int field_68; public int field_6C; public int field_70; public int field_74; public int field_78; public int field_7C; public int field_80; public int field_84; public int field_88; public int field_8C; public int field_90; public int field_94; public int field_98; public UInt16 field_9C; public byte field_9E; public byte field_9F; public int field_A0; public int field_A4; public int field_A8; public int field_AC; public int field_B0; public int field_B4; public int field_B8; public int field_BC; public int field_C0; public int field_C4; public int field_C8; public int field_CC; public int field_D0; public int field_D4; public int field_D8; public int field_DC; public int field_E0; public int field_E4; public int field_E8; // Maybe a flags public int field_EC; public UInt16 field_F0; public UInt16 field_F2; public UInt16 questBitfield1; public byte playTime; public byte partyType; public byte difficulties; public byte difficultiesCompleted; public byte field_FA; public byte field_FB; public byte requiredLevel; public byte field_FD; public byte field_FE; public byte field_FF; public byte field_100; public byte field_101; public byte field_102; public byte field_103; public byte field_104; public byte field_105; public UInt16 field_106; public int field_108; public int field_10C; public short field_110; public byte field_112; public byte field_113; public QuestDefThing field_114_1; public QuestDefThing field_114_2; public QuestDefThing field_114_3; public QuestDefThing field_114_4; public QuestDefThing field_114_5; public QuestDefThing field_114_6; public QuestDefThing field_114_7; public QuestDefThing field_114_8; public QuestDefThing field_114_9; public QuestDefThing field_114_10; public QuestDefThing field_114_11; public QuestDefThing field_114_12; public QuestDefThing field_114_13; public QuestDefThing field_114_14; public QuestDefThing field_114_15; public QuestDefThing field_114_16; } public class Quest { public int seed; public string name; public QuestDefiniton questDef; public Quest(string name) { this.name = name; } } public struct QuestDefThing { public int field_0; public int field_4; public byte field_8; public byte field_9; public UInt16 field_A; } }