mirror of
https://github.com/Mezeporta/Erupe.git
synced 2025-12-14 16:04:38 +01:00
Compare commits
4 Commits
b2768e5af8
...
feature/to
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
952db812ec | ||
|
|
2d0cce719b | ||
|
|
2bc31c718a | ||
|
|
c6fdf47779 |
@@ -22,9 +22,8 @@
|
||||
"CommandPrefix": "!",
|
||||
"AutoCreateAccount": true,
|
||||
"DefaultCourses": [1, 23, 24],
|
||||
"EarthStatus": 0,
|
||||
"EarthID": 0,
|
||||
"EarthMonsters": [0, 0, 0, 0],
|
||||
"EarthDebug": false,
|
||||
"EarthMonsters": [116, 107, 2, 36],
|
||||
"SaveDumps": {
|
||||
"Enabled": true,
|
||||
"RawEnabled": false,
|
||||
|
||||
@@ -82,8 +82,7 @@ type Config struct {
|
||||
CommandPrefix string // The prefix for commands
|
||||
AutoCreateAccount bool // Automatically create accounts if they don't exist
|
||||
DefaultCourses []uint16
|
||||
EarthStatus int32
|
||||
EarthID int32
|
||||
EarthDebug bool
|
||||
EarthMonsters []int32
|
||||
SaveDumps SaveDumpOptions
|
||||
Screenshots ScreenshotsOptions
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -2,6 +2,7 @@ package mhfpacket
|
||||
|
||||
import (
|
||||
"errors"
|
||||
"fmt"
|
||||
|
||||
"erupe-ce/common/byteframe"
|
||||
"erupe-ce/network"
|
||||
@@ -10,11 +11,11 @@ import (
|
||||
|
||||
// MsgMhfGetWeeklySeibatuRankingReward represents the MSG_MHF_GET_WEEKLY_SEIBATU_RANKING_REWARD
|
||||
type MsgMhfGetWeeklySeibatuRankingReward struct {
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Unk1 uint32
|
||||
Unk2 uint32
|
||||
Unk3 uint32
|
||||
AckHandle uint32
|
||||
Unk0 uint32
|
||||
Operation uint32
|
||||
ID uint32
|
||||
EarthMonster uint32
|
||||
}
|
||||
|
||||
// Opcode returns the ID associated with this packet type.
|
||||
@@ -26,9 +27,10 @@ func (m *MsgMhfGetWeeklySeibatuRankingReward) Opcode() network.PacketID {
|
||||
func (m *MsgMhfGetWeeklySeibatuRankingReward) 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.Unk3 = bf.ReadUint32()
|
||||
m.Operation = bf.ReadUint32()
|
||||
m.ID = bf.ReadUint32()
|
||||
m.EarthMonster = bf.ReadUint32()
|
||||
fmt.Printf("MsgMhfGetWeeklySeibatuRankingReward: Unk0:[%d] Operation:[%d] ID:[%d] EarthMonster:[%d]\n\n", m.Unk0, m.Operation, m.ID, m.EarthMonster)
|
||||
return nil
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
752
schemas/bundled-schema/PaperGifts.sql
Normal file
752
schemas/bundled-schema/PaperGifts.sql
Normal 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;
|
||||
|
||||
6
schemas/patch-schema/23-earth.sql
Normal file
6
schemas/patch-schema/23-earth.sql
Normal file
@@ -0,0 +1,6 @@
|
||||
BEGIN;
|
||||
|
||||
-- Add 'earth' to the event_type ENUM type
|
||||
ALTER TYPE event_type ADD VALUE 'earth';
|
||||
|
||||
END;
|
||||
23
schemas/patch-schema/24-paperdata.sql
Normal file
23
schemas/patch-schema/24-paperdata.sql
Normal 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;
|
||||
@@ -30,18 +30,6 @@ func stubEnumerateNoResults(s *Session, ackHandle uint32) {
|
||||
doAckBufSucceed(s, ackHandle, enumBf.Data())
|
||||
}
|
||||
|
||||
func doAckEarthSucceed(s *Session, ackHandle uint32, data []*byteframe.ByteFrame) {
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteUint32(uint32(s.server.erupeConfig.EarthID))
|
||||
bf.WriteUint32(0)
|
||||
bf.WriteUint32(0)
|
||||
bf.WriteUint32(uint32(len(data)))
|
||||
for i := range data {
|
||||
bf.WriteBytes(data[i].Data())
|
||||
}
|
||||
doAckBufSucceed(s, ackHandle, bf.Data())
|
||||
}
|
||||
|
||||
func doAckBufSucceed(s *Session, ackHandle uint32, data []byte) {
|
||||
s.QueueSendMHF(&mhfpacket.MsgSysAck{
|
||||
AckHandle: ackHandle,
|
||||
@@ -1115,66 +1103,8 @@ func handleMsgMhfUnreserveSrg(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
func handleMsgMhfKickExportForce(s *Session, p mhfpacket.MHFPacket) {}
|
||||
|
||||
func handleMsgMhfGetEarthStatus(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfGetEarthStatus)
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteUint32(uint32(TimeWeekStart().Unix())) // Start
|
||||
bf.WriteUint32(uint32(TimeWeekNext().Unix())) // End
|
||||
bf.WriteInt32(s.server.erupeConfig.EarthStatus)
|
||||
bf.WriteInt32(s.server.erupeConfig.EarthID)
|
||||
for i, m := range s.server.erupeConfig.EarthMonsters {
|
||||
if _config.ErupeConfig.RealClientMode <= _config.G9 {
|
||||
if i == 3 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if i == 4 {
|
||||
break
|
||||
}
|
||||
bf.WriteInt32(m)
|
||||
}
|
||||
doAckBufSucceed(s, pkt.AckHandle, bf.Data())
|
||||
}
|
||||
|
||||
func handleMsgMhfRegistSpabiTime(s *Session, p mhfpacket.MHFPacket) {}
|
||||
|
||||
func handleMsgMhfGetEarthValue(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfGetEarthValue)
|
||||
type EarthValues struct {
|
||||
Value []uint32
|
||||
}
|
||||
|
||||
var earthValues []EarthValues
|
||||
switch pkt.ReqType {
|
||||
case 1:
|
||||
earthValues = []EarthValues{
|
||||
{[]uint32{1, 312, 0, 0, 0, 0}},
|
||||
{[]uint32{2, 99, 0, 0, 0, 0}},
|
||||
}
|
||||
case 2:
|
||||
earthValues = []EarthValues{
|
||||
{[]uint32{1, 5771, 0, 0, 0, 0}},
|
||||
{[]uint32{2, 1847, 0, 0, 0, 0}},
|
||||
}
|
||||
case 3:
|
||||
earthValues = []EarthValues{
|
||||
{[]uint32{1001, 36, 0, 0, 0, 0}},
|
||||
{[]uint32{9001, 3, 0, 0, 0, 0}},
|
||||
{[]uint32{9002, 10, 300, 0, 0, 0}},
|
||||
}
|
||||
}
|
||||
|
||||
var data []*byteframe.ByteFrame
|
||||
for _, i := range earthValues {
|
||||
bf := byteframe.NewByteFrame()
|
||||
for _, j := range i.Value {
|
||||
bf.WriteUint32(j)
|
||||
}
|
||||
data = append(data, bf)
|
||||
}
|
||||
doAckEarthSucceed(s, pkt.AckHandle, data)
|
||||
}
|
||||
|
||||
func handleMsgMhfDebugPostValue(s *Session, p mhfpacket.MHFPacket) {}
|
||||
|
||||
func handleMsgMhfGetRandFromTable(s *Session, p mhfpacket.MHFPacket) {
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
172
server/channelserver/handlers_earth.go
Normal file
172
server/channelserver/handlers_earth.go
Normal file
@@ -0,0 +1,172 @@
|
||||
package channelserver
|
||||
|
||||
import (
|
||||
"erupe-ce/common/byteframe"
|
||||
_config "erupe-ce/config"
|
||||
"erupe-ce/network/mhfpacket"
|
||||
"log"
|
||||
"time"
|
||||
)
|
||||
|
||||
func doAckEarthSucceed(s *Session, ackHandle uint32, data []*byteframe.ByteFrame) {
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteUint32(0)
|
||||
bf.WriteUint32(0)
|
||||
bf.WriteUint32(0)
|
||||
bf.WriteUint32(uint32(len(data)))
|
||||
for i := range data {
|
||||
bf.WriteBytes(data[i].Data())
|
||||
}
|
||||
doAckBufSucceed(s, ackHandle, bf.Data())
|
||||
}
|
||||
|
||||
func handleMsgMhfGetEarthValue(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfGetEarthValue)
|
||||
type EarthValues struct {
|
||||
Value []uint32
|
||||
}
|
||||
|
||||
var earthValues []EarthValues
|
||||
switch pkt.ReqType {
|
||||
case 1:
|
||||
earthValues = []EarthValues{
|
||||
// {Block, DureSlays, Unk, Unk, Unk, Unk}
|
||||
{[]uint32{1, 100, 0, 0, 0, 0}},
|
||||
{[]uint32{2, 100, 0, 0, 0, 0}},
|
||||
}
|
||||
case 2:
|
||||
earthValues = []EarthValues{
|
||||
// {Block, Floors?, Unk, Unk, Unk, Unk}
|
||||
{[]uint32{1, 5771, 0, 0, 0, 0}},
|
||||
{[]uint32{2, 1847, 0, 0, 0, 0}},
|
||||
}
|
||||
case 3:
|
||||
earthValues = []EarthValues{
|
||||
{[]uint32{1001, 36, 0, 0, 0, 0}}, //getTouhaHistory
|
||||
{[]uint32{9001, 3, 0, 0, 0, 0}}, //getKohouhinDropStopFlag // something to do with ttcSetDisableFlag?
|
||||
{[]uint32{9002, 10, 300, 0, 0, 0}}, //getKohouhinForceValue
|
||||
}
|
||||
}
|
||||
|
||||
var data []*byteframe.ByteFrame
|
||||
for _, i := range earthValues {
|
||||
bf := byteframe.NewByteFrame()
|
||||
for _, j := range i.Value {
|
||||
bf.WriteUint32(j)
|
||||
}
|
||||
data = append(data, bf)
|
||||
}
|
||||
doAckEarthSucceed(s, pkt.AckHandle, data)
|
||||
}
|
||||
func cleanupEarthStatus(s *Session) {
|
||||
s.server.db.Exec(`DELETE FROM events WHERE event_type='earth'`)
|
||||
}
|
||||
|
||||
func generateEarthStatusTimestamps(s *Session, start uint32, debug bool) []uint32 {
|
||||
timestamps := make([]uint32, 4)
|
||||
midnight := TimeMidnight()
|
||||
if start == 0 || TimeAdjusted().Unix() > int64(start)+1814400 {
|
||||
cleanupEarthStatus(s)
|
||||
start = uint32(midnight.Add(24 * time.Hour).Unix())
|
||||
s.server.db.Exec("INSERT INTO events (event_type, start_time) VALUES ('earth', to_timestamp($1)::timestamp without time zone)", start)
|
||||
}
|
||||
if debug {
|
||||
timestamps[0] = uint32(TimeWeekStart().Unix())
|
||||
timestamps[1] = uint32(TimeWeekNext().Unix())
|
||||
timestamps[2] = uint32(TimeWeekNext().Add(time.Duration(7) * time.Hour * 24).Unix())
|
||||
timestamps[3] = uint32(TimeWeekNext().Add(time.Duration(14) * time.Hour * 24).Unix())
|
||||
} else {
|
||||
timestamps[0] = start
|
||||
timestamps[1] = timestamps[0] + 604800
|
||||
timestamps[2] = timestamps[1] + 604800
|
||||
timestamps[3] = timestamps[2] + 604800
|
||||
}
|
||||
return timestamps
|
||||
}
|
||||
func handleMsgMhfGetEarthStatus(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfGetEarthStatus)
|
||||
bf := byteframe.NewByteFrame()
|
||||
|
||||
var earthTimestamps []uint32
|
||||
var debug = s.server.erupeConfig.EarthDebug
|
||||
earthId, earthStart := int32(0x01BEEFEE), uint32(0)
|
||||
rows, _ := s.server.db.Queryx("SELECT id, (EXTRACT(epoch FROM start_time)::int) as start_time FROM events WHERE event_type='earth'")
|
||||
if rows == nil {
|
||||
log.Println("No rows found")
|
||||
} else {
|
||||
for rows.Next() {
|
||||
rows.Scan(&earthId, &earthStart)
|
||||
}
|
||||
}
|
||||
earthTimestamps = generateEarthStatusTimestamps(s, earthStart, debug)
|
||||
|
||||
// Conquest
|
||||
if uint32(TimeAdjusted().Unix()) > earthTimestamps[0] {
|
||||
bf.WriteUint32(earthTimestamps[0]) // Start
|
||||
bf.WriteUint32(earthTimestamps[1]) // End
|
||||
bf.WriteInt32(1) //Conquest Earth Status ID //1 and 2 UNK the difference
|
||||
bf.WriteInt32(earthId) //ID
|
||||
} else {
|
||||
bf.WriteUint32(earthTimestamps[1]) // Start
|
||||
bf.WriteUint32(earthTimestamps[2]) // End
|
||||
bf.WriteInt32(2) //Conquest Earth Status ID //1 and 2 UNK the difference
|
||||
bf.WriteInt32(earthId) //ID
|
||||
}
|
||||
for i, m := range s.server.erupeConfig.EarthMonsters {
|
||||
//Changed from G9 to G8 to get conquest working in g9.1
|
||||
if _config.ErupeConfig.RealClientMode <= _config.G8 {
|
||||
if i == 3 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if i == 4 {
|
||||
break
|
||||
}
|
||||
bf.WriteInt32(m)
|
||||
}
|
||||
|
||||
// Pallone
|
||||
if uint32(TimeAdjusted().Unix()) > earthTimestamps[1] {
|
||||
bf.WriteUint32(earthTimestamps[1]) // Start
|
||||
bf.WriteUint32(earthTimestamps[2]) // End
|
||||
bf.WriteInt32(11) //Pallone Earth Status ID //11 is Fest //12 is Reward
|
||||
bf.WriteInt32(earthId + 1) //ID
|
||||
} else {
|
||||
bf.WriteUint32(earthTimestamps[2]) // Start
|
||||
bf.WriteUint32(earthTimestamps[3]) // End
|
||||
bf.WriteInt32(12) //Pallone Earth Status ID //11 is Fest //12 is Reward
|
||||
bf.WriteInt32(earthId + 1) //ID
|
||||
}
|
||||
for i, m := range s.server.erupeConfig.EarthMonsters {
|
||||
//Changed from G9 to G8 to get conquest working in g9.1
|
||||
if _config.ErupeConfig.RealClientMode <= _config.G8 {
|
||||
if i == 3 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if i == 4 {
|
||||
break
|
||||
}
|
||||
bf.WriteInt32(m)
|
||||
}
|
||||
|
||||
// Tower
|
||||
if uint32(TimeAdjusted().Unix()) > earthTimestamps[2] {
|
||||
bf.WriteUint32(earthTimestamps[2]) // Start
|
||||
bf.WriteUint32(earthTimestamps[3]) // End
|
||||
bf.WriteInt32(21) //Tower Earth Status ID
|
||||
bf.WriteInt32(earthId + 2) //ID
|
||||
for i, m := range s.server.erupeConfig.EarthMonsters {
|
||||
if _config.ErupeConfig.RealClientMode <= _config.G8 {
|
||||
if i == 3 {
|
||||
break
|
||||
}
|
||||
}
|
||||
if i == 4 {
|
||||
break
|
||||
}
|
||||
bf.WriteInt32(m)
|
||||
}
|
||||
}
|
||||
doAckBufSucceed(s, pkt.AckHandle, bf.Data())
|
||||
}
|
||||
@@ -15,31 +15,546 @@ func handleMsgMhfGetBreakSeibatuLevelReward(s *Session, p mhfpacket.MHFPacket) {
|
||||
doAckBufSucceed(s, pkt.AckHandle, bf.Data())
|
||||
}
|
||||
|
||||
type WeeklySeibatuRankingReward struct {
|
||||
Unk0 int32
|
||||
Unk1 int32
|
||||
Unk2 uint32
|
||||
Unk3 int32
|
||||
Unk4 int32
|
||||
Unk5 int32
|
||||
type WeeklySeibatuRankingRewardData struct {
|
||||
Index0 int32 //Place Start
|
||||
Index1 int32 //Place Finish
|
||||
Index2 uint32 // UNK
|
||||
DistributionType int32 //Type 7201:Item 7202:N Points 7203:Guild Contribution Points
|
||||
ItemID int32
|
||||
Amount int32
|
||||
}
|
||||
type WeeklySeibatuRankingRewards struct {
|
||||
Unk0 int32
|
||||
ItemID int32
|
||||
Amount uint32
|
||||
PlaceFrom int32
|
||||
PlaceTo int32
|
||||
}
|
||||
|
||||
func handleMsgMhfGetWeeklySeibatuRankingReward(s *Session, p mhfpacket.MHFPacket) {
|
||||
pkt := p.(*mhfpacket.MsgMhfGetWeeklySeibatuRankingReward)
|
||||
var data []*byteframe.ByteFrame
|
||||
weeklySeibatuRankingRewards := []WeeklySeibatuRankingReward{
|
||||
{0, 0, 0, 0, 0, 0},
|
||||
var weeklySeibatuRankingRewards []WeeklySeibatuRankingRewards
|
||||
var weeklySeibatuRankingRewardsData []WeeklySeibatuRankingRewardData
|
||||
|
||||
switch pkt.Operation {
|
||||
case 1:
|
||||
//Conquest Data
|
||||
switch pkt.ID { // Seems to align with EarthStatus 1 and 2 for Conquest
|
||||
case 1:
|
||||
switch pkt.EarthMonster {
|
||||
case 116:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 107:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 2:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 36:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
}
|
||||
|
||||
case 2:
|
||||
switch pkt.EarthMonster {
|
||||
case 116:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 107:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 2:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
case 36:
|
||||
weeklySeibatuRankingRewards = []WeeklySeibatuRankingRewards{
|
||||
{0, 2, 3, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 6, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 15, 1, 100},
|
||||
{0, 2, 25, 1, 100},
|
||||
|
||||
{0, 2, 2, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 4, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 9, 101, 1000},
|
||||
{0, 2, 30, 101, 1000},
|
||||
|
||||
{0, 2, 2, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 4, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
{0, 2, 6, 1000, 1001},
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
case 3:
|
||||
//Pallone Festival Data
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
|
||||
//Unk0
|
||||
//Unk1
|
||||
//Unk2
|
||||
//Unk3,
|
||||
//ROUTE, (Crashes if it doesnt exist be careful with values )
|
||||
//Status 1 = Only Now ! 2= Unk 3= Disabled}
|
||||
|
||||
//Route 0
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 1
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 2
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 3
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 4
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 5
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 6
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 7
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 8
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 9
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
//Route 10
|
||||
{0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0}, {0, 0, 0, 0, 0, 0},
|
||||
}
|
||||
|
||||
// 0 = Max 7 Routes so value 6
|
||||
//ZZ looks like it only works up to Route 2
|
||||
|
||||
case 5:
|
||||
//Event Reward Data
|
||||
switch pkt.ID {
|
||||
//243400 = Route 0
|
||||
//243401 = Route 1
|
||||
//I have a sneaky suspicion that the above massive array is feeding into this somehow....
|
||||
case 240031:
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
{1, 1, 1, 7201, 12068, 1}}
|
||||
case 240041:
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
{0, 0, 1, 7201, 12068, 1}}
|
||||
case 240042:
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
{0, 0, 2, 7201, 12068, 1}}
|
||||
case 240051:
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
{0, 0, 1, 7201, 12068, 1}}
|
||||
case 240052:
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
{1, 1, 1, 7201, 12068, 1},
|
||||
}
|
||||
case 260001:
|
||||
//Tower Dure Kill Reward
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
|
||||
//Can only have 10 in each dist (It disapears otherwise) Looks like up to dist 4 is implemented
|
||||
//This is claimable for every Dure Kill, Make cliamable in bulk or mandatory claim per kill
|
||||
//{unk,unk,dist,seiabtuType,ItemID,Value}
|
||||
{0, 0, 1, 7201, 11463, 1},
|
||||
{0, 0, 1, 7201, 11464, 1},
|
||||
{0, 0, 1, 7201, 11163, 1},
|
||||
{0, 0, 1, 7201, 11159, 5},
|
||||
{0, 0, 1, 7201, 11160, 5},
|
||||
{0, 0, 1, 7201, 11161, 5},
|
||||
|
||||
{0, 0, 2, 7201, 12506, 1},
|
||||
{0, 0, 2, 7201, 10355, 1},
|
||||
{0, 0, 2, 7201, 11163, 1},
|
||||
{0, 0, 2, 7201, 11159, 5},
|
||||
{0, 0, 2, 7201, 11160, 5},
|
||||
{0, 0, 2, 7201, 11161, 5},
|
||||
}
|
||||
case 260003:
|
||||
//Tower Floor Reward
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
//Adjust Floors done in database to make blue
|
||||
//This is claimable for every Floor Climbed across dist 1 and 2
|
||||
//{Floor,unk,unk,seiabtuType,ItemID,Value}
|
||||
|
||||
{1, 0, 0, 7201, 11158, 1},
|
||||
{2, 0, 0, 7201, 11173, 1},
|
||||
{3, 0, 0, 7201, 10813, 3},
|
||||
{4, 0, 0, 7201, 11163, 1},
|
||||
{5, 0, 0, 7201, 11164, 1},
|
||||
{6, 0, 0, 7201, 11389, 3},
|
||||
{6, 0, 0, 7201, 11381, 1},
|
||||
{7, 0, 0, 7201, 11384, 1},
|
||||
{8, 0, 0, 7201, 11159, 10},
|
||||
{9, 0, 0, 7201, 11160, 10},
|
||||
{10, 0, 0, 7201, 11161, 10},
|
||||
{11, 0, 0, 7201, 11265, 2},
|
||||
{11, 0, 0, 7201, 7279, 2},
|
||||
{12, 0, 0, 7201, 11381, 1},
|
||||
{13, 0, 0, 7201, 11384, 1},
|
||||
{14, 0, 0, 7201, 11381, 1},
|
||||
{15, 0, 0, 7201, 11384, 1},
|
||||
{15, 0, 0, 7201, 11464, 1},
|
||||
{16, 0, 0, 7201, 11381, 1},
|
||||
{17, 0, 0, 7201, 11384, 1},
|
||||
{18, 0, 0, 7201, 11381, 1},
|
||||
{19, 0, 0, 7201, 11384, 1},
|
||||
{20, 0, 0, 7201, 10778, 3},
|
||||
{21, 0, 0, 7201, 11265, 2},
|
||||
{21, 0, 0, 7201, 7279, 2},
|
||||
{22, 0, 0, 7201, 11381, 1},
|
||||
{23, 0, 0, 7201, 11384, 1},
|
||||
{24, 0, 0, 7201, 11381, 1},
|
||||
{25, 0, 0, 7201, 11389, 3},
|
||||
{25, 0, 0, 7201, 11286, 4},
|
||||
{26, 0, 0, 7201, 11384, 1},
|
||||
{27, 0, 0, 7201, 11381, 1},
|
||||
{28, 0, 0, 7201, 11384, 1},
|
||||
{29, 0, 0, 7201, 11381, 1},
|
||||
{30, 0, 0, 7201, 11209, 3},
|
||||
{31, 0, 0, 7201, 11265, 2},
|
||||
{31, 0, 0, 7201, 7279, 2},
|
||||
{32, 0, 0, 7201, 11159, 10},
|
||||
{33, 0, 0, 7201, 11463, 1},
|
||||
{34, 0, 0, 7201, 11160, 10},
|
||||
{35, 0, 0, 7201, 11286, 4},
|
||||
{36, 0, 0, 7201, 11161, 10},
|
||||
{38, 0, 0, 7201, 11384, 1},
|
||||
{39, 0, 0, 7201, 11164, 1},
|
||||
{40, 0, 0, 7201, 10813, 3},
|
||||
{41, 0, 0, 7201, 11265, 2},
|
||||
{41, 0, 0, 7201, 7280, 2},
|
||||
{43, 0, 0, 7201, 11381, 1},
|
||||
{45, 0, 0, 7201, 11286, 4},
|
||||
{47, 0, 0, 7201, 11384, 1},
|
||||
{48, 0, 0, 7201, 11358, 1},
|
||||
{50, 0, 0, 7201, 11356, 1},
|
||||
{51, 0, 0, 7201, 11265, 2},
|
||||
{51, 0, 0, 7201, 7280, 2},
|
||||
{53, 0, 0, 7201, 11381, 2},
|
||||
{55, 0, 0, 7201, 11357, 1},
|
||||
{57, 0, 0, 7201, 11384, 1},
|
||||
{60, 0, 0, 7201, 11286, 4},
|
||||
{61, 0, 0, 7201, 11265, 2},
|
||||
{61, 0, 0, 7201, 7280, 2},
|
||||
{63, 0, 0, 7201, 11381, 2},
|
||||
{66, 0, 0, 7201, 11463, 1},
|
||||
{67, 0, 0, 7201, 11384, 1},
|
||||
{70, 0, 0, 7201, 11286, 4},
|
||||
{71, 0, 0, 7201, 11265, 2},
|
||||
{71, 0, 0, 7201, 7280, 2},
|
||||
{73, 0, 0, 7201, 11381, 2},
|
||||
{77, 0, 0, 7201, 11384, 1},
|
||||
{79, 0, 0, 7201, 11164, 1},
|
||||
{80, 0, 0, 7201, 11286, 6},
|
||||
{81, 0, 0, 7201, 11265, 2},
|
||||
{81, 0, 0, 7201, 7281, 1},
|
||||
{83, 0, 0, 7201, 11381, 2},
|
||||
{85, 0, 0, 7201, 11464, 1},
|
||||
{87, 0, 0, 7201, 11384, 1},
|
||||
{90, 0, 0, 7201, 11286, 6},
|
||||
{91, 0, 0, 7201, 11265, 2},
|
||||
{91, 0, 0, 7201, 7281, 1},
|
||||
{93, 0, 0, 7201, 11381, 2},
|
||||
{95, 0, 0, 7201, 10778, 3},
|
||||
{97, 0, 0, 7201, 11384, 1},
|
||||
{99, 0, 0, 7201, 11463, 1},
|
||||
{100, 0, 0, 7201, 11286, 6},
|
||||
{101, 0, 0, 7201, 11265, 2},
|
||||
{101, 0, 0, 7201, 7281, 1},
|
||||
{103, 0, 0, 7201, 11381, 2},
|
||||
{107, 0, 0, 7201, 11384, 1},
|
||||
{110, 0, 0, 7201, 11286, 6},
|
||||
{113, 0, 0, 7201, 11381, 2},
|
||||
{115, 0, 0, 7201, 11164, 1},
|
||||
{117, 0, 0, 7201, 11384, 1},
|
||||
{120, 0, 0, 7201, 11286, 12},
|
||||
{123, 0, 0, 7201, 11381, 2},
|
||||
{127, 0, 0, 7201, 11384, 1},
|
||||
{130, 0, 0, 7201, 11286, 12},
|
||||
{132, 0, 0, 7201, 11381, 2},
|
||||
{134, 0, 0, 7201, 11384, 1},
|
||||
{136, 0, 0, 7201, 11381, 2},
|
||||
{138, 0, 0, 7201, 11384, 1},
|
||||
{140, 0, 0, 7201, 11286, 12},
|
||||
{142, 0, 0, 7201, 11382, 1},
|
||||
{144, 0, 0, 7201, 11385, 1},
|
||||
{145, 0, 0, 7201, 11464, 1},
|
||||
{146, 0, 0, 7201, 11382, 1},
|
||||
{148, 0, 0, 7201, 11385, 1},
|
||||
{150, 0, 0, 7201, 11164, 1},
|
||||
{155, 0, 0, 7201, 11382, 1},
|
||||
{160, 0, 0, 7201, 11209, 3},
|
||||
{165, 0, 0, 7201, 11385, 1},
|
||||
{170, 0, 0, 7201, 11159, 10},
|
||||
{175, 0, 0, 7201, 11382, 1},
|
||||
{180, 0, 0, 7201, 11160, 10},
|
||||
{185, 0, 0, 7201, 11385, 1},
|
||||
{190, 0, 0, 7201, 11161, 10},
|
||||
{195, 0, 0, 7201, 11382, 1},
|
||||
{200, 0, 0, 7201, 11159, 15},
|
||||
{210, 0, 0, 7201, 11160, 15},
|
||||
{220, 0, 0, 7201, 11385, 1},
|
||||
{235, 0, 0, 7201, 11382, 2},
|
||||
{250, 0, 0, 7201, 11161, 15},
|
||||
{265, 0, 0, 7201, 11159, 20},
|
||||
{280, 0, 0, 7201, 11385, 1},
|
||||
{300, 0, 0, 7201, 11160, 20},
|
||||
{315, 0, 0, 7201, 11382, 2},
|
||||
{330, 0, 0, 7201, 11385, 1},
|
||||
{350, 0, 0, 7201, 11161, 20},
|
||||
{365, 0, 0, 7201, 11382, 2},
|
||||
{380, 0, 0, 7201, 11385, 1},
|
||||
{400, 0, 0, 7201, 11159, 25},
|
||||
{415, 0, 0, 7201, 11382, 2},
|
||||
{430, 0, 0, 7201, 11385, 1},
|
||||
{450, 0, 0, 7201, 11160, 25},
|
||||
{465, 0, 0, 7201, 11382, 2},
|
||||
{480, 0, 0, 7201, 11385, 1},
|
||||
{500, 0, 0, 7201, 11161, 25},
|
||||
{525, 0, 0, 7201, 11382, 2},
|
||||
{550, 0, 0, 7201, 11385, 1},
|
||||
{575, 0, 0, 7201, 11159, 25},
|
||||
{600, 0, 0, 7201, 11382, 2},
|
||||
{625, 0, 0, 7201, 11385, 1},
|
||||
{650, 0, 0, 7201, 11160, 25},
|
||||
{675, 0, 0, 7201, 11382, 2},
|
||||
{700, 0, 0, 7201, 11385, 1},
|
||||
{725, 0, 0, 7201, 11161, 25},
|
||||
{750, 0, 0, 7201, 11382, 2},
|
||||
{775, 0, 0, 7201, 11385, 1},
|
||||
{800, 0, 0, 7201, 11159, 25},
|
||||
{825, 0, 0, 7201, 11382, 2},
|
||||
{850, 0, 0, 7201, 11385, 1},
|
||||
{875, 0, 0, 7201, 11160, 25},
|
||||
{900, 0, 0, 7201, 11382, 2},
|
||||
{925, 0, 0, 7201, 11385, 1},
|
||||
{950, 0, 0, 7201, 11161, 25},
|
||||
{975, 0, 0, 7201, 11382, 2},
|
||||
{1000, 0, 0, 7201, 11385, 1},
|
||||
{1025, 0, 0, 7201, 11159, 25},
|
||||
{1050, 0, 0, 7201, 11382, 2},
|
||||
{1075, 0, 0, 7201, 11385, 1},
|
||||
{1100, 0, 0, 7201, 11160, 25},
|
||||
{1125, 0, 0, 7201, 11382, 2},
|
||||
{1150, 0, 0, 7201, 11385, 1},
|
||||
{1200, 0, 0, 7201, 11161, 25},
|
||||
{1235, 0, 0, 7201, 11382, 2},
|
||||
{1270, 0, 0, 7201, 11385, 1},
|
||||
{1305, 0, 0, 7201, 11159, 25},
|
||||
{1340, 0, 0, 7201, 11382, 2},
|
||||
{1375, 0, 0, 7201, 11385, 1},
|
||||
{1410, 0, 0, 7201, 11160, 25},
|
||||
{1445, 0, 0, 7201, 11382, 2},
|
||||
{1480, 0, 0, 7201, 11385, 1},
|
||||
{1500, 0, 0, 7201, 11161, 25},
|
||||
}
|
||||
default:
|
||||
//Covers all Pallone Requests... for now
|
||||
weeklySeibatuRankingRewardsData = []WeeklySeibatuRankingRewardData{
|
||||
//1st
|
||||
{1, 0, 0, 7202, 10, 10000},
|
||||
{1, 1, 0, 7201, 10, 30},
|
||||
{1, 1, 0, 7201, 10, 18},
|
||||
{1, 1, 0, 7201, 10, 18},
|
||||
//2nd - 3rd
|
||||
{2, 3, 0, 7202, 10, 6000},
|
||||
{2, 3, 0, 7201, 10, 15},
|
||||
{2, 3, 0, 7201, 10, 9},
|
||||
{2, 3, 0, 7201, 10, 9},
|
||||
//4th -10th
|
||||
{4, 10, 0, 7202, 10, 5500},
|
||||
{4, 10, 0, 7201, 10, 12},
|
||||
{4, 10, 0, 7201, 10, 9},
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
for _, reward := range weeklySeibatuRankingRewards {
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteInt32(reward.Unk0)
|
||||
bf.WriteInt32(reward.Unk1)
|
||||
bf.WriteUint32(reward.Unk2)
|
||||
bf.WriteInt32(reward.Unk3)
|
||||
bf.WriteInt32(reward.Unk4)
|
||||
bf.WriteInt32(reward.Unk5)
|
||||
data = append(data, bf)
|
||||
if pkt.Operation == 1 {
|
||||
for _, seibatuData := range weeklySeibatuRankingRewards {
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteInt32(seibatuData.Unk0)
|
||||
bf.WriteInt32(seibatuData.ItemID)
|
||||
bf.WriteUint32(seibatuData.Amount)
|
||||
bf.WriteInt32(seibatuData.PlaceFrom)
|
||||
bf.WriteInt32(seibatuData.PlaceTo)
|
||||
data = append(data, bf)
|
||||
}
|
||||
} else {
|
||||
for _, seibatuData := range weeklySeibatuRankingRewardsData {
|
||||
bf := byteframe.NewByteFrame()
|
||||
bf.WriteInt32(seibatuData.Index0)
|
||||
bf.WriteInt32(seibatuData.Index1)
|
||||
bf.WriteUint32(seibatuData.Index2)
|
||||
bf.WriteInt32(seibatuData.DistributionType)
|
||||
bf.WriteInt32(seibatuData.ItemID)
|
||||
bf.WriteInt32(seibatuData.Amount)
|
||||
data = append(data, bf)
|
||||
}
|
||||
}
|
||||
|
||||
doAckEarthSucceed(s, pkt.AckHandle, data)
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user