Init tower seperation from tower-experiments

This commit is contained in:
stratic-dev
2024-07-31 15:42:29 +01:00
parent c6fdf47779
commit 2bc31c718a
9 changed files with 1056 additions and 878 deletions

View File

@@ -1,20 +1,21 @@
package mhfpacket
import (
"errors"
import (
"errors"
"fmt"
"erupe-ce/network/clientctx"
"erupe-ce/network"
"erupe-ce/common/byteframe"
"erupe-ce/network"
"erupe-ce/network/clientctx"
)
// MsgMhfGetPaperData represents the MSG_MHF_GET_PAPER_DATA
type MsgMhfGetPaperData struct {
// Communicator type, multi-format. This might be valid for only one type.
AckHandle uint32
Unk0 uint32
Type uint32
Unk1 uint32
Unk2 uint32
ID uint32
}
// Opcode returns the ID associated with this packet type.
@@ -25,9 +26,10 @@ func (m *MsgMhfGetPaperData) Opcode() network.PacketID {
// Parse parses the packet from binary
func (m *MsgMhfGetPaperData) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32()
m.Type = bf.ReadUint32()
m.Unk1 = bf.ReadUint32()
m.Unk2 = bf.ReadUint32()
m.ID = bf.ReadUint32()
fmt.Printf("MsgMhfGetPaperData: Type:[%d] Unk1:[%d] ID:[%d] \n\n", m.Type, m.Unk1, m.ID)
return nil
}

View File

@@ -2,6 +2,7 @@ package mhfpacket
import (
"errors"
"fmt"
"erupe-ce/common/byteframe"
"erupe-ce/network"
@@ -28,6 +29,7 @@ func (m *MsgMhfGetTinyBin) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientC
m.Unk0 = bf.ReadUint8()
m.Unk1 = bf.ReadUint8()
m.Unk2 = bf.ReadUint8()
fmt.Printf("MsgMhfGetTinyBin: Unk0:[%d] Unk1:[%d] Unk2:[%d] \n\n", m.Unk0, m.Unk1, m.Unk2)
return nil
}

View File

@@ -2,6 +2,7 @@ package mhfpacket
import (
"errors"
"fmt"
"erupe-ce/common/byteframe"
"erupe-ce/network"
@@ -31,6 +32,7 @@ func (m *MsgMhfPostTinyBin) Parse(bf *byteframe.ByteFrame, ctx *clientctx.Client
m.Unk2 = bf.ReadUint8()
m.Unk3 = bf.ReadUint8()
m.Data = bf.ReadBytes(uint(bf.ReadUint16()))
fmt.Printf("MsgMhfPostTinyBin: Unk0:[%d] Unk1:[%d] Unk2:[%d] Unk3:[%d] \n\n", m.Unk0, m.Unk1, m.Unk2, m.Unk3)
return nil
}

View File

@@ -20,7 +20,8 @@ type MsgMhfPostTowerInfo struct {
Unk6 int32
Unk7 int32
Block1 int32
Unk9 int64
TimeTaken int32
CID int32
}
// Opcode returns the ID associated with this packet type.
@@ -40,7 +41,8 @@ func (m *MsgMhfPostTowerInfo) Parse(bf *byteframe.ByteFrame, ctx *clientctx.Clie
m.Unk6 = bf.ReadInt32()
m.Unk7 = bf.ReadInt32()
m.Block1 = bf.ReadInt32()
m.Unk9 = bf.ReadInt64()
m.TimeTaken = bf.ReadInt32()
m.CID = bf.ReadInt32()
return nil
}

View File

@@ -2,6 +2,7 @@ package mhfpacket
import (
"errors"
"fmt"
"erupe-ce/common/byteframe"
"erupe-ce/network"
@@ -10,15 +11,15 @@ import (
// MsgMhfPresentBox represents the MSG_MHF_PRESENT_BOX
type MsgMhfPresentBox struct {
AckHandle uint32
Unk0 uint32
Unk1 uint32
Unk2 uint32
Unk3 uint32
Unk4 uint32
Unk5 uint32
Unk6 uint32
Unk7 []uint32
AckHandle uint32
Unk0 uint32
Operation uint32
PresentCount uint32
Unk3 uint32
Unk4 uint32
Unk5 uint32
Unk6 uint32
PresentType []uint32
}
// Opcode returns the ID associated with this packet type.
@@ -30,14 +31,19 @@ func (m *MsgMhfPresentBox) Opcode() network.PacketID {
func (m *MsgMhfPresentBox) Parse(bf *byteframe.ByteFrame, ctx *clientctx.ClientContext) error {
m.AckHandle = bf.ReadUint32()
m.Unk0 = bf.ReadUint32()
m.Unk1 = bf.ReadUint32()
m.Unk2 = bf.ReadUint32()
m.Operation = bf.ReadUint32()
m.PresentCount = bf.ReadUint32()
m.Unk3 = bf.ReadUint32()
m.Unk4 = bf.ReadUint32()
m.Unk5 = bf.ReadUint32()
m.Unk6 = bf.ReadUint32()
for i := uint32(0); i < m.Unk2; i++ {
m.Unk7 = append(m.Unk7, bf.ReadUint32())
for i := uint32(0); i < m.PresentCount; i++ {
m.PresentType = append(m.PresentType, bf.ReadUint32())
}
fmt.Printf("MsgMhfPresentBox: Unk0:[%d] Unk1:[%d] Unk2:[%d] Unk3:[%d] Unk4:[%d] Unk5:[%d] Unk6:[%d] \n\n", m.Unk0, m.Operation, m.PresentCount, m.Unk3, m.Unk4, m.Unk5, m.Unk6)
for _, mdata := range m.PresentType {
fmt.Printf("MsgMhfPresentBox: PresentType: [%d] \n", mdata)
}
return nil
}

View File

@@ -0,0 +1,752 @@
BEGIN;
INSERT INTO public.paper_data_gifts (gift_id, item_id, unk0,unk1,unk2) VALUES
(6001,11159, 1, 1, 5000),
(6001,11160, 1, 1, 3350),
(6001,11161, 1, 1, 1500),
(6001,11162, 1, 1, 100),
(6001,11163, 1, 1, 50),
(6002,11159, 2, 1, 1800),
(6002,11160, 2, 1, 1200),
(6002,11161, 2, 1, 500),
(6002,11162, 1, 1, 50),
(6002,11037, 1, 1, 150),
(6002,11038, 1, 1, 150),
(6002,11044, 1, 1, 150),
(6002,11057, 1, 1, 150),
(6002,11059, 1, 1, 150),
(6002,11079, 1, 1, 150),
(6002,11098, 1, 1, 150),
(6002,11104, 1, 1, 150),
(6002,11117, 1, 1, 150),
(6002,11128, 1, 1, 150),
(6002,11133, 1, 1, 150),
(6002,11137, 1, 1, 150),
(6002,11143, 1, 1, 150),
(6002,11132, 1, 1, 150),
(6002,11039, 1, 1, 150),
(6002,11040, 1, 1, 150),
(6002,11049, 1, 1, 150),
(6002,11061, 1, 1, 150),
(6002,11063, 1, 1, 150),
(6002,11077, 1, 1, 150),
(6002,11099, 1, 1, 150),
(6002,11105, 1, 1, 150),
(6002,11129, 1, 1, 150),
(6002,11130, 1, 1, 150),
(6002,11131, 1, 1, 150),
(6002,11139, 1, 1, 150),
(6002,11145, 1, 1, 150),
(6002,11096, 1, 1, 150),
(6002,11041, 1, 1, 150),
(6002,11047, 1, 1, 150),
(6002,11054, 1, 1, 150),
(6002,11065, 1, 1, 150),
(6002,11068, 1, 1, 150),
(6002,11075, 1, 1, 150),
(6002,11100, 1, 1, 150),
(6002,11106, 1, 1, 150),
(6002,11119, 1, 1, 150),
(6002,11135, 1, 1, 150),
(6002,11136, 1, 1, 150),
(6002,11138, 1, 1, 150),
(6002,11088, 1, 1, 150),
(6002,10370, 1, 1, 150),
(6002,10368, 1, 1, 150),
(6010,11159, 1, 1, 3700),
(6010,11160, 1, 1, 2900),
(6010,11161, 1, 1, 1300),
(6010,11453, 1, 1, 250),
(6010,11454, 1, 1, 250),
(6010,12055, 1, 1, 250),
(6010,12065, 1, 1, 250),
(6010,12058, 1, 1, 250),
(6010,12068, 1, 1, 250),
(6010,11774, 1, 1, 200),
(6010,11773, 1, 1, 400),
(6011,11159, 1, 1, 3700),
(6011,11160, 1, 1, 2900),
(6011,11161, 1, 1, 1300),
(6011,11453, 1, 1, 250),
(6011,11454, 1, 1, 250),
(6011,12055, 1, 1, 250),
(6011,12065, 1, 1, 250),
(6011,12058, 1, 1, 250),
(6011,12068, 1, 1, 250),
(6011,11774, 1, 1, 200),
(6011,11773, 1, 1, 400),
(6012,11159, 2, 1, 3500),
(6012,11160, 2, 1, 2900),
(6012,11161, 2, 1, 1300),
(6012,12508, 1, 1, 400),
(6012,11453, 1, 1, 200),
(6012,11454, 1, 1, 200),
(6012,12055, 1, 1, 200),
(6012,12065, 1, 1, 200),
(6012,12058, 1, 1, 200),
(6012,12068, 1, 1, 200),
(6012,11775, 1, 1, 400),
(6012,11776, 1, 1, 200),
(6012,11777, 1, 1, 100),
(7001,11037, 1, 1, 290),
(7001,11038, 1, 1, 270),
(7001,11044, 1, 1, 270),
(7001,11057, 1, 1, 290),
(7001,11059, 1, 1, 290),
(7001,11079, 1, 1, 290),
(7001,11098, 1, 1, 280),
(7001,11104, 1, 1, 300),
(7001,11117, 1, 1, 280),
(7001,11128, 1, 1, 290),
(7001,11133, 1, 1, 290),
(7001,11137, 1, 1, 300),
(7001,11143, 1, 1, 290),
(7001,11132, 1, 1, 270),
(7001,11042, 1, 1, 47),
(7001,11045, 1, 1, 47),
(7001,11064, 1, 1, 47),
(7001,11062, 1, 1, 47),
(7001,11070, 1, 1, 48),
(7001,11101, 1, 1, 47),
(7001,11108, 1, 1, 47),
(7001,11109, 1, 1, 47),
(7001,11120, 1, 1, 47),
(7001,11122, 1, 1, 47),
(7001,11134, 1, 1, 47),
(7001,11141, 1, 1, 47),
(7001,11084, 1, 1, 47),
(7001,11087, 1, 1, 47),
(7001,11094, 1, 1, 47),
(7001,10374, 1, 1, 47),
(7001,10375, 1, 1, 47),
(7001,11051, 1, 1, 17),
(7001,11071, 1, 1, 16),
(7001,11076, 1, 1, 16),
(7001,11102, 1, 1, 17),
(7001,11124, 1, 1, 17),
(7001,11090, 1, 1, 17),
(7001,11159, 1, 1, 1200),
(7001,11159, 2, 1, 650),
(7001,11160, 1, 1, 800),
(7001,11160, 2, 1, 300),
(7001,11161, 1, 1, 100),
(7001,11161, 2, 1, 50),
(7001,11164, 1, 1, 100),
(7001,11162, 1, 1, 100),
(7001,11163, 1, 1, 100),
(7001,11158, 1, 1, 300),
(7001,11463, 1, 1, 300),
(7001,11356, 1, 1, 300),
(7001,11464, 1, 1, 300),
(7001,11357, 1, 1, 500),
(7001,11039, 1, 2, 300),
(7001,11040, 1, 2, 270),
(7001,11049, 1, 2, 300),
(7001,11061, 1, 2, 290),
(7001,11063, 1, 2, 290),
(7001,11077, 1, 2, 290),
(7001,11099, 1, 2, 280),
(7001,11105, 1, 2, 300),
(7001,11129, 1, 2, 250),
(7001,11130, 1, 2, 300),
(7001,11131, 1, 2, 280),
(7001,11139, 1, 2, 290),
(7001,11145, 1, 2, 260),
(7001,11096, 1, 2, 300),
(7001,11046, 1, 2, 47),
(7001,11066, 1, 2, 47),
(7001,11067, 1, 2, 47),
(7001,11072, 1, 2, 47),
(7001,11082, 1, 2, 47),
(7001,11103, 1, 2, 47),
(7001,11110, 1, 2, 47),
(7001,11112, 1, 2, 47),
(7001,11114, 1, 2, 47),
(7001,11115, 1, 2, 47),
(7001,11121, 1, 2, 47),
(7001,11144, 1, 2, 48),
(7001,11085, 1, 2, 47),
(7001,11089, 1, 2, 47),
(7001,11091, 1, 2, 47),
(7001,10376, 1, 2, 47),
(7001,10377, 1, 2, 47),
(7001,11127, 1, 2, 17),
(7001,11069, 1, 2, 17),
(7001,11142, 1, 2, 17),
(7001,11078, 1, 2, 17),
(7001,11056, 1, 2, 16),
(7001,11092, 1, 2, 16),
(7001,11159, 1, 2, 1200),
(7001,11159, 2, 2, 650),
(7001,11160, 1, 2, 800),
(7001,11160, 2, 2, 300),
(7001,11161, 1, 2, 100),
(7001,11161, 2, 2, 50),
(7001,11164, 1, 2, 100),
(7001,11162, 1, 2, 100),
(7001,11163, 1, 2, 100),
(7001,11158, 1, 2, 300),
(7001,11463, 1, 2, 300),
(7001,11356, 1, 2, 300),
(7001,11464, 1, 2, 300),
(7001,11357, 1, 2, 500),
(7001,11041, 1, 3, 266),
(7001,11047, 1, 3, 266),
(7001,11054, 1, 3, 266),
(7001,11065, 1, 3, 266),
(7001,11068, 1, 3, 266),
(7001,11075, 1, 3, 266),
(7001,11100, 1, 3, 266),
(7001,11106, 1, 3, 266),
(7001,11119, 1, 3, 266),
(7001,11135, 1, 3, 268),
(7001,11136, 1, 3, 268),
(7001,11138, 1, 3, 268),
(7001,11088, 1, 3, 268),
(7001,10370, 1, 3, 266),
(7001,10368, 1, 3, 268),
(7001,11043, 1, 3, 50),
(7001,11048, 1, 3, 50),
(7001,11050, 1, 3, 50),
(7001,11058, 1, 3, 50),
(7001,11060, 1, 3, 50),
(7001,11074, 1, 3, 50),
(7001,11107, 1, 3, 50),
(7001,11111, 1, 3, 50),
(7001,11113, 1, 3, 50),
(7001,11118, 1, 3, 50),
(7001,11126, 1, 3, 50),
(7001,11140, 1, 3, 50),
(7001,11086, 1, 3, 50),
(7001,11095, 1, 3, 50),
(7001,11055, 1, 3, 50),
(7001,10378, 1, 3, 50),
(7001,11052, 1, 3, 15),
(7001,11073, 1, 3, 15),
(7001,11146, 1, 3, 15),
(7001,11116, 1, 3, 15),
(7001,11123, 1, 3, 15),
(7001,11097, 1, 3, 15),
(7001,10367, 1, 3, 15),
(7001,10371, 1, 3, 15),
(7001,10373, 1, 3, 15),
(7001,10778, 1, 3, 375),
(7001,11209, 1, 3, 375),
(7001,10813, 1, 3, 375),
(7001,11389, 1, 3, 375),
(7001,11159, 1, 3, 1000),
(7001,11159, 2, 3, 250),
(7001,11160, 1, 3, 700),
(7001,11160, 2, 3, 175),
(7001,11161, 1, 3, 300),
(7001,11161, 2, 3, 75),
(7001,11465, 1, 3, 53),
(7001,11466, 1, 3, 27),
(7001,11467, 1, 3, 266),
(7001,11468, 1, 3, 533),
(7001,11469, 1, 3, 186),
(7002,11037, 1, 1, 100),
(7002,11038, 1, 1, 100),
(7002,11044, 1, 1, 100),
(7002,11057, 1, 1, 100),
(7002,11059, 1, 1, 100),
(7002,11079, 1, 1, 100),
(7002,11098, 1, 1, 100),
(7002,11104, 1, 1, 100),
(7002,11117, 1, 1, 100),
(7002,11128, 1, 1, 100),
(7002,11133, 1, 1, 100),
(7002,11137, 1, 1, 100),
(7002,11143, 1, 1, 100),
(7002,11132, 1, 1, 100),
(7002,11042, 1, 1, 60),
(7002,11045, 1, 1, 60),
(7002,11064, 1, 1, 60),
(7002,11062, 1, 1, 60),
(7002,11070, 1, 1, 60),
(7002,11101, 1, 1, 60),
(7002,11108, 1, 1, 60),
(7002,11109, 1, 1, 60),
(7002,11120, 1, 1, 60),
(7002,11122, 1, 1, 60),
(7002,11134, 1, 1, 60),
(7002,11141, 1, 1, 60),
(7002,11084, 1, 1, 60),
(7002,11087, 1, 1, 60),
(7002,11094, 1, 1, 60),
(7002,10374, 1, 1, 60),
(7002,10375, 1, 1, 60),
(7002,11051, 1, 1, 20),
(7002,11071, 1, 1, 20),
(7002,11076, 1, 1, 20),
(7002,11102, 1, 1, 20),
(7002,11124, 1, 1, 20),
(7002,11090, 1, 1, 20),
(7002,11164, 1, 1, 400),
(7002,11162, 1, 1, 200),
(7002,11163, 1, 1, 200),
(7002,11463, 1, 1, 100),
(7002,11464, 1, 1, 150),
(7002,10355, 1, 1, 150),
(7002,12506, 1, 1, 200),
(7002,12507, 1, 1, 300),
(7002,12508, 1, 1, 900),
(7002,13629, 1, 1, 350),
(7002,13628, 1, 1, 200),
(7002,11356, 1, 1, 100),
(7002,11357, 1, 1, 150),
(7002,12014, 1, 1, 250),
(7002,12016, 1, 1, 400),
(7002,12015, 1, 1, 410),
(7002,11159, 2, 1, 500),
(7002,11159, 4, 1, 500),
(7002,11159, 6, 1, 500),
(7002,11160, 2, 1, 400),
(7002,11160, 4, 1, 400),
(7002,11160, 6, 1, 400),
(7002,11161, 2, 1, 100),
(7002,11161, 4, 1, 100),
(7002,11161, 6, 1, 100),
(7002,11039, 1, 2, 100),
(7002,11040, 1, 2, 100),
(7002,11049, 1, 2, 100),
(7002,11061, 1, 2, 100),
(7002,11063, 1, 2, 100),
(7002,11077, 1, 2, 100),
(7002,11099, 1, 2, 100),
(7002,11105, 1, 2, 100),
(7002,11129, 1, 2, 100),
(7002,11130, 1, 2, 100),
(7002,11131, 1, 2, 100),
(7002,11139, 1, 2, 100),
(7002,11145, 1, 2, 100),
(7002,11096, 1, 2, 100),
(7002,11046, 1, 2, 60),
(7002,11066, 1, 2, 60),
(7002,11067, 1, 2, 60),
(7002,11072, 1, 2, 60),
(7002,11082, 1, 2, 60),
(7002,11103, 1, 2, 60),
(7002,11110, 1, 2, 60),
(7002,11112, 1, 2, 60),
(7002,11114, 1, 2, 60),
(7002,11115, 1, 2, 60),
(7002,11121, 1, 2, 60),
(7002,11144, 1, 2, 60),
(7002,11085, 1, 2, 60),
(7002,11089, 1, 2, 60),
(7002,11091, 1, 2, 60),
(7002,10376, 1, 2, 60),
(7002,10377, 1, 2, 60),
(7002,11127, 1, 2, 20),
(7002,11069, 1, 2, 20),
(7002,11142, 1, 2, 20),
(7002,11078, 1, 2, 20),
(7002,11056, 1, 2, 20),
(7002,11092, 1, 2, 20),
(7002,11164, 1, 2, 400),
(7002,11162, 1, 2, 200),
(7002,11163, 1, 2, 200),
(7002,11463, 1, 2, 250),
(7002,11464, 1, 2, 350),
(7002,12506, 1, 2, 150),
(7002,12507, 1, 2, 200),
(7002,12508, 1, 2, 350),
(7002,13629, 1, 2, 250),
(7002,13628, 1, 2, 200),
(7002,10355, 1, 2, 400),
(7002,11158, 1, 2, 100),
(7002,11356, 1, 2, 100),
(7002,11357, 1, 2, 100),
(7002,12014, 1, 2, 300),
(7002,12016, 1, 2, 450),
(7002,12015, 1, 2, 460),
(7002,11159, 2, 2, 500),
(7002,11159, 4, 2, 500),
(7002,11159, 6, 2, 500),
(7002,11160, 2, 2, 400),
(7002,11160, 4, 2, 400),
(7002,11160, 6, 2, 400),
(7002,11161, 2, 2, 100),
(7002,11161, 4, 2, 100),
(7002,11161, 6, 2, 100),
(7002,11041, 1, 3, 120),
(7002,11047, 1, 3, 120),
(7002,11054, 1, 3, 120),
(7002,11065, 1, 3, 120),
(7002,11068, 1, 3, 120),
(7002,11075, 1, 3, 120),
(7002,11100, 1, 3, 120),
(7002,11106, 1, 3, 120),
(7002,11119, 1, 3, 120),
(7002,11135, 1, 3, 120),
(7002,11136, 1, 3, 120),
(7002,11138, 1, 3, 120),
(7002,11088, 1, 3, 120),
(7002,10370, 1, 3, 120),
(7002,10368, 1, 3, 120),
(7002,11043, 1, 3, 65),
(7002,11048, 1, 3, 65),
(7002,11050, 1, 3, 65),
(7002,11058, 1, 3, 65),
(7002,11060, 1, 3, 65),
(7002,11074, 1, 3, 65),
(7002,11107, 1, 3, 65),
(7002,11111, 1, 3, 65),
(7002,11113, 1, 3, 65),
(7002,11118, 1, 3, 65),
(7002,11126, 1, 3, 65),
(7002,11140, 1, 3, 65),
(7002,11086, 1, 3, 65),
(7002,11095, 1, 3, 65),
(7002,11055, 1, 3, 65),
(7002,10378, 1, 3, 65),
(7002,11052, 1, 3, 15),
(7002,11073, 1, 3, 15),
(7002,11146, 1, 3, 15),
(7002,11116, 1, 3, 15),
(7002,11123, 1, 3, 15),
(7002,11097, 1, 3, 15),
(7002,10367, 1, 3, 15),
(7002,10371, 1, 3, 15),
(7002,10373, 1, 3, 15),
(7002,10778, 3, 3, 490),
(7002,11209, 3, 3, 490),
(7002,10813, 3, 3, 490),
(7002,11389, 3, 3, 490),
(7002,12046, 3, 3, 500),
(7002,12503, 3, 3, 500),
(7002,11159, 2, 3, 500),
(7002,11159, 4, 3, 500),
(7002,11159, 6, 3, 500),
(7002,11160, 2, 3, 400),
(7002,11160, 4, 3, 400),
(7002,11160, 6, 3, 400),
(7002,11161, 2, 3, 100),
(7002,11161, 4, 3, 100),
(7002,11161, 6, 3, 100),
(7002,11465, 1, 3, 53),
(7002,11466, 1, 3, 27),
(7002,11467, 1, 3, 266),
(7002,11468, 1, 3, 533),
(7002,11469, 1, 3, 186),
(7011,11037, 1, 1, 290),
(7011,11038, 1, 1, 270),
(7011,11044, 1, 1, 270),
(7011,11057, 1, 1, 290),
(7011,11059, 1, 1, 290),
(7011,11079, 1, 1, 290),
(7011,11098, 1, 1, 280),
(7011,11104, 1, 1, 300),
(7011,11117, 1, 1, 280),
(7011,11128, 1, 1, 290),
(7011,11133, 1, 1, 290),
(7011,11137, 1, 1, 300),
(7011,11143, 1, 1, 290),
(7011,11132, 1, 1, 270),
(7011,11042, 1, 1, 47),
(7011,11045, 1, 1, 47),
(7011,11064, 1, 1, 47),
(7011,11062, 1, 1, 47),
(7011,11070, 1, 1, 48),
(7011,11101, 1, 1, 47),
(7011,11108, 1, 1, 47),
(7011,11109, 1, 1, 47),
(7011,11120, 1, 1, 47),
(7011,11122, 1, 1, 47),
(7011,11134, 1, 1, 47),
(7011,11141, 1, 1, 47),
(7011,11084, 1, 1, 47),
(7011,11087, 1, 1, 47),
(7011,11094, 1, 1, 47),
(7011,10374, 1, 1, 47),
(7011,10375, 1, 1, 47),
(7011,11051, 1, 1, 17),
(7011,11071, 1, 1, 16),
(7011,11076, 1, 1, 16),
(7011,11102, 1, 1, 17),
(7011,11124, 1, 1, 17),
(7011,11090, 1, 1, 17),
(7011,11159, 1, 1, 1200),
(7011,11159, 2, 1, 650),
(7011,11160, 1, 1, 800),
(7011,11160, 2, 1, 300),
(7011,11161, 1, 1, 100),
(7011,11161, 2, 1, 50),
(7011,11164, 1, 1, 100),
(7011,11162, 1, 1, 100),
(7011,11163, 1, 1, 100),
(7011,11158, 1, 1, 300),
(7011,11463, 1, 1, 300),
(7011,11356, 1, 1, 300),
(7011,11464, 1, 1, 300),
(7011,11357, 1, 1, 500),
(7011,11039, 1, 2, 300),
(7011,11040, 1, 2, 270),
(7011,11049, 1, 2, 300),
(7011,11061, 1, 2, 290),
(7011,11063, 1, 2, 290),
(7011,11077, 1, 2, 290),
(7011,11099, 1, 2, 280),
(7011,11105, 1, 2, 300),
(7011,11129, 1, 2, 250),
(7011,11130, 1, 2, 300),
(7011,11131, 1, 2, 280),
(7011,11139, 1, 2, 290),
(7011,11145, 1, 2, 260),
(7011,11096, 1, 2, 300),
(7011,11046, 1, 2, 47),
(7011,11066, 1, 2, 47),
(7011,11067, 1, 2, 47),
(7011,11072, 1, 2, 47),
(7011,11082, 1, 2, 47),
(7011,11103, 1, 2, 47),
(7011,11110, 1, 2, 47),
(7011,11112, 1, 2, 47),
(7011,11114, 1, 2, 47),
(7011,11115, 1, 2, 47),
(7011,11121, 1, 2, 47),
(7011,11144, 1, 2, 48),
(7011,11085, 1, 2, 47),
(7011,11089, 1, 2, 47),
(7011,11091, 1, 2, 47),
(7011,10376, 1, 2, 47),
(7011,10377, 1, 2, 47),
(7011,11127, 1, 2, 17),
(7011,11069, 1, 2, 17),
(7011,11142, 1, 2, 17),
(7011,11078, 1, 2, 17),
(7011,11056, 1, 2, 16),
(7011,11092, 1, 2, 16),
(7011,11159, 1, 2, 1200),
(7011,11159, 2, 2, 650),
(7011,11160, 1, 2, 800),
(7011,11160, 2, 2, 300),
(7011,11161, 1, 2, 100),
(7011,11161, 2, 2, 50),
(7011,11164, 1, 2, 100),
(7011,11162, 1, 2, 100),
(7011,11163, 1, 2, 100),
(7011,11158, 1, 2, 300),
(7011,11463, 1, 2, 300),
(7011,11356, 1, 2, 300),
(7011,11464, 1, 2, 300),
(7011,11357, 1, 2, 500),
(7011,11041, 1, 3, 266),
(7011,11047, 1, 3, 266),
(7011,11054, 1, 3, 266),
(7011,11065, 1, 3, 266),
(7011,11068, 1, 3, 266),
(7011,11075, 1, 3, 266),
(7011,11100, 1, 3, 266),
(7011,11106, 1, 3, 266),
(7011,11119, 1, 3, 266),
(7011,11135, 1, 3, 268),
(7011,11136, 1, 3, 268),
(7011,11138, 1, 3, 268),
(7011,11088, 1, 3, 268),
(7011,10370, 1, 3, 266),
(7011,10368, 1, 3, 268),
(7011,11043, 1, 3, 50),
(7011,11048, 1, 3, 50),
(7011,11050, 1, 3, 50),
(7011,11058, 1, 3, 50),
(7011,11060, 1, 3, 50),
(7011,11074, 1, 3, 50),
(7011,11107, 1, 3, 50),
(7011,11111, 1, 3, 50),
(7011,11113, 1, 3, 50),
(7011,11118, 1, 3, 50),
(7011,11126, 1, 3, 50),
(7011,11140, 1, 3, 50),
(7011,11086, 1, 3, 50),
(7011,11095, 1, 3, 50),
(7011,11055, 1, 3, 50),
(7011,10378, 1, 3, 50),
(7011,11052, 1, 3, 15),
(7011,11073, 1, 3, 15),
(7011,11146, 1, 3, 15),
(7011,11116, 1, 3, 15),
(7011,11123, 1, 3, 15),
(7011,11097, 1, 3, 15),
(7011,10367, 1, 3, 15),
(7011,10371, 1, 3, 15),
(7011,10373, 1, 3, 15),
(7011,10778, 1, 3, 375),
(7011,11209, 1, 3, 375),
(7011,10813, 1, 3, 375),
(7011,11389, 1, 3, 375),
(7011,11159, 1, 3, 1000),
(7011,11159, 2, 3, 250),
(7011,11160, 1, 3, 700),
(7011,11160, 2, 3, 175),
(7011,11161, 1, 3, 300),
(7011,11161, 2, 3, 75),
(7011,11465, 1, 3, 53),
(7011,11466, 1, 3, 27),
(7011,11467, 1, 3, 266),
(7011,11468, 1, 3, 533),
(7011,11469, 1, 3, 186),
(7012,11037, 1, 1, 290),
(7012,11038, 1, 1, 270),
(7012,11044, 1, 1, 270),
(7012,11057, 1, 1, 290),
(7012,11059, 1, 1, 290),
(7012,11079, 1, 1, 290),
(7012,11098, 1, 1, 280),
(7012,11104, 1, 1, 300),
(7012,11117, 1, 1, 280),
(7012,11128, 1, 1, 290),
(7012,11133, 1, 1, 290),
(7012,11137, 1, 1, 300),
(7012,11143, 1, 1, 290),
(7012,11132, 1, 1, 270),
(7012,11042, 1, 1, 47),
(7012,11045, 1, 1, 47),
(7012,11064, 1, 1, 47),
(7012,11062, 1, 1, 47),
(7012,11070, 1, 1, 48),
(7012,11101, 1, 1, 47),
(7012,11108, 1, 1, 47),
(7012,11109, 1, 1, 47),
(7012,11120, 1, 1, 47),
(7012,11122, 1, 1, 47),
(7012,11134, 1, 1, 47),
(7012,11141, 1, 1, 47),
(7012,11084, 1, 1, 47),
(7012,11087, 1, 1, 47),
(7012,11094, 1, 1, 47),
(7012,10374, 1, 1, 47),
(7012,10375, 1, 1, 47),
(7012,11051, 1, 1, 17),
(7012,11071, 1, 1, 16),
(7012,11076, 1, 1, 16),
(7012,11102, 1, 1, 17),
(7012,11124, 1, 1, 17),
(7012,11090, 1, 1, 17),
(7012,11159, 1, 1, 1200),
(7012,11159, 2, 1, 650),
(7012,11160, 1, 1, 800),
(7012,11160, 2, 1, 300),
(7012,11161, 1, 1, 100),
(7012,11161, 2, 1, 50),
(7012,11164, 1, 1, 100),
(7012,11162, 1, 1, 100),
(7012,11163, 1, 1, 100),
(7012,11158, 1, 1, 300),
(7012,11463, 1, 1, 300),
(7012,11356, 1, 1, 300),
(7012,11464, 1, 1, 300),
(7012,11357, 1, 1, 500),
(7012,11039, 1, 2, 300),
(7012,11040, 1, 2, 270),
(7012,11049, 1, 2, 300),
(7012,11061, 1, 2, 290),
(7012,11063, 1, 2, 290),
(7012,11077, 1, 2, 290),
(7012,11099, 1, 2, 280),
(7012,11105, 1, 2, 300),
(7012,11129, 1, 2, 250),
(7012,11130, 1, 2, 300),
(7012,11131, 1, 2, 280),
(7012,11139, 1, 2, 290),
(7012,11145, 1, 2, 260),
(7012,11096, 1, 2, 300),
(7012,11046, 1, 2, 47),
(7012,11066, 1, 2, 47),
(7012,11067, 1, 2, 47),
(7012,11072, 1, 2, 47),
(7012,11082, 1, 2, 47),
(7012,11103, 1, 2, 47),
(7012,11110, 1, 2, 47),
(7012,11112, 1, 2, 47),
(7012,11114, 1, 2, 47),
(7012,11115, 1, 2, 47),
(7012,11121, 1, 2, 47),
(7012,11144, 1, 2, 48),
(7012,11085, 1, 2, 47),
(7012,11089, 1, 2, 47),
(7012,11091, 1, 2, 47),
(7012,10376, 1, 2, 47),
(7012,10377, 1, 2, 47),
(7012,11127, 1, 2, 17),
(7012,11069, 1, 2, 17),
(7012,11142, 1, 2, 17),
(7012,11078, 1, 2, 17),
(7012,11056, 1, 2, 16),
(7012,11092, 1, 2, 16),
(7012,11159, 1, 2, 1200),
(7012,11159, 2, 2, 650),
(7012,11160, 1, 2, 800),
(7012,11160, 2, 2, 300),
(7012,11161, 1, 2, 100),
(7012,11161, 2, 2, 50),
(7012,11164, 1, 2, 100),
(7012,11162, 1, 2, 100),
(7012,11163, 1, 2, 100),
(7012,11158, 1, 2, 300),
(7012,11463, 1, 2, 300),
(7012,11356, 1, 2, 300),
(7012,11464, 1, 2, 300),
(7012,11357, 1, 2, 500),
(7012,11041, 1, 3, 266),
(7012,11047, 1, 3, 266),
(7012,11054, 1, 3, 266),
(7012,11065, 1, 3, 266),
(7012,11068, 1, 3, 266),
(7012,11075, 1, 3, 266),
(7012,11100, 1, 3, 266),
(7012,11106, 1, 3, 266),
(7012,11119, 1, 3, 266),
(7012,11135, 1, 3, 268),
(7012,11136, 1, 3, 268),
(7012,11138, 1, 3, 268),
(7012,11088, 1, 3, 268),
(7012,10370, 1, 3, 266),
(7012,10368, 1, 3, 268),
(7012,11043, 1, 3, 50),
(7012,11048, 1, 3, 50),
(7012,11050, 1, 3, 50),
(7012,11058, 1, 3, 50),
(7012,11060, 1, 3, 50),
(7012,11074, 1, 3, 50),
(7012,11107, 1, 3, 50),
(7012,11111, 1, 3, 50),
(7012,11113, 1, 3, 50),
(7012,11118, 1, 3, 50),
(7012,11126, 1, 3, 50),
(7012,11140, 1, 3, 50),
(7012,11086, 1, 3, 50),
(7012,11095, 1, 3, 50),
(7012,11055, 1, 3, 50),
(7012,10378, 1, 3, 50),
(7012,11052, 1, 3, 15),
(7012,11073, 1, 3, 15),
(7012,11146, 1, 3, 15),
(7012,11116, 1, 3, 15),
(7012,11123, 1, 3, 15),
(7012,11097, 1, 3, 15),
(7012,10367, 1, 3, 15),
(7012,10371, 1, 3, 15),
(7012,10373, 1, 3, 15),
(7012,10778, 1, 3, 375),
(7012,11209, 1, 3, 375),
(7012,10813, 1, 3, 375),
(7012,11389, 1, 3, 375),
(7012,11159, 1, 3, 1000),
(7012,11159, 2, 3, 250),
(7012,11160, 1, 3, 700),
(7012,11160, 2, 3, 175),
(7012,11161, 1, 3, 300),
(7012,11161, 2, 3, 75),
(7012,11465, 1, 3, 53),
(7012,11466, 1, 3, 27),
(7012,11467, 1, 3, 266),
(7012,11468, 1, 3, 533),
(7012,11469, 1, 3, 186);
END;

View File

@@ -0,0 +1,23 @@
BEGIN;
CREATE TABLE IF NOT EXISTS paper_data_gifts (
id serial PRIMARY KEY,
gift_id integer,
item_id integer,
unk0 integer,
unk1 integer,
chance integer
);
CREATE TABLE IF NOT EXISTS paper_data (
id serial PRIMARY KEY,
paper_type integer,
paper_id integer,
option1 integer,
option2 integer,
option3 integer,
option4 integer,
option5 integer
);
END;

File diff suppressed because it is too large Load Diff

View File

@@ -3,10 +3,11 @@ package channelserver
import (
_config "erupe-ce/config"
"fmt"
"go.uber.org/zap"
"strings"
"time"
"go.uber.org/zap"
"erupe-ce/common/byteframe"
"erupe-ce/common/stringsupport"
"erupe-ce/network/mhfpacket"
@@ -23,8 +24,15 @@ type TowerInfoSkill struct {
}
type TowerInfoHistory struct {
Unk0 []int16 // 5
Unk1 []int16 // 5
Unk0 TowerHistory // 5
Unk1 TowerHistory // 5
}
type TowerHistory struct {
Unk0 int16
Unk1 int16
Unk2 int16
Unk3 int16
Unk4 int16
}
type TowerInfoLevel struct {
@@ -51,12 +59,25 @@ func handleMsgMhfGetTowerInfo(s *Session, p mhfpacket.MHFPacket) {
History []TowerInfoHistory
Level []TowerInfoLevel
}
history1 := TowerHistory{
Unk0: 1,
Unk1: 2,
Unk2: 3,
Unk3: 4,
Unk4: 5,
}
history2 := TowerHistory{
Unk0: 1,
Unk1: 2,
Unk2: 3,
Unk3: 4,
Unk4: 5,
}
towerInfo := TowerInfo{
TRP: []TowerInfoTRP{{0, 0}},
Skill: []TowerInfoSkill{{0, make([]int16, 64)}},
History: []TowerInfoHistory{{make([]int16, 5), make([]int16, 5)}},
Level: []TowerInfoLevel{{0, 0, 0, 0}, {0, 0, 0, 0}},
History: []TowerInfoHistory{{history1, history2}},
Level: []TowerInfoLevel{{0, 5, 5, 5}, {0, 5, 5, 5}},
}
var tempSkills string
@@ -94,12 +115,17 @@ func handleMsgMhfGetTowerInfo(s *Session, p mhfpacket.MHFPacket) {
case 4:
for _, history := range towerInfo.History {
bf := byteframe.NewByteFrame()
for i := range history.Unk0 {
bf.WriteInt16(history.Unk0[i])
}
for i := range history.Unk1 {
bf.WriteInt16(history.Unk1[i])
}
bf.WriteInt16(history.Unk0.Unk0)
bf.WriteInt16(history.Unk0.Unk1)
bf.WriteInt16(history.Unk0.Unk2)
bf.WriteInt16(history.Unk0.Unk3)
bf.WriteInt16(history.Unk0.Unk4)
bf.WriteInt16(history.Unk1.Unk0)
bf.WriteInt16(history.Unk1.Unk1)
bf.WriteInt16(history.Unk1.Unk2)
bf.WriteInt16(history.Unk1.Unk3)
bf.WriteInt16(history.Unk1.Unk4)
data = append(data, bf)
}
case 3, 5:
@@ -130,7 +156,8 @@ func handleMsgMhfPostTowerInfo(s *Session, p mhfpacket.MHFPacket) {
zap.Int32("Unk6", pkt.Unk6),
zap.Int32("Unk7", pkt.Unk7),
zap.Int32("Block1", pkt.Block1),
zap.Int64("Unk9", pkt.Unk9),
zap.Int32("TimeTaken", pkt.TimeTaken),
zap.Int32("CID", pkt.CID),
)
}
@@ -388,23 +415,88 @@ func handleMsgMhfPostTenrouirai(s *Session, p mhfpacket.MHFPacket) {
}
}
type PresentBox struct {
ItemClaimIndex uint32
PresentType int32
Unk2 int32
Unk3 int32
Unk4 int32
Unk5 int32
Unk6 int32
Unk7 int32
DistributionType int32 //Same as Siabatu Distribution Type 7201:Item 7202:N Points 7203:Guild Contribution Points
ItemID int32
Amount int32
}
func handleMsgMhfPresentBox(s *Session, p mhfpacket.MHFPacket) {
pkt := p.(*mhfpacket.MsgMhfPresentBox)
var data []*byteframe.ByteFrame
/*
bf.WriteUint32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
bf.WriteInt32(0)
*/
var presents []PresentBox
//On Open Operation 1 and 3
//On Accept Operation 1 and 2 (Stop player from reclaiming I assume (Needs a database flag)
switch pkt.Operation {
case 1:
// When Operation is 1, populate presents based on PresentType in packet
//Placed it in a dynamic array for now
//Empty Array shows the No Items to claim message!
for _, presentType := range pkt.PresentType {
presents = []PresentBox{
{1, int32(presentType), 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{2, int32(presentType), 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{3, int32(presentType), 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{4, int32(presentType), 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{5, int32(presentType), 0, 0, 0, 0, 0, 0, 7201, 12895, 8},
{6, int32(presentType), 0, 0, 0, 0, 0, 0, 7202, 12893, 1},
{7, int32(presentType), 0, 0, 0, 0, 0, 0, 7203, 12895, 8},
}
}
case 2:
// When Operation is 2, populate presents for claiming items
//ItemClaimIndex in Option 1 of the Present Box Call populates pkt.PresentType which triggers this packet notice PresentType is Populated with ItemClaimIndex for a 1 to 1 Relationship
presents = []PresentBox{
{0, 1, 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{0, 2, 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{0, 3, 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{0, 4, 0, 0, 0, 0, 0, 0, 7201, 12893, 1},
{0, 5, 0, 0, 0, 0, 0, 0, 7201, 12895, 8},
{0, 6, 0, 0, 0, 0, 0, 0, 7202, 12893, 1},
{0, 7, 0, 0, 0, 0, 0, 0, 7203, 12895, 8},
}
case 3:
// When Operation is 3, send an empty byte frame (Possibly a better response here)
bf := byteframe.NewByteFrame()
doAckBufSucceed(s, pkt.AckHandle, bf.Data())
return
default:
s.logger.Info("request for unknown type", zap.Uint32("Unk1", pkt.Operation))
}
// Construct and send the response data based on the presents
for _, present := range presents {
bf := byteframe.NewByteFrame()
bf.WriteUint32(present.ItemClaimIndex)
bf.WriteInt32(present.PresentType)
bf.WriteInt32(present.Unk2)
bf.WriteInt32(present.Unk3)
bf.WriteInt32(present.Unk4)
bf.WriteInt32(present.Unk5)
bf.WriteInt32(present.Unk6)
bf.WriteInt32(present.Unk7)
bf.WriteInt32(present.DistributionType)
bf.WriteInt32(present.ItemID)
bf.WriteInt32(present.Amount)
data = append(data, bf)
}
// Send the accumulated data
doAckEarthSucceed(s, pkt.AckHandle, data)
}
type GemInfo struct {