mirror of
https://github.com/Mezeporta/Erupe.git
synced 2026-03-22 07:32:32 +01:00
implement scenario counter
This commit is contained in:
@@ -707,241 +707,726 @@ func handleMsgMhfUpdateGuacot(s *Session, p mhfpacket.MHFPacket) {
|
||||
}
|
||||
|
||||
func handleMsgMhfInfoScenarioCounter(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
pkt := p.(*mhfpacket.MsgMhfInfoScenarioCounter)
|
||||
|
||||
scenarioCounter := []struct {
|
||||
Unk0 uint32 // Main ID?
|
||||
Unk1 uint8
|
||||
Unk2 uint8
|
||||
MainID uint32
|
||||
Unk1 uint8 // Bool item exchange?
|
||||
// 0 = basic, 1 = veteran, 3 = other, 6 = pallone, 7 = diva
|
||||
CategoryID uint8
|
||||
}{
|
||||
{
|
||||
Unk0: 0x00000000,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000001,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000002,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000003,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000004,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000005,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000006,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000007,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000008,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000009,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000000A,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000000B,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000000C,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000000D,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000000E,
|
||||
Unk1: 1,
|
||||
Unk2: 4,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000032,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000033,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000034,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000035,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000036,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000037,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000038,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000003A,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000003F,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000040,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000041,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000047,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004B,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000003D,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000044,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000042,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004C,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000046,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004D,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000048,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004A,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000049,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004E,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x00000045,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000003E,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
{
|
||||
Unk0: 0x0000004F,
|
||||
Unk1: 1,
|
||||
Unk2: 5,
|
||||
},
|
||||
//000000110000
|
||||
{
|
||||
MainID: 0x00000011, Unk1: 0, CategoryID: 0,
|
||||
},
|
||||
// 0000005D0001
|
||||
{
|
||||
MainID: 0x0000005D, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 0000005C0001
|
||||
{
|
||||
MainID: 0x0000005C, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000510001
|
||||
{
|
||||
MainID: 0x00000051, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 0000005B0001
|
||||
{
|
||||
MainID: 0x0000005B, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 0000005A0001
|
||||
{
|
||||
MainID: 0x0000005A, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000590001
|
||||
{
|
||||
MainID: 0x00000059, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000580001
|
||||
{
|
||||
MainID: 0x00000058, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000570001
|
||||
{
|
||||
MainID: 0x00000057, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000560001
|
||||
{
|
||||
MainID: 0x00000056, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000550001
|
||||
{
|
||||
MainID: 0x00000055, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000540001
|
||||
{
|
||||
MainID: 0x00000054, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000530001
|
||||
{
|
||||
MainID: 0x00000053, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000520001
|
||||
{
|
||||
MainID: 0x00000052, Unk1: 0, CategoryID: 1,
|
||||
},
|
||||
// 000000570103
|
||||
{
|
||||
MainID: 0x00000057, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000580103
|
||||
{
|
||||
MainID: 0x00000058, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000590103
|
||||
{
|
||||
MainID: 0x00000059, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000005A0103
|
||||
{
|
||||
MainID: 0x0000005A, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000005B0103
|
||||
{
|
||||
MainID: 0x0000005B, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000005C0103
|
||||
{
|
||||
MainID: 0x0000005C, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000530103
|
||||
{
|
||||
MainID: 0x00000053, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000560103
|
||||
{
|
||||
MainID: 0x00000056, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000003C0103
|
||||
{
|
||||
MainID: 0x0000003C, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000003A0103
|
||||
{
|
||||
MainID: 0x0000003A, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000003B0103
|
||||
{
|
||||
MainID: 0x0000003B, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000001B0103
|
||||
{
|
||||
MainID: 0x0000001B, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000190103
|
||||
{
|
||||
MainID: 0x00000019, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000001A0103
|
||||
{
|
||||
MainID: 0x0000001A, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000170103
|
||||
{
|
||||
MainID: 0x00000017, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000020103
|
||||
{
|
||||
MainID: 0x00000002, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000030103
|
||||
{
|
||||
MainID: 0x00000003, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000040103
|
||||
{
|
||||
MainID: 0x00000004, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000001F0103
|
||||
{
|
||||
MainID: 0x0000001F, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000200103
|
||||
{
|
||||
MainID: 0x00000020, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000210103
|
||||
{
|
||||
MainID: 0x00000021, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000220103
|
||||
{
|
||||
MainID: 0x00000022, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000230103
|
||||
{
|
||||
MainID: 0x00000023, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000240103
|
||||
{
|
||||
MainID: 0x00000024, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000250103
|
||||
{
|
||||
MainID: 0x00000025, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000280103
|
||||
{
|
||||
MainID: 0x00000028, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000260103
|
||||
{
|
||||
MainID: 0x00000026, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000270103
|
||||
{
|
||||
MainID: 0x00000027, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 000000300103
|
||||
{
|
||||
MainID: 0x00000030, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000000C0103
|
||||
{
|
||||
MainID: 0x0000000C, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000000D0103
|
||||
{
|
||||
MainID: 0x0000000D, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000001E0103
|
||||
{
|
||||
MainID: 0x0000001E, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000001D0103
|
||||
{
|
||||
MainID: 0x0000001D, Unk1: 1, CategoryID: 3,
|
||||
},
|
||||
// 0000002E0003
|
||||
{
|
||||
MainID: 0x0000002E, Unk1: 0, CategoryID: 3,
|
||||
},
|
||||
// 000000000004
|
||||
{
|
||||
MainID: 0x00000000, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000010004
|
||||
{
|
||||
MainID: 0x00000001, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000020004
|
||||
{
|
||||
MainID: 0x00000002, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000030004
|
||||
{
|
||||
MainID: 0x00000003, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000040004
|
||||
{
|
||||
MainID: 0x00000004, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000050004
|
||||
{
|
||||
MainID: 0x00000005, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000060004
|
||||
{
|
||||
MainID: 0x00000006, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000070004
|
||||
{
|
||||
MainID: 0x00000007, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000080004
|
||||
{
|
||||
MainID: 0x00000008, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000090004
|
||||
{
|
||||
MainID: 0x00000009, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 0000000A0004
|
||||
{
|
||||
MainID: 0x0000000A, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 0000000B0004
|
||||
{
|
||||
MainID: 0x0000000B, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 0000000C0004
|
||||
{
|
||||
MainID: 0x0000000C, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 0000000D0004
|
||||
{
|
||||
MainID: 0x0000000D, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 0000000E0004
|
||||
{
|
||||
MainID: 0x0000000E, Unk1: 0, CategoryID: 4,
|
||||
},
|
||||
// 000000320005
|
||||
{
|
||||
MainID: 0x00000032, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000330005
|
||||
{
|
||||
MainID: 0x00000033, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000340005
|
||||
{
|
||||
MainID: 0x00000034, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000350005
|
||||
{
|
||||
MainID: 0x00000035, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000360005
|
||||
{
|
||||
MainID: 0x00000036, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000370005
|
||||
{
|
||||
MainID: 0x00000037, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000380005
|
||||
{
|
||||
MainID: 0x00000038, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000003A0005
|
||||
{
|
||||
MainID: 0x0000003A, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000003F0005
|
||||
{
|
||||
MainID: 0x0000003F, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000400005
|
||||
{
|
||||
MainID: 0x00000040, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000410005
|
||||
{
|
||||
MainID: 0x00000041, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000430005
|
||||
{
|
||||
MainID: 0x00000043, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000470005
|
||||
{
|
||||
MainID: 0x00000047, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004B0005
|
||||
{
|
||||
MainID: 0x0000004B, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000003D0005
|
||||
{
|
||||
MainID: 0x0000003D, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000440005
|
||||
{
|
||||
MainID: 0x00000044, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000420005
|
||||
{
|
||||
MainID: 0x00000042, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004C0005
|
||||
{
|
||||
MainID: 0x0000004C, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000460005
|
||||
{
|
||||
MainID: 0x00000046, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004D0005
|
||||
{
|
||||
MainID: 0x0000004D, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000480005
|
||||
{
|
||||
MainID: 0x00000048, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004A0005
|
||||
{
|
||||
MainID: 0x0000004A, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000490005
|
||||
{
|
||||
MainID: 0x00000049, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004E0005
|
||||
{
|
||||
MainID: 0x0000004E, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000450005
|
||||
{
|
||||
MainID: 0x00000045, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000003E0005
|
||||
{
|
||||
MainID: 0x0000003E, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 0000004F0005
|
||||
{
|
||||
MainID: 0x0000004F, Unk1: 0, CategoryID: 5,
|
||||
},
|
||||
// 000000000106
|
||||
{
|
||||
MainID: 0x00000000, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000010106
|
||||
{
|
||||
MainID: 0x00000001, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000020106
|
||||
{
|
||||
MainID: 0x00000002, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000030106
|
||||
{
|
||||
MainID: 0x00000003, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000040106
|
||||
{
|
||||
MainID: 0x00000004, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000050106
|
||||
{
|
||||
MainID: 0x00000005, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000060106
|
||||
{
|
||||
MainID: 0x00000006, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000070106
|
||||
{
|
||||
MainID: 0x00000007, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000080106
|
||||
{
|
||||
MainID: 0x00000008, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000090106
|
||||
{
|
||||
MainID: 0x00000009, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000110106
|
||||
{
|
||||
MainID: 0x00000011, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000A0106
|
||||
{
|
||||
MainID: 0x0000000A, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000B0106
|
||||
{
|
||||
MainID: 0x0000000B, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000C0106
|
||||
{
|
||||
MainID: 0x0000000C, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000D0106
|
||||
{
|
||||
MainID: 0x0000000D, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000E0106
|
||||
{
|
||||
MainID: 0x0000000E, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 0000000F0106
|
||||
{
|
||||
MainID: 0x0000000F, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000100106
|
||||
{
|
||||
MainID: 0x00000010, Unk1: 1, CategoryID: 6,
|
||||
},
|
||||
// 000000320107
|
||||
{
|
||||
MainID: 0x00000032, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000350107
|
||||
{
|
||||
MainID: 0x00000035, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000003E0107
|
||||
{
|
||||
MainID: 0x0000003E, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000340107
|
||||
{
|
||||
MainID: 0x00000034, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000380107
|
||||
{
|
||||
MainID: 0x00000038, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000330107
|
||||
{
|
||||
MainID: 0x00000033, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000310107
|
||||
{
|
||||
MainID: 0x00000031, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000360107
|
||||
{
|
||||
MainID: 0x00000036, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000390107
|
||||
{
|
||||
MainID: 0x00000039, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000370107
|
||||
{
|
||||
MainID: 0x00000037, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000003D0107
|
||||
{
|
||||
MainID: 0x0000003D, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000003A0107
|
||||
{
|
||||
MainID: 0x0000003A, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000003C0107
|
||||
{
|
||||
MainID: 0x0000003C, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000003B0107
|
||||
{
|
||||
MainID: 0x0000003B, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002A0107
|
||||
{
|
||||
MainID: 0x0000002A, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000300107
|
||||
{
|
||||
MainID: 0x00000030, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000280107
|
||||
{
|
||||
MainID: 0x00000028, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000270107
|
||||
{
|
||||
MainID: 0x00000027, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002B0107
|
||||
{
|
||||
MainID: 0x0000002B, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002E0107
|
||||
{
|
||||
MainID: 0x0000002E, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000290107
|
||||
{
|
||||
MainID: 0x00000029, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002C0107
|
||||
{
|
||||
MainID: 0x0000002C, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002D0107
|
||||
{
|
||||
MainID: 0x0000002D, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000002F0107
|
||||
{
|
||||
MainID: 0x0000002F, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000250107
|
||||
{
|
||||
MainID: 0x00000025, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000220107
|
||||
{
|
||||
MainID: 0x00000022, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000210107
|
||||
{
|
||||
MainID: 0x00000021, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000200107
|
||||
{
|
||||
MainID: 0x00000020, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001C0107
|
||||
{
|
||||
MainID: 0x0000001C, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001A0107
|
||||
{
|
||||
MainID: 0x0000001A, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000240107
|
||||
{
|
||||
MainID: 0x00000024, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000260107
|
||||
{
|
||||
MainID: 0x00000026, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000230107
|
||||
{
|
||||
MainID: 0x00000023, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001B0107
|
||||
{
|
||||
MainID: 0x0000001B, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001E0107
|
||||
{
|
||||
MainID: 0x0000001E, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001F0107
|
||||
{
|
||||
MainID: 0x0000001F, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 0000001D0107
|
||||
{
|
||||
MainID: 0x0000001D, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000180107
|
||||
{
|
||||
MainID: 0x00000018, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000170107
|
||||
{
|
||||
MainID: 0x00000017, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000160107
|
||||
{
|
||||
MainID: 0x00000016, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000150107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000015, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000190107
|
||||
{
|
||||
MainID: 0x00000019, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000140107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000014, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000070107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000007, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000090107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000009, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000D0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000D, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000100107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000010, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000C0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000C, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000E0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000E, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000F0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000F, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000130107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000013, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000A0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000A, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000080107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000008, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 0000000B0107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x0000000B, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000120107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000012, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000110107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000011, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000060107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000006, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000050107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000005, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000040107
|
||||
// Missing file
|
||||
// {
|
||||
// MainID: 0x00000004, Unk1: 1, CategoryID: 7,
|
||||
// },
|
||||
// 000000030107
|
||||
{
|
||||
MainID: 0x00000003, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000020107
|
||||
{
|
||||
MainID: 0x00000002, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000010107
|
||||
{
|
||||
MainID: 0x00000001, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
// 000000000107
|
||||
{
|
||||
MainID: 0x00000000, Unk1: 1, CategoryID: 7,
|
||||
},
|
||||
}
|
||||
|
||||
resp := byteframe.NewByteFrame()
|
||||
resp.WriteUint8(uint8(len(scenarioCounter))) // Entry count
|
||||
for _, entry := range scenarioCounter {
|
||||
resp.WriteUint32(entry.Unk0)
|
||||
resp.WriteUint32(entry.MainID)
|
||||
resp.WriteUint8(entry.Unk1)
|
||||
resp.WriteUint8(entry.Unk2)
|
||||
resp.WriteUint8(entry.CategoryID)
|
||||
}
|
||||
|
||||
doAckBufSucceed(s, pkt.AckHandle, resp.Data())
|
||||
|
||||
// DEBUG, DELETE ME!
|
||||
/*
|
||||
data, err := ioutil.ReadFile(filepath.Join(s.server.erupeConfig.BinPath, "debug/info_scenario_counter_resp.bin"))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
}
|
||||
|
||||
doAckBufSucceed(s, pkt.AckHandle, data)
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
func handleMsgMhfGetBbsSnsStatus(s *Session, p mhfpacket.MHFPacket) {}
|
||||
|
||||
@@ -193,7 +193,10 @@ func handleMsgMhfLoaddata(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
func handleMsgMhfSaveScenarioData(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfSaveScenarioData)
|
||||
|
||||
_, err := s.server.db.Exec("UPDATE characters SET scenariodata = $1 WHERE characters.id = $2", pkt.RawDataPayload, int(s.charID))
|
||||
if err != nil {
|
||||
s.logger.Fatal("Failed to update scenario data in db", zap.Error(err))
|
||||
}
|
||||
// Do this ack manually because it uses a non-(0|1) error code
|
||||
s.QueueSendMHF(&mhfpacket.MsgSysAck{
|
||||
AckHandle: pkt.AckHandle,
|
||||
@@ -205,7 +208,19 @@ func handleMsgMhfSaveScenarioData(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
func handleMsgMhfLoadScenarioData(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfLoadScenarioData)
|
||||
doAckBufSucceed(s, pkt.AckHandle, []byte{0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00})
|
||||
var scenarioData []byte
|
||||
bf := byteframe.NewByteFrame()
|
||||
err := s.server.db.QueryRow("SELECT scenariodata FROM characters WHERE characters.id = $1", int(s.charID)).Scan(&scenarioData)
|
||||
if err != nil {
|
||||
s.logger.Fatal("Failed to get scenario data contents in db", zap.Error(err))
|
||||
} else {
|
||||
if len(scenarioData) == 0 {
|
||||
bf.WriteUint32(0x00)
|
||||
} else {
|
||||
bf.WriteBytes(scenarioData)
|
||||
}
|
||||
}
|
||||
doAckBufSucceed(s, pkt.AckHandle, bf.Data())
|
||||
}
|
||||
|
||||
func handleMsgMhfGetPaperData(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
Reference in New Issue
Block a user