update stats/eco

This commit is contained in:
shoopea
2021-12-04 17:14:32 +08:00
parent 7e3b0bf414
commit 0a4b2f44fe
3 changed files with 121 additions and 5 deletions

104
packet.go
View File

@@ -211,6 +211,36 @@ type PacketServerCompanyRemove struct {
Reason uint8
}
type PacketServerCompanyEconomy struct {
Packet
CompanyID uint8
Money uint64
Loan uint64
Income int64
DeliveredCargoThisQuarter uint16
CompanyValueLastQuarter uint64
PerformanceLastQuarter uint16
DeliveredCargoLastQuarter uint16
CompanyValuePreviousQuarter uint64
PerformancePreviousQuarter uint16
DeliveredCargoPreviousQuarter uint16
}
type PacketServerCompanyStats struct {
Packet
CompanyID uint8
Trains uint16
Lorries uint16
Busses uint16
Planes uint16
Ships uint16
TrainStations uint16
LorryStations uint16
BusStops uint16
Airports uint16
Harbours uint16
}
type PacketServerChat struct {
Packet
ActionID uint8
@@ -488,6 +518,80 @@ func (p *PacketServerCompanyRemove) Read(b []byte) {
p.Reason = uint8(c)
}
func (p *PacketServerCompanyEconomy) Read(b []byte) {
r := bufio.NewReader(bytes.NewReader(b))
r.Discard(3)
c, _ := r.ReadByte()
p.CompanyID = uint8(c)
bs := make([]byte, 8)
_, _ = r.Read(bs)
p.Money = binary.LittleEndian.Uint64(bs[0:])
bs = make([]byte, 8)
_, _ = r.Read(bs)
p.Loan = binary.LittleEndian.Uint64(bs[0:])
bs = make([]byte, 8)
_, _ = r.Read(bs)
p.Income = int64(binary.LittleEndian.Uint64(bs[0:]))
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.DeliveredCargoThisQuarter = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 8)
_, _ = r.Read(bs)
p.CompanyValueLastQuarter = binary.LittleEndian.Uint64(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.PerformanceLastQuarter = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.DeliveredCargoLastQuarter = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 8)
_, _ = r.Read(bs)
p.CompanyValuePreviousQuarter = binary.LittleEndian.Uint64(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.PerformancePreviousQuarter = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.DeliveredCargoPreviousQuarter = binary.LittleEndian.Uint16(bs[0:])
}
func (p *PacketServerCompanyStats) Read(b []byte) {
r := bufio.NewReader(bytes.NewReader(b))
r.Discard(3)
c, _ := r.ReadByte()
p.CompanyID = uint8(c)
bs := make([]byte, 2)
_, _ = r.Read(bs)
p.Trains = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Lorries = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Busses = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Planes = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Ships = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.TrainStations = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.LorryStations = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.BusStops = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Airports = binary.LittleEndian.Uint16(bs[0:])
bs = make([]byte, 2)
_, _ = r.Read(bs)
p.Harbours = binary.LittleEndian.Uint16(bs[0:])
}
func (p *PacketServerChat) Read(b []byte) {
r := bufio.NewReader(bytes.NewReader(b))
r.Discard(3)